PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.7
Booking for Appointments and Events Calendar – Amelia v2.4.7
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 / public / Cabinet / common / Authentication / parts / SetPassSuccess.vue
ameliabooking / v3 / src / views / public / Cabinet / common / Authentication / parts Last commit date
SendAccessLink.vue 1 month ago SendAccessLinkSuccess.vue 1 month ago SetPass.vue 1 month ago SetPassSuccess.vue 1 month ago SignIn.vue 1 month ago Skeleton.vue 1 month ago
SetPassSuccess.vue
197 lines
1 <template>
2 <div class="am-asi" :style="cssVars">
3 <div class="am-asi__top">
4 <div class="am-asi__img">
5 <span class="am-icon-check"></span>
6 </div>
7 <div class="am-asi__header">
8 {{ amLabels.new_password_changed }}
9 </div>
10 <div class="am-asi__text">
11 {{ amLabels.new_password_changed_description }}
12 </div>
13 </div>
14
15 <AmButton
16 class="am-asi__btn"
17 :type="amCustomize.setPassSuccess.options.signInBtn.buttonType"
18 @click="pageKey = 'signIn'"
19 >
20 {{ amLabels.sign_in }}
21 </AmButton>
22 </div>
23 </template>
24
25 <script setup>
26 // * import from Vue
27 import { reactive, computed, inject } from 'vue'
28
29 // * Composables
30 import { useColorTransparency } from '../../../../../../assets/js/common/colorManipulation.js'
31
32 // * Components
33 import AmButton from '../../../../../_components/button/AmButton.vue'
34
35 // * Root Settings
36 const amSettings = inject('settings')
37
38 // * Customized form data
39 let amCustomize = inject('amCustomize')
40
41 // * labels
42 const labels = inject('labels')
43
44 // * local language short code
45 const localLanguage = inject('localLanguage')
46
47 // * if local lang is in settings lang
48 let langDetection = computed(() => amSettings.general.usedLanguages.includes(localLanguage.value))
49
50 // * Computed labels
51 let amLabels = computed(() => {
52 let computedLabels = reactive({ ...labels })
53
54 let customizedLabels = amCustomize.value.setPassSuccess.translations
55 if (customizedLabels) {
56 Object.keys(customizedLabels).forEach((labelKey) => {
57 if (customizedLabels[labelKey][localLanguage.value] && langDetection.value) {
58 computedLabels[labelKey] = customizedLabels[labelKey][localLanguage.value]
59 } else if (customizedLabels[labelKey].default) {
60 computedLabels[labelKey] = customizedLabels[labelKey].default
61 }
62 })
63 }
64 return computedLabels
65 })
66
67 /********
68 * Form *
69 ********/
70 // * Page key
71 let pageKey = inject('pageKey')
72
73 /*************
74 * Customize *
75 *************/
76 // * Fonts
77 let amFonts = inject('amFonts')
78
79 // * Colors block
80 let amColors = inject('amColors')
81
82 let cssVars = computed(() => {
83 return {
84 '--am-c-primary': amColors.value.colorPrimary,
85 '--am-c-success': amColors.value.colorSuccess,
86 '--am-c-error': amColors.value.colorError,
87 '--am-c-warning': amColors.value.colorWarning,
88 '--am-c-main-bgr': amColors.value.colorMainBgr,
89 '--am-c-main-heading-text': amColors.value.colorMainHeadingText,
90 '--am-c-main-text': amColors.value.colorMainText,
91 '--am-c-main-text-op70': useColorTransparency(amColors.value.colorMainText, 0.7),
92 '--am-c-main-text-op60': useColorTransparency(amColors.value.colorMainText, 0.6),
93 '--am-c-main-text-op40': useColorTransparency(amColors.value.colorMainText, 0.4),
94 '--am-c-main-text-op25': useColorTransparency(amColors.value.colorMainText, 0.25),
95 '--am-c-btn-prim': amColors.value.colorBtnPrim,
96 '--am-c-btn-prim-text': amColors.value.colorBtnPrimText,
97 '--am-c-skeleton-op20': useColorTransparency(amColors.value.colorMainText, 0.2),
98 '--am-c-skeleton-op60': useColorTransparency(amColors.value.colorMainText, 0.6),
99 '--am-font-family': amFonts.value.fontFamily,
100
101 '--am-c-scroll-op30': useColorTransparency(amColors.value.colorPrimary, 0.3),
102 '--am-c-scroll-op10': useColorTransparency(amColors.value.colorPrimary, 0.1),
103 }
104 })
105 </script>
106
107 <script>
108 export default {
109 name: 'ChangePassSuccess',
110 }
111 </script>
112
113 <style lang="scss">
114 @import '../../../../../../assets/scss/common/icon-fonts/style';
115 // am - amelia
116 // asi - authentication sign in
117 @mixin auth {
118 .am-asi {
119 max-width: 400px;
120 width: 100%;
121 background-color: var(--am-c-main-bgr);
122 box-shadow:
123 0 0 9px -4px var(--am-c-main-text-op40),
124 0px 17px 35px -12px var(--am-c-main-text-op25);
125 border-radius: 12px;
126 padding: 32px 24px 24px;
127 margin: 0 auto;
128 font-family: var(--am-font-family);
129
130 * {
131 font-family: var(--am-font-family);
132 box-sizing: border-box;
133 }
134
135 &__top {
136 display: flex;
137 flex-direction: column;
138 align-items: center;
139 margin: 0 0 24px;
140 }
141
142 &__img {
143 span {
144 position: relative;
145 font-size: 42px;
146 border-radius: 50%;
147 color: var(--am-c-success);
148
149 &:after {
150 content: '';
151 position: absolute;
152 top: 50%;
153 left: 50%;
154 transform: translate(-50%, -50%);
155 display: block;
156 border-radius: 50%;
157 width: 33px;
158 height: 33px;
159 border: 3px solid var(--am-c-success);
160 }
161 }
162 }
163
164 &__header {
165 font-size: 24px;
166 font-weight: 500;
167 line-height: 1.33333;
168 color: var(--am-c-main-heading-text);
169 margin: 0 0 4px;
170 }
171
172 &__text {
173 font-size: 15px;
174 font-weight: 400;
175 line-height: 1.6;
176 text-align: center;
177 color: var(--am-c-main-text-op70);
178 }
179
180 &__btn {
181 width: 100%;
182 margin: 16px 0;
183 }
184 }
185 }
186
187 // Public
188 .amelia-v2-booking #amelia-container {
189 @include auth;
190 }
191
192 // Admin
193 #amelia-app-backend-new {
194 @include auth;
195 }
196 </style>
197