PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / v3 / src / views / public / EventForm / Common / Parts / EventEmployee.vue
ameliabooking / v3 / src / views / public / EventForm / Common / Parts Last commit date
BringingAnyone.vue 1 month ago DescriptionItem.vue 1 month ago EmptyState.vue 1 month ago EventCard.vue 1 month ago EventEmployee.vue 1 month ago EventTicket.vue 1 month ago GalleryCarousel.vue 1 month ago
EventEmployee.vue
151 lines
1 <template>
2 <div v-if="Object.keys(props.employee).length" class="am-eli__organizer">
3 <el-divider v-if="props.divider" />
4 <div class="am-eli__organizer-item">
5 <span
6 class="am-eli__organizer-img"
7 :style="{ backgroundImage: `url(${props.employee.pictureThumbPath})` }"
8 >
9 {{ employeeInitials }}
10 </span>
11 <div class="am-eli__organizer-inner">
12 <p class="am-eli__organizer-name">
13 {{ `${props.employee.firstName} ${props.employee.lastName}` }}
14 <span
15 v-if="props.employee.badge"
16 :style="{ background: props.employee.badge.color }"
17 class="am-eli__organizer-badge"
18 >
19 {{ props.employee.badge.content }}
20 </span>
21 </p>
22 <p v-if="props.rank" class="am-eli__organizer-rank">
23 {{ props.rank }}
24 </p>
25 </div>
26 </div>
27
28 <DescriptionItem
29 :title="props.customizedLabels.about"
30 :description="props.employee.description"
31 :customized-labels="props.customizedLabels"
32 :limit="250"
33 ></DescriptionItem>
34 </div>
35 </template>
36
37 <script setup>
38 import DescriptionItem from './DescriptionItem.vue'
39
40 import { computed } from 'vue'
41
42 let props = defineProps({
43 customizedLabels: {
44 type: Object,
45 required: true,
46 },
47 employee: {
48 type: Object,
49 required: true,
50 },
51 rank: {
52 type: String,
53 default: '',
54 },
55 divider: {
56 type: Boolean,
57 default: false,
58 },
59 })
60
61 let employeeInitials = computed(() => {
62 let initials = ''
63 if (props.employee && !props.employee.pictureThumbPath) {
64 let fullName = `${props.employee.firstName} ${props.employee.lastName}`
65 fullName.split(' ').forEach((item) => {
66 initials += item.charAt(0).toUpperCase()
67 })
68 }
69 return initials
70 })
71 </script>
72
73 <script>
74 export default {
75 name: 'EventEmployee',
76 }
77 </script>
78
79 <style lang="scss">
80 @mixin event-employee {
81 // eli - event list info
82 .am-eli {
83 &__organizer {
84 .el-divider {
85 margin-bottom: 16px;
86 border-top: 1px solid var(--am-c-card-border);
87 }
88
89 &-item {
90 display: flex;
91 flex-direction: row;
92 align-items: center;
93 margin-bottom: 16px;
94 }
95
96 &-img {
97 display: inline-flex;
98 align-items: center;
99 justify-content: center;
100 background-color: var(--am-c-eli-primary);
101 color: var(--am-c-eli-bgr);
102 width: 48px;
103 height: 48px;
104 border-radius: 50%;
105 margin-right: 16px;
106 font-size: 14px;
107 font-weight: 500;
108 overflow: hidden;
109 background-size: cover;
110 background-repeat: no-repeat;
111 background-position: center;
112 }
113
114 &-name {
115 font-size: 15px;
116 font-weight: 500;
117 line-height: 1.6;
118 color: var(--am-c-eli-text-op90);
119 margin: 0;
120 }
121
122 &-badge {
123 color: #fff;
124 border-radius: 4px;
125 padding: 0 4px;
126 font-size: 13px;
127 line-height: 19px;
128 }
129
130 &-rank {
131 font-size: 15px;
132 font-weight: 400;
133 line-height: 1.6;
134 color: var(--am-c-eli-text-op60);
135 margin: 0;
136 }
137 }
138 }
139 }
140
141 // Public
142 .amelia-v2-booking #amelia-container {
143 @include event-employee;
144 }
145
146 // Admin
147 #amelia-app-backend-new {
148 @include event-employee;
149 }
150 </style>
151