@tapni/auth 1.0.50 → 1.0.53
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/dist/.vite/manifest.json +10 -10
- package/dist/{Apps-DyDHRehu.js → Apps-CZ2op1LG.js} +1 -1
- package/dist/{Billing-wTlBU1az.js → Billing-DV1Hs3lz.js} +1 -1
- package/dist/{CustomApp-CjjOiY2H.js → CustomApp-BYs5VWm4.js} +1 -1
- package/dist/{QR-DKPnI_w_.js → QR-Df7yi4HX.js} +1 -1
- package/dist/TapniAuth.es.js +1 -1
- package/dist/TapniAuth.umd.js +7 -7
- package/dist/{install-ky680-yM.js → install-CxwvMS0_.js} +910 -901
- package/package.json +65 -65
- package/src/App.vue +241 -258
- package/src/main.js +1 -1
- package/src/views/General.vue +14 -7
- package/src/views/Login.vue +0 -1
package/src/App.vue
CHANGED
|
@@ -1,333 +1,316 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { RouterView } from 'vue-router'
|
|
2
|
+
import { RouterView } from 'vue-router';
|
|
3
3
|
// add Buffer globally
|
|
4
4
|
import { Buffer } from 'buffer/';
|
|
5
5
|
window.Buffer = Buffer;
|
|
6
|
-
document.addEventListener('DOMContentLoaded', function() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
document.addEventListener('DOMContentLoaded', function () {
|
|
7
|
+
const recaptchaScript = document.createElement('script');
|
|
8
|
+
recaptchaScript.src = `https://www.google.com/recaptcha/api.js?render=${import.meta.env.VITE_GOOGLE_RECAPTCHA_SITE_KEY}`;
|
|
9
|
+
document.head.appendChild(recaptchaScript);
|
|
10
10
|
});
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
|
-
|
|
14
13
|
<template>
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
<div id="ssoapp">
|
|
15
|
+
<a v-if="display === 'redirect' || renderView.includes('Auth')" href="/" class="header-logo"><img src="https://cdn.tapni.co/images/logo-dark.png" class="header-logo-img" /></a>
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
<AuthWelcome v-if="initialized && renderView === 'AuthWelcome'" />
|
|
18
|
+
<AuthLogin v-else-if="initialized && renderView === 'AuthLogin'" :isModal="isModal" />
|
|
19
|
+
<AuthGeneral v-else-if="initialized && renderView === 'AuthGeneral'" :isModal="isModal" @update:viewProp="setView" />
|
|
20
|
+
<AuthAccount v-else-if="initialized && renderView === 'AuthAccount'" :isModal="isModal" @update:viewProp="setView" />
|
|
21
|
+
<AuthRegister v-else-if="initialized && renderView === 'AuthRegister'" :isModal="isModal" />
|
|
22
|
+
<AuthVerify v-else-if="initialized && renderView === 'AuthVerify'" :isModal="isModal" />
|
|
23
|
+
<AuthSecurity v-else-if="initialized && renderView === 'AuthSecurity'" :isModal="isModal" :payload="payload" @update:viewProp="setView" />
|
|
24
|
+
<AuthReset v-else-if="initialized && renderView === 'AuthReset'" />
|
|
25
|
+
<AuthCallback v-else-if="initialized && renderView === 'AuthCallback'" />
|
|
26
|
+
<RouterView v-else-if="display !== 'npm'" />
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
style="width: 100%;"
|
|
45
|
-
/>
|
|
46
|
-
</a>
|
|
47
|
-
</p>
|
|
48
|
-
<p class="snack-body" id="successSnack">
|
|
49
|
-
<span id="successMessage"> {{ ssoLang[appLanguage].success }} </span>
|
|
50
|
-
<a
|
|
51
|
-
@click="closeSnacks"
|
|
52
|
-
style="
|
|
53
|
-
position: absolute;
|
|
54
|
-
right: 10px;
|
|
55
|
-
top: 10px;
|
|
56
|
-
width: 50px;
|
|
57
|
-
height: 50px;
|
|
58
|
-
"
|
|
59
|
-
>
|
|
60
|
-
<img
|
|
61
|
-
src="https://cdn.tapni.co/icons/notification-close.png"
|
|
62
|
-
style="width: 100%"
|
|
63
|
-
/>
|
|
64
|
-
</a>
|
|
65
|
-
</p>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
28
|
+
<div class="snackbar snackbar-boxed" id="snackbar">
|
|
29
|
+
<p class="snack-body" id="errorSnack">
|
|
30
|
+
<span id="errorMessage"> {{ ssoLang[appLanguage].error }} </span>
|
|
31
|
+
<a @click="closeSnacks" style="position: absolute; right: 10px; top: 10px; width: 50px; height: 50px">
|
|
32
|
+
<img src="https://cdn.tapni.co/icons/notification-close.png" style="width: 100%" />
|
|
33
|
+
</a>
|
|
34
|
+
</p>
|
|
35
|
+
<p class="snack-body" id="successSnack">
|
|
36
|
+
<span id="successMessage"> {{ ssoLang[appLanguage].success }} </span>
|
|
37
|
+
<a @click="closeSnacks" style="position: absolute; right: 10px; top: 10px; width: 50px; height: 50px">
|
|
38
|
+
<img src="https://cdn.tapni.co/icons/notification-close.png" style="width: 100%" />
|
|
39
|
+
</a>
|
|
40
|
+
</p>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
68
43
|
</template>
|
|
69
44
|
|
|
70
45
|
<script>
|
|
71
|
-
import AuthWelcome from
|
|
72
|
-
import AuthLogin from
|
|
73
|
-
import AuthAccount from
|
|
74
|
-
import AuthRegister from
|
|
75
|
-
import AuthVerify from
|
|
76
|
-
import AuthSecurity from
|
|
77
|
-
import AuthGeneral from
|
|
78
|
-
import AuthReset from
|
|
79
|
-
import AuthCallback from
|
|
80
|
-
import {EventBus} from
|
|
81
|
-
import AuthMixin from
|
|
82
|
-
import ReactiveStorage from '@tapni/capacitor-reactive-localstorage-vue3'
|
|
46
|
+
import AuthWelcome from '@/views/Welcome.vue';
|
|
47
|
+
import AuthLogin from '@/views/Login.vue';
|
|
48
|
+
import AuthAccount from '@/views/Account.vue';
|
|
49
|
+
import AuthRegister from '@/views/Register.vue';
|
|
50
|
+
import AuthVerify from '@/views/Verify.vue';
|
|
51
|
+
import AuthSecurity from '@/views/Security.vue';
|
|
52
|
+
import AuthGeneral from '@/views/General.vue';
|
|
53
|
+
import AuthReset from '@/views/Reset.vue';
|
|
54
|
+
import AuthCallback from '@/views/Callback.vue';
|
|
55
|
+
import { EventBus } from './store/event-bus.js';
|
|
56
|
+
import AuthMixin from '@/mixins/auth.mixin.js';
|
|
57
|
+
import ReactiveStorage from '@tapni/capacitor-reactive-localstorage-vue3';
|
|
83
58
|
import store from './store/auth.js';
|
|
84
59
|
import UtilService from './services/UtilService.js';
|
|
85
60
|
|
|
86
61
|
export default {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
62
|
+
store,
|
|
63
|
+
name: 'TapniAuth',
|
|
64
|
+
mixins: [ReactiveStorage, AuthMixin],
|
|
65
|
+
data() {
|
|
66
|
+
return {
|
|
67
|
+
storeInterval: null,
|
|
68
|
+
isSetup: false
|
|
69
|
+
};
|
|
70
|
+
},
|
|
71
|
+
components: {
|
|
72
|
+
AuthCallback,
|
|
73
|
+
AuthReset,
|
|
74
|
+
AuthVerify,
|
|
75
|
+
AuthSecurity,
|
|
76
|
+
AuthRegister,
|
|
77
|
+
AuthLogin,
|
|
78
|
+
AuthAccount,
|
|
79
|
+
AuthWelcome,
|
|
80
|
+
AuthGeneral
|
|
81
|
+
},
|
|
82
|
+
props: {
|
|
83
|
+
viewProp: {
|
|
84
|
+
type: String,
|
|
85
|
+
default: ''
|
|
86
|
+
},
|
|
87
|
+
isModal: {
|
|
88
|
+
type: Boolean,
|
|
89
|
+
default: false
|
|
90
|
+
},
|
|
91
|
+
payload: {
|
|
92
|
+
type: Object,
|
|
93
|
+
default: {}
|
|
94
|
+
},
|
|
95
|
+
options: {
|
|
96
|
+
type: Object,
|
|
97
|
+
default: {
|
|
98
|
+
token: '',
|
|
99
|
+
refreshTokens: '',
|
|
100
|
+
username: '',
|
|
101
|
+
UserId: '',
|
|
102
|
+
verifyEmail: '',
|
|
103
|
+
subdomain: '',
|
|
104
|
+
localUser: ''
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
computed: {
|
|
109
|
+
initialized() {
|
|
110
|
+
return this.isSetup || this.isModal;
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
async mounted() {
|
|
114
|
+
this.applyBgStyle();
|
|
115
|
+
this.setView(this.viewProp);
|
|
133
116
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
117
|
+
EventBus.$on('ssoEvent', this.ssoOutgoingEvent);
|
|
118
|
+
EventBus.$on('ssoLogout', (data) => this.logout(data));
|
|
119
|
+
EventBus.$on('getLoggedInAccounts', () => this.getLoggedInAccounts());
|
|
120
|
+
EventBus.$on('refreshTokenAction', (data) => this.refreshTokenAction({ ...data, storage: this.$storex }));
|
|
121
|
+
EventBus.$on('switchAccount', (data) => this.switchAccount(data));
|
|
122
|
+
EventBus.$on('setToken', (data) => this.setToken(data));
|
|
123
|
+
EventBus.$on('setStorageItem', (data) => this.setStorageItem(data));
|
|
141
124
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
125
|
+
if (import.meta.env.VITE_APP_COMPARE_LANGUAGE_KEYS === 'true') {
|
|
126
|
+
UtilService.compareLangKeys();
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
methods: {
|
|
130
|
+
async init() {
|
|
131
|
+
this.$store.commit('auth/setApiRoot', this.$apiRoot || process.env.VUE_APP_API_ROOT);
|
|
149
132
|
|
|
150
|
-
|
|
151
|
-
|
|
133
|
+
// Set $storage into vuex $storex
|
|
134
|
+
this.setStorage(this.strg);
|
|
152
135
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
136
|
+
// Make sure the function is called just once
|
|
137
|
+
if (this.isSetup) return;
|
|
138
|
+
this.isSetup = true;
|
|
156
139
|
|
|
157
|
-
|
|
140
|
+
await this.getLoggedInAccounts();
|
|
158
141
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
142
|
+
// Let App know that the auth is ready
|
|
143
|
+
this.$emit('ssoLibraryReady', this.$storex);
|
|
144
|
+
},
|
|
145
|
+
ssoOutgoingEvent(data) {
|
|
146
|
+
this.$emit('ssoEvent', data);
|
|
147
|
+
},
|
|
148
|
+
ssoIncomingEvent(data) {
|
|
149
|
+
EventBus.$emit(data.name, data.data);
|
|
150
|
+
},
|
|
151
|
+
applyBgStyle() {
|
|
152
|
+
if (this.display === 'redirect') {
|
|
153
|
+
document.getElementsByTagName('html')[0].style = 'background: #dfeefe;';
|
|
154
|
+
} else {
|
|
155
|
+
document.getElementsByTagName('html')[0].style = '';
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
watch: {
|
|
160
|
+
viewProp(nv) {
|
|
161
|
+
this.setView(nv);
|
|
162
|
+
},
|
|
163
|
+
display() {
|
|
164
|
+
this.applyBgStyle();
|
|
165
|
+
},
|
|
166
|
+
'strgReady.value'(nv) {
|
|
167
|
+
if (nv) {
|
|
168
|
+
// Initialize Library after all event listeners & storage are set
|
|
169
|
+
this.$nextTick(() => {
|
|
170
|
+
this.init();
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
$storex: {
|
|
175
|
+
handler(nv) {
|
|
176
|
+
clearInterval(this.storeInterval);
|
|
177
|
+
this.storeInterval = setTimeout(() => {
|
|
178
|
+
Object.keys(nv).forEach((key) => {
|
|
179
|
+
this.strg[key] = nv[key];
|
|
180
|
+
});
|
|
181
|
+
}, 250);
|
|
182
|
+
},
|
|
183
|
+
deep: true
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
204
187
|
</script>
|
|
205
188
|
|
|
206
189
|
<style>
|
|
207
190
|
html * {
|
|
208
|
-
|
|
191
|
+
font-family: 'Inter', sans-serif;
|
|
209
192
|
}
|
|
210
193
|
|
|
211
194
|
#bodyId {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
195
|
+
padding-top: 3%;
|
|
196
|
+
max-width: 667px !important;
|
|
197
|
+
margin: auto;
|
|
198
|
+
height: 95% !important;
|
|
199
|
+
margin-top: 1.5%;
|
|
200
|
+
border-radius: 20px;
|
|
218
201
|
}
|
|
219
202
|
|
|
220
203
|
.action-block-top .default-text,
|
|
221
204
|
.action-block-top .default-text:after {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
205
|
+
border-radius: 50%;
|
|
206
|
+
width: 10em !important;
|
|
207
|
+
height: 10em !important;
|
|
225
208
|
}
|
|
226
209
|
.action-block-top .default-text {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
210
|
+
margin: 10px auto;
|
|
211
|
+
font-size: 3px;
|
|
212
|
+
position: relative;
|
|
213
|
+
text-indent: -9999em;
|
|
214
|
+
/*
|
|
232
215
|
border-left: 0.5em solid #ffffff;
|
|
233
216
|
border-top: 0.5em solid rgba(255, 255, 255, 0.2);
|
|
234
217
|
border-right: 0.5em solid rgba(255, 255, 255, 0.2);
|
|
235
218
|
border-bottom: 0.5em solid rgba(255, 255, 255, 0.2);
|
|
236
219
|
*/
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
220
|
+
border-left: 0.5em solid #000000;
|
|
221
|
+
border-top: 0.5em solid rgba(0, 0, 0, 0.2);
|
|
222
|
+
border-right: 0.5em solid rgba(0, 0, 0, 0.2);
|
|
223
|
+
border-bottom: 0.5em solid rgba(0, 0, 0, 0.2);
|
|
224
|
+
-webkit-transform: translateZ(0);
|
|
225
|
+
-ms-transform: translateZ(0);
|
|
226
|
+
transform: translateZ(0);
|
|
227
|
+
-webkit-animation: load8 1.1s infinite linear;
|
|
228
|
+
animation: load8 1.1s infinite linear;
|
|
246
229
|
}
|
|
247
230
|
@-webkit-keyframes load8 {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
231
|
+
0% {
|
|
232
|
+
-webkit-transform: rotate(0deg);
|
|
233
|
+
transform: rotate(0deg);
|
|
234
|
+
}
|
|
235
|
+
100% {
|
|
236
|
+
-webkit-transform: rotate(360deg);
|
|
237
|
+
transform: rotate(360deg);
|
|
238
|
+
}
|
|
256
239
|
}
|
|
257
240
|
@keyframes load8 {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
241
|
+
0% {
|
|
242
|
+
-webkit-transform: rotate(0deg);
|
|
243
|
+
transform: rotate(0deg);
|
|
244
|
+
}
|
|
245
|
+
100% {
|
|
246
|
+
-webkit-transform: rotate(360deg);
|
|
247
|
+
transform: rotate(360deg);
|
|
248
|
+
}
|
|
266
249
|
}
|
|
267
250
|
.smartbanner-ios {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
251
|
+
background: linear-gradient(to bottom, #f4f4f4, #f4f4f4);
|
|
252
|
+
box-shadow: 0 0px 0px #ffffff;
|
|
253
|
+
border-bottom: 1px solid #dddddd;
|
|
271
254
|
}
|
|
272
255
|
.smartbanner-icon {
|
|
273
|
-
|
|
256
|
+
border-radius: 16px;
|
|
274
257
|
}
|
|
275
258
|
.smartbanner-ios .smartbanner-button {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
259
|
+
font-size: 13px;
|
|
260
|
+
padding: 9px 0px;
|
|
261
|
+
height: 40px;
|
|
262
|
+
border-radius: 13px;
|
|
263
|
+
background: #f4f4f4;
|
|
264
|
+
color: #0a99d2;
|
|
265
|
+
border: none;
|
|
266
|
+
box-shadow: none;
|
|
267
|
+
text-transform: uppercase;
|
|
285
268
|
}
|
|
286
269
|
|
|
287
270
|
.snack-body {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
271
|
+
display: none;
|
|
272
|
+
border-radius: 40px;
|
|
273
|
+
font-size: 15px !important;
|
|
291
274
|
}
|
|
292
275
|
|
|
293
276
|
#errorSnack {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
277
|
+
background-color: #fee3e3 !important;
|
|
278
|
+
border: 2px solid #edd9d9 !important;
|
|
279
|
+
color: #000000;
|
|
297
280
|
}
|
|
298
281
|
|
|
299
282
|
#successSnack {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
283
|
+
background-color: #eff5eb !important;
|
|
284
|
+
border: 2px solid #e3ecd7 !important;
|
|
285
|
+
color: #000000;
|
|
303
286
|
}
|
|
304
287
|
|
|
305
288
|
.grecaptcha-badge {
|
|
306
|
-
|
|
289
|
+
visibility: hidden;
|
|
307
290
|
}
|
|
308
291
|
|
|
309
292
|
.header-logo {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
293
|
+
position: absolute;
|
|
294
|
+
left: 50%;
|
|
295
|
+
transform: translate(-50%, -50%);
|
|
296
|
+
margin-top: 0px;
|
|
297
|
+
z-index: 2;
|
|
315
298
|
}
|
|
316
299
|
|
|
317
300
|
.header-logo-img {
|
|
318
|
-
|
|
319
|
-
|
|
301
|
+
height: 40px;
|
|
302
|
+
margin-top: 10px;
|
|
320
303
|
}
|
|
321
304
|
|
|
322
305
|
@media (max-width: 768px) {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
306
|
+
#bodyId {
|
|
307
|
+
margin-top: 0;
|
|
308
|
+
border-radius: 0;
|
|
309
|
+
height: 100% !important;
|
|
310
|
+
}
|
|
328
311
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
312
|
+
.header-logo {
|
|
313
|
+
margin-top: 15px;
|
|
314
|
+
}
|
|
332
315
|
}
|
|
333
316
|
</style>
|
package/src/main.js
CHANGED
|
@@ -45,7 +45,7 @@ router.beforeEach((to, from, next) => {
|
|
|
45
45
|
* @param data
|
|
46
46
|
*/
|
|
47
47
|
function redirectToProfile(data) {
|
|
48
|
-
if (data && data.url) {
|
|
48
|
+
if (data && data.url && data.url !== '/undefined') {
|
|
49
49
|
let url = new URL(data.url);
|
|
50
50
|
let pathname = url.pathname || '';
|
|
51
51
|
let queryParams = url.search || '';
|
package/src/views/General.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="page-login content-boxed content-boxed-padding tapni-auth-general">
|
|
2
|
+
<div class="page-login content-boxed content-boxed-padding tapni-auth-general" :style="containerStyle">
|
|
3
3
|
<a v-if="isModal" @click="close" class="color-black pull-right pointer" style="margin-top: 0px; position: absolute; right: -20px; text-align: right;">
|
|
4
4
|
<i class="font-17 color-black">
|
|
5
5
|
<img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 35%;"/>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</a>
|
|
8
8
|
<div class="subheaderContainer full-top">
|
|
9
9
|
<!-- Back Button -->
|
|
10
|
-
<div v-if="isModal" class="
|
|
10
|
+
<div v-if="isModal" class="pointer left-button" @click="$emit('update:viewProp', 'AuthAccount')">
|
|
11
11
|
<img
|
|
12
12
|
:src="getIcon('arrow-gray-right.svg')"
|
|
13
13
|
height="20"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
style="rotate: 180deg;"
|
|
17
17
|
/>
|
|
18
18
|
</div>
|
|
19
|
-
<router-link v-else to="/account" class="button gray-button pointer left-button">
|
|
19
|
+
<router-link v-else to="/account" class="button gray-button pointer left-button" >
|
|
20
20
|
<img
|
|
21
21
|
:src="getIcon('arrow-gray-right.svg')"
|
|
22
22
|
height="20"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
:isClearable="false"
|
|
64
64
|
placeholder="Select region"
|
|
65
65
|
/>
|
|
66
|
-
<p>Default currency for this region is {{account.billing?.currency?.toUpperCase()}}</p>
|
|
66
|
+
<p v-if="false">Default currency for this region is {{account.billing?.currency?.toUpperCase()}}</p>
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
<h3 class="full-top bold">{{ssoLang[appLanguage].app_language}}</h3>
|
|
@@ -131,6 +131,9 @@ export default {
|
|
|
131
131
|
handler(newLang) {
|
|
132
132
|
if (newLang) {
|
|
133
133
|
this.updateLang(newLang);
|
|
134
|
+
if (this.display === 'npm') {
|
|
135
|
+
this.$store.commit('setLanguage', newLang);
|
|
136
|
+
}
|
|
134
137
|
}
|
|
135
138
|
},
|
|
136
139
|
immediate: true
|
|
@@ -167,9 +170,13 @@ export default {
|
|
|
167
170
|
|
|
168
171
|
this.loading = false;
|
|
169
172
|
},
|
|
173
|
+
},
|
|
174
|
+
computed: {
|
|
175
|
+
containerStyle() {
|
|
176
|
+
return {
|
|
177
|
+
height: this.isModal ? '90vh' : 'auto'
|
|
178
|
+
}
|
|
179
|
+
}
|
|
170
180
|
}
|
|
171
181
|
};
|
|
172
182
|
</script>
|
|
173
|
-
|
|
174
|
-
<style>
|
|
175
|
-
</style>
|
package/src/views/Login.vue
CHANGED