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 / Parts / Congratulations / Skeleton / Skeleton.vue
ameliabooking / v3 / src / views / public / Parts / Congratulations / Skeleton Last commit date
Skeleton.vue 1 month ago
Skeleton.vue
92 lines
1 <template>
2 <!-- Skeleton -->
3 <el-skeleton animated class="am-skeleton-congratz">
4 <template #template>
5 <div class="am-skeleton-congratz-heading">
6 <el-skeleton-item variant="circle" />
7 <el-skeleton-item variant="h3" />
8 <el-skeleton-item variant="text" />
9 </div>
10 <div class="am-skeleton-congratz-booking-info">
11 <div
12 v-for="(item, i) in new Array(10)"
13 :key="item"
14 :class="{ 'am-customer-info': i === 6 }"
15 >
16 <el-skeleton-item
17 variant="text"
18 :style="{ width: `${useRandomIntFromInterval(14, 36)}%` }"
19 />
20 <el-skeleton-item
21 variant="text"
22 :style="{ width: `${useRandomIntFromInterval(14, 36)}%` }"
23 />
24 </div>
25 </div>
26 </template>
27 </el-skeleton>
28 <!-- /Skeleton -->
29 </template>
30
31 <script setup>
32 // * Composables
33 import { useRandomIntFromInterval } from '../../../../../assets/js/common/formatting.js'
34 </script>
35
36 <script>
37 export default {
38 name: 'LoadingSkeleton',
39 }
40 </script>
41
42 <style lang="scss">
43 @mixin congrats-skeleton-block {
44 .am-skeleton-congratz {
45 &-heading {
46 display: flex;
47 flex-direction: column;
48 align-items: center;
49 margin-bottom: 13px;
50
51 :first-child {
52 width: 52px;
53 height: 52px;
54 margin-bottom: 9px;
55 }
56
57 :nth-child(2) {
58 height: 28px;
59 max-width: 132px;
60 margin-bottom: 4px;
61 }
62
63 :last-child {
64 max-width: 148px;
65 height: 18px;
66 }
67 }
68
69 &-booking-info {
70 & > div {
71 display: flex;
72 justify-content: space-between;
73 margin-bottom: 12px;
74
75 .el-skeleton__item {
76 height: 20px;
77 }
78 }
79
80 .am-customer-info {
81 border-bottom: 1px solid var(--am-c-skeleton-op20);
82 padding-bottom: 12px;
83 }
84 }
85 }
86 }
87
88 .amelia-v2-booking #amelia-container {
89 @include congrats-skeleton-block;
90 }
91 </style>
92