PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
2.4.9 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 / admin / customize / steps / parts / PaymentCongratsInfo.vue
ameliabooking / v3 / src / views / admin / customize / steps / parts Last commit date
AddToCalendar.vue 1 month ago AppointmentInfo.vue 1 week ago AppointmentInfoService.vue 1 month ago Calendar.vue 1 month ago CartItemBody.vue 1 month ago CartItemHead.vue 1 month ago CustomerCongratsInfo.vue 1 month ago PackageInfo.vue 1 month ago PackageInfoService.vue 1 month ago PaymentCongratsInfo.vue 1 month ago PaymentPackageInfo.vue 1 month ago
PaymentCongratsInfo.vue
89 lines
1 <template>
2 <div class="am-congrats__info-item" :class="responsiveClass">
3 <span class="am-congrats__info-item__label">
4 {{ labelsDisplay('congrats_payment') }}
5 </span>
6 <span class="am-congrats__info-item__value">
7 {{ useFormattedPrice(245) }}
8 </span>
9 </div>
10 </template>
11
12 <script setup>
13 // * Import from Vue
14 import { inject, computed } from 'vue'
15
16 // * Composable
17 import { useFormattedPrice } from '../../../../../assets/js/common/formatting'
18 import { useResponsiveClass } from '../../../../../assets/js/common/responsive'
19 import { useReactiveCustomize } from '../../../../../assets/js/admin/useReactiveCustomize.js'
20
21 // * Customize Object
22 const { amCustomize } = useReactiveCustomize()
23
24 // * Form string recognition
25 let pageRenderKey = inject('pageRenderKey')
26
27 // * Form step string recognition
28 let stepName = inject('stepName')
29
30 // * Language string recognition
31 let langKey = inject('langKey')
32
33 // * Labels
34 let amLabels = inject('labels')
35
36 function labelsDisplay(label) {
37 let computedLabel = computed(() => {
38 let translations = amCustomize.value[pageRenderKey.value][stepName.value].translations
39 return translations && translations[label] && translations[label][langKey.value]
40 ? translations[label][langKey.value]
41 : amLabels[label]
42 })
43
44 return computedLabel.value
45 }
46
47 // * Responsive - Container Width
48 let cWidth = inject('containerWidth')
49
50 let componentWidth = computed(() => {
51 return cWidth.value
52 })
53
54 let responsiveClass = computed(() => useResponsiveClass(componentWidth.value))
55 </script>
56
57 <style lang="scss">
58 @mixin congrats-info-item-block {
59 .am-congrats__info-item {
60 display: flex;
61 align-items: center;
62 justify-content: space-between;
63 margin-bottom: 12px;
64
65 * {
66 font-size: 14px;
67 line-height: 1.42857;
68 }
69
70 &.am-rw-480 {
71 flex-direction: column;
72 align-items: flex-start;
73 }
74
75 &__label {
76 color: var(--am-c-atc-text-op40);
77 }
78
79 &__value {
80 color: var(--am-c-atc-text);
81 }
82 }
83 }
84
85 #amelia-app-backend-new #amelia-container {
86 @include congrats-info-item-block;
87 }
88 </style>
89