@burh/nuxt-core 1.0.16 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/sass/burh-ds/_global.scss +11 -0
- package/components/burh-ds/Cards/WelcomeCard.vue +67 -0
- package/components/burh-ds/Groups/SimpleProductGroup.vue +56 -0
- package/components/burh-ds/Inputs/BaseCheckbox.vue +73 -0
- package/components/burh-ds/Lists/ListAvatarCheckbox.vue +158 -0
- package/components/layouts/burh-ds/footer/StatusFooter.vue +105 -0
- package/package.json +1 -1
- package/components/Feed/Comment.vue +0 -50
|
@@ -89,6 +89,17 @@ body {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
.aria-text {
|
|
93
|
+
clip-path: inset(100%);
|
|
94
|
+
clip: rect(1px 1px 1px 1px); /* IE 6/7 */
|
|
95
|
+
clip: rect(1px, 1px, 1px, 1px);
|
|
96
|
+
height: 1px;
|
|
97
|
+
overflow: hidden;
|
|
98
|
+
position: absolute;
|
|
99
|
+
white-space: nowrap; /* added line */
|
|
100
|
+
width: 1px;
|
|
101
|
+
}
|
|
102
|
+
|
|
92
103
|
.printable__qrcode {
|
|
93
104
|
display: none;
|
|
94
105
|
@media only print {
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
<template>
|
|
3
|
+
<div class="card text-center align-items-center">
|
|
4
|
+
<div class="card-body card--content">
|
|
5
|
+
<h2 class="card-title mb-3 mx-md-5">{{title}}</h2>
|
|
6
|
+
<p class="card-text mb-4 text--initial mx-md-5">{{text}}.</p>
|
|
7
|
+
<div class="button--area">
|
|
8
|
+
<base-button outline type="primary" class="btn--flex" @click="$emit('more')">Saiba Mais</base-button>
|
|
9
|
+
<base-button type="primary" class="btn--flex ml-auto" @click="$emit('send')">Enviar Teste</base-button>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
</template>
|
|
15
|
+
<script>
|
|
16
|
+
export default {
|
|
17
|
+
name: 'welcome-card',
|
|
18
|
+
components: {
|
|
19
|
+
},
|
|
20
|
+
props:{
|
|
21
|
+
title: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: 'Seja Bem Vindo ao DISC Profiler'
|
|
24
|
+
},
|
|
25
|
+
text:{
|
|
26
|
+
type: String,
|
|
27
|
+
default: 'Todo colaborador tem um perfil de comportamento e competências. O Profiler é uma ferramenta completa para você identificar cada uma delas e assim formar equipes mais produtivas.'
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
data(){
|
|
31
|
+
return{
|
|
32
|
+
default: ''
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
</script>
|
|
37
|
+
<style lang="scss">
|
|
38
|
+
.text--initial{
|
|
39
|
+
text-align: initial;
|
|
40
|
+
}
|
|
41
|
+
.card--content{
|
|
42
|
+
@media screen and (min-width:768px){
|
|
43
|
+
width: 50%;
|
|
44
|
+
}
|
|
45
|
+
.button--area{
|
|
46
|
+
@media screen and (max-width:768px){
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-wrap: wrap;
|
|
49
|
+
}
|
|
50
|
+
.btn--flex{
|
|
51
|
+
@media screen and(max-width:768px){
|
|
52
|
+
font-size: 0.685rem;
|
|
53
|
+
display: flex;
|
|
54
|
+
}
|
|
55
|
+
@media screen and(max-width:320px){
|
|
56
|
+
font-size: 0.579rem;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
.card-title{
|
|
61
|
+
@media screen and (max-width:768px){
|
|
62
|
+
padding-left: 1.5rem;
|
|
63
|
+
padding-right: 1.5rem;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
</style>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<component :is="tag" class="product-group" @click="$emit('click-product')">
|
|
3
|
+
<img :src="avatar" :class="avatarClass" class="avatar avatar-xl rounded-circle product-group--avatar" :alt="`Logo do Produto ${title}`">
|
|
4
|
+
<main :class="contentClass" class="product-group--content">
|
|
5
|
+
<component :is="titleTag" :class="titleClass" class="product-group--title">{{title}}</component>
|
|
6
|
+
<p :class="descriptionClass" class="product-group--description" v-if="description">{{description}}</p>
|
|
7
|
+
<badge :class="badgeClass" v-if="badge">{{badge}}</badge>
|
|
8
|
+
</main>
|
|
9
|
+
</component >
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
export default {
|
|
14
|
+
name: 'simple-product-group',
|
|
15
|
+
props: {
|
|
16
|
+
tag: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: 'section'
|
|
19
|
+
},
|
|
20
|
+
contentClass: String,
|
|
21
|
+
title: String,
|
|
22
|
+
titleTag: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: 'h3'
|
|
25
|
+
},
|
|
26
|
+
titleClass: String,
|
|
27
|
+
avatar: String,
|
|
28
|
+
avatarClass: String,
|
|
29
|
+
description: String,
|
|
30
|
+
descriptionClass: String,
|
|
31
|
+
badge: String,
|
|
32
|
+
badgeClass: String,
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<style lang="scss">
|
|
38
|
+
|
|
39
|
+
.product-group {
|
|
40
|
+
display: inline-block;
|
|
41
|
+
|
|
42
|
+
&--avatar {
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&--title {
|
|
47
|
+
text-align: center;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
figure {
|
|
51
|
+
margin: 0;
|
|
52
|
+
padding: 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
</style>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div @click="clicked"
|
|
3
|
+
class="custom-control custom-checkbox"
|
|
4
|
+
:class="[
|
|
5
|
+
{disabled: disabled},
|
|
6
|
+
{[`custom-checkbox-${type}`]: type},inlineClass]">
|
|
7
|
+
<input :id="cbId"
|
|
8
|
+
class="custom-control-input"
|
|
9
|
+
:aria-label="ariaLabel"
|
|
10
|
+
:class="inputClasses"
|
|
11
|
+
type="checkbox"
|
|
12
|
+
:disabled="disabled"
|
|
13
|
+
v-model="touched"/>
|
|
14
|
+
<label :for="cbId" class="custom-control-label">
|
|
15
|
+
<slot>
|
|
16
|
+
<span v-if="inline"> </span>
|
|
17
|
+
</slot>
|
|
18
|
+
</label>
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
<script>
|
|
22
|
+
export default {
|
|
23
|
+
name: "base-checkbox",
|
|
24
|
+
props: {
|
|
25
|
+
checked: {
|
|
26
|
+
type: [Array, Boolean],
|
|
27
|
+
description: "Whether checkbox is checked",
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
disabled: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
description: "Whether checkbox is disabled"
|
|
33
|
+
},
|
|
34
|
+
ariaLabel: String,
|
|
35
|
+
inline: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
description: "Whether checkbox is inline"
|
|
38
|
+
},
|
|
39
|
+
inputClasses: {
|
|
40
|
+
type: [String, Object, Array],
|
|
41
|
+
description: "Checkbox input classes"
|
|
42
|
+
},
|
|
43
|
+
type: {
|
|
44
|
+
type: String,
|
|
45
|
+
description: 'Checkbox type (e.g info, danger etc)'
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
data() {
|
|
49
|
+
return {
|
|
50
|
+
cbId: "",
|
|
51
|
+
touched: this.checked,
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
computed: {
|
|
55
|
+
inlineClass() {
|
|
56
|
+
if (this.inline) {
|
|
57
|
+
return `form-check-inline`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
methods: {
|
|
62
|
+
clicked() {
|
|
63
|
+
this.touched = !this.touched;
|
|
64
|
+
this.$emit('input', this.touched);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
created() {
|
|
68
|
+
this.cbId = Math.random()
|
|
69
|
+
.toString(16)
|
|
70
|
+
.slice(2);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
</script>
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<h4 class="aria-text">Lista de {{context}}</h4>
|
|
4
|
+
<ul class="avatar-group d-inline-block">
|
|
5
|
+
<li class="avatar rounded-circle cursor-pointer" :class="{'avatar--selected' : isThereInSelecteds(obj.id) }" v-for="obj in getInlineAvatars" :key="obj.id" @click="setSelecteds(obj.id)">
|
|
6
|
+
<span class="aria-text" aria-label="nome usuário">{{obj.name}}</span>
|
|
7
|
+
<img :alt="`Imagem do ${context} ${obj.name}`" :src="obj.avatar">
|
|
8
|
+
</li>
|
|
9
|
+
</ul>
|
|
10
|
+
<h4 class="aria-text">Filtro de {{context}}</h4>
|
|
11
|
+
<el-dropdown :hide-on-click="false" trigger="click" class="avatar--listdrop" v-if="getAvatarToDropdown != null">
|
|
12
|
+
<button aria-label="Mostrar lista de filtros" class="avatar avatar--listdrop--item rounded-circle">
|
|
13
|
+
+{{getAvatarToDropdown.length}}
|
|
14
|
+
</button>
|
|
15
|
+
<el-dropdown-menu class="avatar--listdrop--group" slot="dropdown">
|
|
16
|
+
<el-dropdown-item v-for="obj in getAvatarToDropdown" :key="obj.id">
|
|
17
|
+
<base-checkbox class="my-2" v-on:input="setSelecteds(obj.id)">
|
|
18
|
+
<span class="avatar avatar-sm rounded-circle">
|
|
19
|
+
<img :alt="`Imagem do ${context} ${obj.name}`" :src="obj.avatar">
|
|
20
|
+
</span>
|
|
21
|
+
<p class="avatar--listdrop--item-name">{{obj.name}}</p>
|
|
22
|
+
</base-checkbox>
|
|
23
|
+
</el-dropdown-item>
|
|
24
|
+
</el-dropdown-menu>
|
|
25
|
+
</el-dropdown>
|
|
26
|
+
</div>
|
|
27
|
+
</template>
|
|
28
|
+
|
|
29
|
+
<script>
|
|
30
|
+
import { Dropdown, DropdownMenu, DropdownItem } from "element-ui";
|
|
31
|
+
import BaseCheckbox from "@burh/nuxt-core/components/burh-ds/Inputs/BaseCheckbox.vue";
|
|
32
|
+
|
|
33
|
+
export default {
|
|
34
|
+
components: {
|
|
35
|
+
[Dropdown.name]: Dropdown,
|
|
36
|
+
[DropdownItem.name]: DropdownItem,
|
|
37
|
+
[DropdownMenu.name]: DropdownMenu,
|
|
38
|
+
BaseCheckbox
|
|
39
|
+
},
|
|
40
|
+
props: {
|
|
41
|
+
context: {
|
|
42
|
+
type: String,
|
|
43
|
+
default: 'Usuarios'
|
|
44
|
+
},
|
|
45
|
+
limitShowInline: {
|
|
46
|
+
type: Number,
|
|
47
|
+
default: 3
|
|
48
|
+
},
|
|
49
|
+
avatars: {
|
|
50
|
+
type: Array,
|
|
51
|
+
default: () => [
|
|
52
|
+
{
|
|
53
|
+
id: 1,
|
|
54
|
+
name: 'Nome Gigante Para Quebrar Layout',
|
|
55
|
+
avatar: "https://demos.creative-tim.com/vue-argon-dashboard-pro//img/theme/team-1.jpg"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: 2,
|
|
59
|
+
name: 'Nome Gigante Para Quebrar Layout',
|
|
60
|
+
avatar: "https://demos.creative-tim.com/vue-argon-dashboard-pro//img/theme/team-1.jpg"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 3,
|
|
64
|
+
name: 'Nome Gigante Para Quebrar Layout',
|
|
65
|
+
avatar: "https://demos.creative-tim.com/vue-argon-dashboard-pro//img/theme/team-1.jpg"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 4,
|
|
69
|
+
name: 'Nome Gigante Para Quebrar Layout',
|
|
70
|
+
avatar: "https://demos.creative-tim.com/vue-argon-dashboard-pro//img/theme/team-1.jpg"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: 5,
|
|
74
|
+
name: 'Nome Gigante Para Quebrar Layout',
|
|
75
|
+
avatar: "https://demos.creative-tim.com/vue-argon-dashboard-pro//img/theme/team-1.jpg"
|
|
76
|
+
},
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
data() {
|
|
81
|
+
return {
|
|
82
|
+
selecteds: []
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
computed: {
|
|
86
|
+
getInlineAvatars() {
|
|
87
|
+
return this.avatars.slice(0, this.limitShowInline);
|
|
88
|
+
},
|
|
89
|
+
getAvatarToDropdown() {
|
|
90
|
+
return this.avatars.slice(this.limitShowInline)
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
methods: {
|
|
94
|
+
setSelecteds(id) {
|
|
95
|
+
if (!this.isThereInSelecteds(id)) {
|
|
96
|
+
this.selecteds.push(id);
|
|
97
|
+
}else {
|
|
98
|
+
this.removeItemFromSelecteds(id);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return this.$emit('selecteds', this.selecteds);
|
|
102
|
+
},
|
|
103
|
+
removeItemFromSelecteds(id) {
|
|
104
|
+
const positionInArray = this.selecteds.findIndex(e => e == id);
|
|
105
|
+
return this.selecteds.splice(positionInArray, 1);
|
|
106
|
+
},
|
|
107
|
+
isThereInSelecteds(id) {
|
|
108
|
+
return this.selecteds.includes(id)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
</script>
|
|
113
|
+
|
|
114
|
+
<style lang="scss">
|
|
115
|
+
@import "@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss";
|
|
116
|
+
|
|
117
|
+
.avatar {
|
|
118
|
+
&--listdrop {
|
|
119
|
+
display: inline-block;
|
|
120
|
+
top: -1rem;
|
|
121
|
+
left: -1rem;
|
|
122
|
+
z-index: 2;
|
|
123
|
+
cursor: pointer;
|
|
124
|
+
|
|
125
|
+
&--item {
|
|
126
|
+
&:focus {
|
|
127
|
+
outline: initial;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
&-name {
|
|
131
|
+
display: inline-block;
|
|
132
|
+
position: relative;
|
|
133
|
+
top: -.65rem;
|
|
134
|
+
left: .25rem;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&--group {
|
|
139
|
+
li {
|
|
140
|
+
line-height: 2.5rem;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.custom-control-label {
|
|
144
|
+
&:before,
|
|
145
|
+
&:after {
|
|
146
|
+
top: .75rem;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
&-group {
|
|
153
|
+
.avatar.avatar--selected {
|
|
154
|
+
border-color: $color-primary !important;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
</style>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="footer-simple dark w-100 border-top">
|
|
3
|
+
<div class="footer--container row px-3 m-0">
|
|
4
|
+
<div class="col-6 d-flex">
|
|
5
|
+
<p class="pt-4 pr-4 small text-white" v-if="vacancy.length == 1">{{vacancy.length}} vaga selecionada</p>
|
|
6
|
+
<p class="pt-4 pr-4 small text-white" v-else>{{vacancy.length}} vagas selecionadas</p>
|
|
7
|
+
<base-dropdown>
|
|
8
|
+
<base-button slot="title-container" type="primary" class="btn--small text-dark">
|
|
9
|
+
{{currentStatus.default}}
|
|
10
|
+
<i class="fas fa-long-arrow-alt-down"></i>
|
|
11
|
+
</base-button>
|
|
12
|
+
<a v-for="(status, index) in status" :key="index" @click="statusDefiner(status.description)" class="dropdown-item" href="#">{{status.description}}</a>
|
|
13
|
+
</base-dropdown>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="col-6 d-inline-flex">
|
|
16
|
+
<base-button slot="title-container" type="primary" @click="$emit('apply')" class="btn--small ml-auto round text-dark p-2 mx-2">
|
|
17
|
+
{{buttons[1].name}}
|
|
18
|
+
</base-button>
|
|
19
|
+
<base-button slot="title-container" type="default" @click="$emit('cancel')" class="btn--small round dark p-2 mx-2">
|
|
20
|
+
{{buttons[0].name}}
|
|
21
|
+
</base-button>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
<script>
|
|
27
|
+
export default {
|
|
28
|
+
props: {
|
|
29
|
+
vacancy:{
|
|
30
|
+
type: Array,
|
|
31
|
+
default: ()=>{
|
|
32
|
+
return [{id: 0, vacancydescription: 'Auxiliar de Corona Virus'}, {id: 1, vacancydescription: 'Corona Virus'}]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
btnForwardText: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: 'Ir para o checkout'
|
|
38
|
+
},
|
|
39
|
+
status:{
|
|
40
|
+
type: Array,
|
|
41
|
+
default: ()=>{
|
|
42
|
+
return [{description: 'Aberta'}, {description: 'Fechada'}]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
buttons:{
|
|
46
|
+
type: Array,
|
|
47
|
+
default:()=>{
|
|
48
|
+
return [{name: 'Cancelar'}, {name: 'Aplicar'}]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
data() {
|
|
53
|
+
return {
|
|
54
|
+
currentStatus: {
|
|
55
|
+
default: 'Definir Status'
|
|
56
|
+
},
|
|
57
|
+
year: new Date().getFullYear()
|
|
58
|
+
};
|
|
59
|
+
},
|
|
60
|
+
mounted(){
|
|
61
|
+
},
|
|
62
|
+
methods:{
|
|
63
|
+
statusDefiner(status){
|
|
64
|
+
let selectedStatus = status;
|
|
65
|
+
console.log(selectedStatus)
|
|
66
|
+
this.currentStatus.default = status;
|
|
67
|
+
},
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
</script>
|
|
71
|
+
<style lang="scss">
|
|
72
|
+
@import "~bootstrap/scss/functions.scss";
|
|
73
|
+
@import "~bootstrap/scss/mixins.scss";
|
|
74
|
+
@import "node_modules/@burh/nuxt-core/assets/sass/burh-ds/variables.scss";
|
|
75
|
+
@import "node_modules/@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss";
|
|
76
|
+
|
|
77
|
+
.btn--small{
|
|
78
|
+
font-size: 0.75rem !important;
|
|
79
|
+
background-color:$white;
|
|
80
|
+
border-color:$white;
|
|
81
|
+
border-radius: 0.5rem;
|
|
82
|
+
|
|
83
|
+
&.round{
|
|
84
|
+
border-radius: 1rem;
|
|
85
|
+
}
|
|
86
|
+
&.dark{
|
|
87
|
+
background-color: $default;
|
|
88
|
+
border-color:$default;
|
|
89
|
+
|
|
90
|
+
&:active{
|
|
91
|
+
background-color: $default !important;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
.footer-simple{
|
|
96
|
+
&.dark{
|
|
97
|
+
background-color: $default;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
.btn-primary:hover {
|
|
101
|
+
color: $white !important;
|
|
102
|
+
background-color: transparent !important;
|
|
103
|
+
border-color: $white !important;
|
|
104
|
+
}
|
|
105
|
+
</style>
|
package/package.json
CHANGED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="media media-comment">
|
|
3
|
-
<img alt="Image placeholder" class="avatar avatar-lg media-comment-avatar rounded-circle" :src="userImage">
|
|
4
|
-
<div class="media-body">
|
|
5
|
-
<div class="media-comment-text">
|
|
6
|
-
<h6 class="h5 mt-0">{{userName}}</h6>
|
|
7
|
-
<p class="text-sm lh-160" v-html="text"></p>
|
|
8
|
-
<div class="icon-actions">
|
|
9
|
-
<a href="#" class="like active">
|
|
10
|
-
<i class="ni ni-like-2"></i>
|
|
11
|
-
<span class="text-muted">{{likeCount}} likes</span>
|
|
12
|
-
</a>
|
|
13
|
-
<a href="#">
|
|
14
|
-
<i class="ni ni-curved-next"></i>
|
|
15
|
-
<span class="text-muted">{{shareCount}} shares</span>
|
|
16
|
-
</a>
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
</template>
|
|
22
|
-
<script>
|
|
23
|
-
export default {
|
|
24
|
-
name: 'comment',
|
|
25
|
-
props: {
|
|
26
|
-
userImage: {
|
|
27
|
-
type: String,
|
|
28
|
-
default: 'img/theme/team-1.jpg'
|
|
29
|
-
},
|
|
30
|
-
userName: {
|
|
31
|
-
type: String,
|
|
32
|
-
default: 'Michael Lewis'
|
|
33
|
-
},
|
|
34
|
-
text: {
|
|
35
|
-
type: String,
|
|
36
|
-
default: 'Cras sit amet nibh libero nulla vel metus scelerisque ante sollicitudin. Cras purus odio vestibulum in vulputate viverra turpis.'
|
|
37
|
-
},
|
|
38
|
-
likeCount: {
|
|
39
|
-
type: Number,
|
|
40
|
-
default: 0
|
|
41
|
-
},
|
|
42
|
-
shareCount: {
|
|
43
|
-
type: Number,
|
|
44
|
-
default: 0
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
</script>
|
|
49
|
-
<style>
|
|
50
|
-
</style>
|