@tapni/auth 0.0.31 → 0.0.33
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/TapniAuth.es.js +128 -131
- package/dist/TapniAuth.umd.js +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/App.vue +3 -3
- package/src/components/Language.vue +10 -10
- package/src/components/LinkIcon.vue +2 -2
- package/src/components/SSO.vue +4 -4
- package/src/components/SSOPick.vue +4 -4
- package/src/mixins/apple.mixin.js +1 -1
- package/src/mixins/auth.mixin.js +7 -10
- package/src/mixins/facebook.mixin.js +1 -1
- package/src/mixins/global.mixin.js +1 -1
- package/src/mixins/google.mixin.js +1 -1
- package/src/mixins/microsoft.mixin.js +1 -1
- package/src/mixins/okta.mixin.js +1 -1
- package/src/services/Api.js +2 -2
- package/src/views/Callback.vue +3 -3
- package/src/views/Login.vue +19 -19
- package/src/views/QR.vue +6 -6
- package/src/views/Register.vue +20 -20
- package/src/views/Reset.vue +15 -15
- package/src/views/Verify.vue +11 -11
- package/src/views/Welcome.vue +5 -5
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.app-store-icon[data-v-
|
|
1
|
+
.app-store-icon[data-v-806183a1]{box-shadow:0 4px 10px #00000017;border-radius:12px}#codeInput[data-v-a80e9eb1],#emailInput[data-v-a80e9eb1],#emailInput[data-v-7eff2bb3]{text-align:center;padding-right:15%;font-size:17px}.fade-enter-to[data-v-a128c2fa]{opacity:1}.sso-img[data-v-11f19a09]{margin:2px auto 0;width:35px}input[data-v-11f19a09]{margin:0 auto;height:25px}.sso-img[data-v-4f821f65]{margin:2px auto 0;width:35px}input[data-v-4f821f65]{margin:0 auto;height:25px}.link-grid,.user-link-img{width:100%;display:inline-table;position:relative}.link-grid{width:30%;margin:1.6%;padding:1.6%}.link-grid .user-link-img img{border-radius:25%!important}.link-grid .edit-icon{border-radius:20px;right:-3%;top:-3%;position:absolute;z-index:3;max-width:23%;overflow:hidden;min-width:30px}.link-grid .direct-icon{border-radius:20px;left:-3%;top:-3%;position:absolute;z-index:555;max-width:23%;overflow:hidden;min-width:30px}.link-grid .link-text{min-height:20px;margin-top:3px!important;display:block;text-align:center;line-height:normal;overflow-wrap:anywhere}.link-list{width:93%;max-height:67px!important;margin:0 auto;display:flex;border-radius:15px!important;background-color:#fff;border:solid 1px #e8e8e8;position:relative;align-items:center}.link-list .user-link-img{display:inline-block;width:65px;border-radius:25%!important}.link-list .link-text{display:inline-block;padding:18px 0% 17px 10%;font-size:15px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1;text-align:left;border-radius:15px!important}.link-list .edit-icon{border-radius:20px;right:7%;top:30%;position:absolute;z-index:3;width:26px;overflow:hidden}.link-list .switching{width:45px}.link-list .direct-icon{border-radius:20px;left:-2%;top:-13%;position:absolute;z-index:555;width:26px;overflow:hidden}.small{width:22%!important;margin:2% 4% 0%;padding:0%}.small .link-text{margin-top:0!important;font-size:13px}.linkExternal{margin-right:20px;width:20px;display:inline-block!important;height:20px;background:#000;-webkit-mask:url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;mask:url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;transform:scale(1.5)}.user-img[data-v-34a6b7b2]{margin:2px auto 0;width:65px}input[data-v-34a6b7b2]{margin:0 auto;height:25px}html *{font-family:Inter,sans-serif}.action-block-top .default-text,.action-block-top .default-text:after{border-radius:50%;width:10em!important;height:10em!important}.action-block-top .default-text{margin:10px auto;font-size:3px;position:relative;text-indent:-9999em;border-left:.5em solid #000000;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.1s infinite linear;animation:load8 1.1s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.smartbanner-ios{background:linear-gradient(to bottom,#f4f4f4,#f4f4f4);box-shadow:0 0 #fff;border-bottom:1px solid #dddddd}.smartbanner-icon{border-radius:16px}.smartbanner-ios .smartbanner-button{font-size:13px;padding:9px 0;height:40px;border-radius:13px;background:#f4f4f4;color:#0a99d2;border:none;box-shadow:none;text-transform:uppercase}.snack-body{display:none;border-radius:40px;font-size:15px!important}#errorSnack{background-color:#fee3e3!important;border:2px solid #edd9d9!important;color:#000}#successSnack{background-color:#eff5eb!important;border:2px solid #e3ecd7!important;color:#000}.grecaptcha-badge{visibility:hidden}.header-logo{position:absolute;left:50%;transform:translate(-50%,-50%);margin-top:0;z-index:2}.header-logo-img{height:40px;margin-top:10px}
|
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -17,7 +17,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
17
17
|
@click="toggleLanguageModal"
|
|
18
18
|
class="font-18 no-border pointer color-black"
|
|
19
19
|
style="position: absolute; right: 20px; top: -10px">
|
|
20
|
-
<span class="lang-icon">{{
|
|
20
|
+
<span class="lang-icon">{{ appLanguage.toUpperCase() }}</span>
|
|
21
21
|
</a>
|
|
22
22
|
|
|
23
23
|
|
|
@@ -36,7 +36,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
36
36
|
|
|
37
37
|
<div class="snackbar snackbar-boxed" id="snackbar">
|
|
38
38
|
<p class="snack-body" id="errorSnack">
|
|
39
|
-
<span id="errorMessage"> {{ ssoLang[
|
|
39
|
+
<span id="errorMessage"> {{ ssoLang[appLanguage].error }} </span>
|
|
40
40
|
<a
|
|
41
41
|
@click="closeSnacks"
|
|
42
42
|
style="
|
|
@@ -54,7 +54,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
54
54
|
</a>
|
|
55
55
|
</p>
|
|
56
56
|
<p class="snack-body" id="successSnack">
|
|
57
|
-
<span id="successMessage"> {{ ssoLang[
|
|
57
|
+
<span id="successMessage"> {{ ssoLang[appLanguage].success }} </span>
|
|
58
58
|
<a
|
|
59
59
|
@click="closeSnacks"
|
|
60
60
|
style="
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
</i>
|
|
19
19
|
</a>
|
|
20
20
|
<h3 class="bold center-text color-black small-bottom">
|
|
21
|
-
{{ ssoLang[
|
|
21
|
+
{{ ssoLang[appLanguage].app_language }}
|
|
22
22
|
</h3>
|
|
23
23
|
|
|
24
24
|
<LinkIcon
|
|
25
25
|
@click.native="updateLanguage('en')"
|
|
26
26
|
:link-style="'link-grid'"
|
|
27
|
-
:data="{ type: 'lang/en', text: ssoLang[this.
|
|
27
|
+
:data="{ type: 'lang/en', text: ssoLang[this.appLanguage].english }"
|
|
28
28
|
:editing="false"
|
|
29
29
|
:class="{ 'add-button': true }"
|
|
30
30
|
/>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<LinkIcon
|
|
33
33
|
@click.native="updateLanguage('es')"
|
|
34
34
|
:link-style="'link-grid'"
|
|
35
|
-
:data="{ type: 'lang/es', text: ssoLang[this.
|
|
35
|
+
:data="{ type: 'lang/es', text: ssoLang[this.appLanguage].spanish }"
|
|
36
36
|
:editing="false"
|
|
37
37
|
:class="{ 'add-button': true }"
|
|
38
38
|
/>
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<LinkIcon
|
|
41
41
|
@click.native="updateLanguage('de')"
|
|
42
42
|
:link-style="'link-grid'"
|
|
43
|
-
:data="{ type: 'lang/de', text: ssoLang[this.
|
|
43
|
+
:data="{ type: 'lang/de', text: ssoLang[this.appLanguage].german }"
|
|
44
44
|
:editing="false"
|
|
45
45
|
:class="{ 'add-button': true }"
|
|
46
46
|
/>
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
<LinkIcon
|
|
49
49
|
@click.native="updateLanguage('it')"
|
|
50
50
|
:link-style="'link-grid'"
|
|
51
|
-
:data="{ type: 'lang/it', text: ssoLang[this.
|
|
51
|
+
:data="{ type: 'lang/it', text: ssoLang[this.appLanguage].italian }"
|
|
52
52
|
:editing="false"
|
|
53
53
|
:class="{ 'add-button': true }"
|
|
54
54
|
/>
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
<LinkIcon
|
|
57
57
|
@click.native="updateLanguage('fr')"
|
|
58
58
|
:link-style="'link-grid'"
|
|
59
|
-
:data="{ type: 'lang/fr', text: ssoLang[this.
|
|
59
|
+
:data="{ type: 'lang/fr', text: ssoLang[this.appLanguage].french }"
|
|
60
60
|
:editing="false"
|
|
61
61
|
:class="{ 'add-button': true }"
|
|
62
62
|
/>
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<LinkIcon
|
|
65
65
|
@click.native="updateLanguage('kr')"
|
|
66
66
|
:link-style="'link-grid'"
|
|
67
|
-
:data="{ type: 'lang/kr', text: ssoLang[this.
|
|
67
|
+
:data="{ type: 'lang/kr', text: ssoLang[this.appLanguage].korean }"
|
|
68
68
|
:editing="false"
|
|
69
69
|
:class="{ 'add-button': true }"
|
|
70
70
|
/>
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
<LinkIcon
|
|
73
73
|
@click.native="updateLanguage('sr')"
|
|
74
74
|
:link-style="'link-grid'"
|
|
75
|
-
:data="{ type: 'lang/sr', text: ssoLang[this.
|
|
75
|
+
:data="{ type: 'lang/sr', text: ssoLang[this.appLanguage].serbian }"
|
|
76
76
|
:editing="false"
|
|
77
77
|
:class="{ 'add-button': true }"
|
|
78
78
|
/>
|
|
@@ -80,14 +80,14 @@
|
|
|
80
80
|
<LinkIcon
|
|
81
81
|
@click.native="updateLanguage('tr')"
|
|
82
82
|
:link-style="'link-grid'"
|
|
83
|
-
:data="{ type: 'lang/tr', text: ssoLang[this.
|
|
83
|
+
:data="{ type: 'lang/tr', text: ssoLang[this.appLanguage].turkish }"
|
|
84
84
|
:editing="false"
|
|
85
85
|
:class="{ 'add-button': true }"
|
|
86
86
|
/>
|
|
87
87
|
<!--
|
|
88
88
|
<LinkIcon @click.native="updateLanguage('cn')"
|
|
89
89
|
:link-style="'link-grid'"
|
|
90
|
-
:data="{ type: 'lang/cn', text: ssoLang[this.
|
|
90
|
+
:data="{ type: 'lang/cn', text: ssoLang[this.appLanguage].chinese }"
|
|
91
91
|
:editing="false"
|
|
92
92
|
:class="{ 'add-button': true }" />
|
|
93
93
|
-->
|
|
@@ -133,9 +133,9 @@ export default {
|
|
|
133
133
|
},
|
|
134
134
|
computed: {
|
|
135
135
|
linkText() {
|
|
136
|
-
if (this.
|
|
136
|
+
if (this.appLanguage !== "en" && this.data.text) {
|
|
137
137
|
return (
|
|
138
|
-
this.ssoLang[this.
|
|
138
|
+
this.ssoLang[this.appLanguage][
|
|
139
139
|
"link_text_" +
|
|
140
140
|
this.data.text.toLowerCase().trim().replace(/ /g, "_")
|
|
141
141
|
] || this.data.text
|
package/src/components/SSO.vue
CHANGED
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
</i>
|
|
20
20
|
</a>
|
|
21
21
|
<h3 class="bold center-text color-black half-top half-bottom">
|
|
22
|
-
{{ ssoLang[
|
|
22
|
+
{{ ssoLang[appLanguage].enter_company_email }}
|
|
23
23
|
</h3>
|
|
24
24
|
<div>
|
|
25
25
|
<input
|
|
26
26
|
type="text"
|
|
27
27
|
v-model="email"
|
|
28
|
-
:placeholder="ssoLang[this.
|
|
28
|
+
:placeholder="ssoLang[this.appLanguage].email"
|
|
29
29
|
autocomplete="off"
|
|
30
30
|
autocorrect="off"
|
|
31
31
|
autocapitalize="off"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
class="button black-button white-button button-full"
|
|
43
43
|
style="margin: 0 auto; margin-top: 25px; margin-bottom: 30px"
|
|
44
44
|
>
|
|
45
|
-
<span v-if="!loading">{{ ssoLang[
|
|
45
|
+
<span v-if="!loading">{{ ssoLang[appLanguage].continue }} </span>
|
|
46
46
|
<span v-else class="button--loading button__loader"></span>
|
|
47
47
|
</button>
|
|
48
48
|
</form>
|
|
@@ -90,7 +90,7 @@ export default {
|
|
|
90
90
|
ssoTypes = Object.keys(response.sso);
|
|
91
91
|
if (!ssoTypes.length) {
|
|
92
92
|
this.forceClose();
|
|
93
|
-
return this.errorSnack(this.ssoLang[this.
|
|
93
|
+
return this.errorSnack(this.ssoLang[this.appLanguage].no_sso_logins);
|
|
94
94
|
} else if (ssoTypes.length <= 1) {
|
|
95
95
|
if (ssoTypes[0] === "azure")
|
|
96
96
|
this.microsoftLogin("sso", response.sso.azure.sso);
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
</i>
|
|
20
20
|
</a>
|
|
21
21
|
<h3 class="bold center-text color-black half-top half-bottom">
|
|
22
|
-
{{ ssoLang[
|
|
22
|
+
{{ ssoLang[appLanguage].select_sign_method }}
|
|
23
23
|
</h3>
|
|
24
24
|
|
|
25
25
|
<!-- Azure Login Button -->
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"
|
|
39
39
|
/>
|
|
40
40
|
<span v-if="!azureLoad"
|
|
41
|
-
>{{ ssoLang[
|
|
41
|
+
>{{ ssoLang[appLanguage].sign_in_with }} Azure</span
|
|
42
42
|
>
|
|
43
43
|
<span v-else class="button--loading button__loader"></span>
|
|
44
44
|
</a>
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"
|
|
60
60
|
/>
|
|
61
61
|
<span v-if="!oktaLoad"
|
|
62
|
-
>{{ ssoLang[
|
|
62
|
+
>{{ ssoLang[appLanguage].sign_in_with }} Okta</span
|
|
63
63
|
>
|
|
64
64
|
<span v-else class="button--loading button__loader"></span>
|
|
65
65
|
</a>
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"
|
|
81
81
|
/>
|
|
82
82
|
<span v-if="!samlLoad"
|
|
83
|
-
>{{ ssoLang[
|
|
83
|
+
>{{ ssoLang[appLanguage].sign_in_with }} SAML</span
|
|
84
84
|
>
|
|
85
85
|
<span v-else class="button--loading button__loader"></span>
|
|
86
86
|
</a>
|
|
@@ -50,7 +50,7 @@ export default {
|
|
|
50
50
|
this.appleLoad = false
|
|
51
51
|
EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
|
|
52
52
|
}, 1000)
|
|
53
|
-
} else this.errorSnack(this.ssoLang[this.
|
|
53
|
+
} else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)
|
|
54
54
|
} else {
|
|
55
55
|
this.appleLoad = false
|
|
56
56
|
EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
|
package/src/mixins/auth.mixin.js
CHANGED
|
@@ -22,7 +22,7 @@ export default {
|
|
|
22
22
|
mixins: [GlobalMixin],
|
|
23
23
|
data() {
|
|
24
24
|
return {
|
|
25
|
-
|
|
25
|
+
appLanguage: "en",
|
|
26
26
|
token: "",
|
|
27
27
|
refreshToken: "",
|
|
28
28
|
loggedInUserId: "",
|
|
@@ -67,9 +67,6 @@ export default {
|
|
|
67
67
|
};
|
|
68
68
|
},
|
|
69
69
|
computed: {
|
|
70
|
-
appLang() {
|
|
71
|
-
return this.appLang;
|
|
72
|
-
},
|
|
73
70
|
isLoggedIn() {
|
|
74
71
|
return !!this.token && this.token !== "" && this.token !== "null";
|
|
75
72
|
},
|
|
@@ -217,10 +214,10 @@ export default {
|
|
|
217
214
|
if (response.data.token) this.setToken(response.data.token);
|
|
218
215
|
|
|
219
216
|
// Update Language
|
|
220
|
-
if (response.data?.data?.ssoLang !== this.
|
|
217
|
+
if (response.data?.data?.ssoLang !== this.appLanguage) {
|
|
221
218
|
EventBus.$emit("ssoEvent", {
|
|
222
219
|
name: "saveProfile",
|
|
223
|
-
data: { lang: this.
|
|
220
|
+
data: { lang: this.appLanguage, username: response.data.data.username },
|
|
224
221
|
});
|
|
225
222
|
}
|
|
226
223
|
|
|
@@ -303,7 +300,7 @@ export default {
|
|
|
303
300
|
|
|
304
301
|
if (response.isModal) {
|
|
305
302
|
EventBus.$emit("closeModal");
|
|
306
|
-
this.successSnack(this.ssoLang[this.
|
|
303
|
+
this.successSnack(this.ssoLang[this.appLanguage].success_login);
|
|
307
304
|
}
|
|
308
305
|
this.$router.push("/" + response.data.data.username + "#edit");
|
|
309
306
|
}
|
|
@@ -326,7 +323,7 @@ export default {
|
|
|
326
323
|
);
|
|
327
324
|
if (err) return this.errorHandler(err);
|
|
328
325
|
if (response.data.success) {
|
|
329
|
-
this.successSnack(this.ssoLang[this.
|
|
326
|
+
this.successSnack(this.ssoLang[this.appLanguage].password_reset_success);
|
|
330
327
|
}
|
|
331
328
|
},
|
|
332
329
|
async exchangeAuthCode(data) {
|
|
@@ -471,7 +468,7 @@ export default {
|
|
|
471
468
|
this.ssoUser &&
|
|
472
469
|
this.$storage.username === this.ssoUser.username
|
|
473
470
|
) {
|
|
474
|
-
this.
|
|
471
|
+
this.appLanguage = user.ssoLang;
|
|
475
472
|
}
|
|
476
473
|
},
|
|
477
474
|
getRefreshTokens() {
|
|
@@ -499,7 +496,7 @@ export default {
|
|
|
499
496
|
this.$storage.UserId = userID;
|
|
500
497
|
},
|
|
501
498
|
updateLang(lang) {
|
|
502
|
-
this.
|
|
499
|
+
this.appLanguage = lang;
|
|
503
500
|
},
|
|
504
501
|
},
|
|
505
502
|
watch: {
|
|
@@ -68,7 +68,7 @@ export default {
|
|
|
68
68
|
this.facebookLoad = false
|
|
69
69
|
EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
|
|
70
70
|
}, 1000)
|
|
71
|
-
} else this.errorSnack(this.ssoLang[this.
|
|
71
|
+
} else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)
|
|
72
72
|
} else {
|
|
73
73
|
this.facebookLoad = false
|
|
74
74
|
EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
|
|
@@ -96,7 +96,7 @@ export default {
|
|
|
96
96
|
el.select()
|
|
97
97
|
document.execCommand('copy')
|
|
98
98
|
document.body.removeChild(el)
|
|
99
|
-
this.successSnack(this.ssoLang[this.
|
|
99
|
+
this.successSnack(this.ssoLang[this.appLanguage].copied)
|
|
100
100
|
},
|
|
101
101
|
async getCaptchaToken(action){
|
|
102
102
|
try {
|
|
@@ -51,7 +51,7 @@ export default {
|
|
|
51
51
|
this.googleLoad = false
|
|
52
52
|
EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
|
|
53
53
|
}, 1000)
|
|
54
|
-
} else this.errorSnack(this.ssoLang[this.
|
|
54
|
+
} else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)
|
|
55
55
|
} else {
|
|
56
56
|
this.googleLoad = false
|
|
57
57
|
EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
|
|
@@ -74,7 +74,7 @@ export default {
|
|
|
74
74
|
this.microsoftSSOLoad = false;
|
|
75
75
|
EventBus.$emit("ssoEvent", { name: "setLoading", data: false });
|
|
76
76
|
}, 1000);
|
|
77
|
-
} else this.errorSnack(this.ssoLang[this.
|
|
77
|
+
} else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err);
|
|
78
78
|
} else {
|
|
79
79
|
this.microsoftLoad = false;
|
|
80
80
|
this.microsoftSSOLoad = false;
|
package/src/mixins/okta.mixin.js
CHANGED
|
@@ -49,7 +49,7 @@ export default {
|
|
|
49
49
|
this.appleLoad = false
|
|
50
50
|
EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
|
|
51
51
|
}, 1000)
|
|
52
|
-
} else this.errorSnack(this.ssoLang[this.
|
|
52
|
+
} else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)
|
|
53
53
|
},
|
|
54
54
|
async oktaLogin (data) {
|
|
55
55
|
const platform = Capacitor.getPlatform() || 'web';
|
package/src/services/Api.js
CHANGED
|
@@ -20,13 +20,13 @@ export default (storage, refreshTokenAction = false) => {
|
|
|
20
20
|
if (['post', 'put', 'delete'].includes(config.method.toLowerCase())) {
|
|
21
21
|
config.data = {
|
|
22
22
|
...config.data,
|
|
23
|
-
lang: storage.
|
|
23
|
+
lang: storage.appLanguage,
|
|
24
24
|
realm: storage.realm || 'app'
|
|
25
25
|
}
|
|
26
26
|
} else if (config.method.toLowerCase() === 'get') {
|
|
27
27
|
config.params = {
|
|
28
28
|
...config.params,
|
|
29
|
-
lang: storage.
|
|
29
|
+
lang: storage.appLanguage,
|
|
30
30
|
realm: storage.realm || 'app'
|
|
31
31
|
}
|
|
32
32
|
}
|
package/src/views/Callback.vue
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<h5 v-if="($route.query.platform ==='android' || $route.query.platform ==='ios') && !isNative" style="text-align: center; width: 80%; margin: 0 auto; margin-top: 260px; ">
|
|
4
|
-
{{ssoLang[this.
|
|
5
|
-
{{ssoLang[this.
|
|
6
|
-
<h4 v-else style="text-align: center; width: 80%; margin: 0 auto; margin-top: 260px; ">{{ssoLang[this.
|
|
4
|
+
{{ssoLang[this.appLanguage].you_will_be_redirected}}<br>
|
|
5
|
+
{{ssoLang[this.appLanguage].if_redirect_not_directly}}, <span @click="inAppRedirect" style="color: blue; cursor: pointer">{{ssoLang[this.appLanguage].click_here}}</span>.</h5>
|
|
6
|
+
<h4 v-else style="text-align: center; width: 80%; margin: 0 auto; margin-top: 260px; ">{{ssoLang[this.appLanguage].please_wait}}</h4>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
9
9
|
|
package/src/views/Login.vue
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
</i>
|
|
26
26
|
</a>
|
|
27
27
|
<h1 class="bold no-bottom center-text" style="margin-top: 63px;" @click="bum">
|
|
28
|
-
{{ this.ssoLang[this.
|
|
28
|
+
{{ this.ssoLang[this.appLanguage].login }}
|
|
29
29
|
</h1>
|
|
30
30
|
<p class="half-bottom small-top center-text color-black"></p>
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
spellcheck="false"
|
|
47
47
|
type="text"
|
|
48
48
|
name="email"
|
|
49
|
-
:placeholder="ssoLang[this.
|
|
49
|
+
:placeholder="ssoLang[this.appLanguage].email_username"
|
|
50
50
|
required
|
|
51
51
|
/>
|
|
52
52
|
<em></em>
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
<input
|
|
63
63
|
v-model="password"
|
|
64
64
|
:type="revealPassword ? 'text' : 'password'"
|
|
65
|
-
:placeholder="ssoLang[this.
|
|
65
|
+
:placeholder="ssoLang[this.appLanguage].password"
|
|
66
66
|
name="password"
|
|
67
67
|
required
|
|
68
68
|
minlength="8"
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
type="submit"
|
|
85
85
|
class="button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"
|
|
86
86
|
>
|
|
87
|
-
<span v-if="!submitted">{{ ssoLang[
|
|
87
|
+
<span v-if="!submitted">{{ ssoLang[appLanguage].login }}</span>
|
|
88
88
|
<span v-else class="button--loading button__loader"></span>
|
|
89
89
|
</button>
|
|
90
90
|
</span>
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
height: 100%;
|
|
105
105
|
"
|
|
106
106
|
/>
|
|
107
|
-
<span v-if="!appleLoad">{{ ssoLang[
|
|
107
|
+
<span v-if="!appleLoad">{{ ssoLang[appLanguage].sign_in_with }} Apple</span>
|
|
108
108
|
<span v-else class="button--loading button__loader"></span>
|
|
109
109
|
</a>
|
|
110
110
|
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"
|
|
125
125
|
/>
|
|
126
126
|
<span v-if="!googleLoad"
|
|
127
|
-
>{{ ssoLang[
|
|
127
|
+
>{{ ssoLang[appLanguage].sign_in_with }} Google</span
|
|
128
128
|
>
|
|
129
129
|
<span v-else class="button--loading-black button__loader"></span>
|
|
130
130
|
</a>
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
"
|
|
146
146
|
/>
|
|
147
147
|
<span v-if="!facebookLoad"
|
|
148
|
-
>{{ ssoLang[
|
|
148
|
+
>{{ ssoLang[appLanguage].sign_in_with }} Facebook</span
|
|
149
149
|
>
|
|
150
150
|
<span v-else class="button--loading-black button__loader"></span>
|
|
151
151
|
</a>
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
"
|
|
167
167
|
/>
|
|
168
168
|
<span v-if="!microsoftLoad"
|
|
169
|
-
>{{ ssoLang[
|
|
169
|
+
>{{ ssoLang[appLanguage].sign_in_with }} Outlook</span
|
|
170
170
|
>
|
|
171
171
|
<span v-else class="button--loading-black button__loader"></span>
|
|
172
172
|
</a>
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
height: 100%;
|
|
187
187
|
"
|
|
188
188
|
/>
|
|
189
|
-
<span v-if="!microsoftSSOLoad">{{ ssoLang[
|
|
189
|
+
<span v-if="!microsoftSSOLoad">{{ ssoLang[appLanguage].sign_in_with }} SSO</span>
|
|
190
190
|
<span v-else class="button--loading-black button__loader"></span>
|
|
191
191
|
</a>
|
|
192
192
|
<!-- Microsoft SSO Button -->
|
|
@@ -204,7 +204,7 @@
|
|
|
204
204
|
height: 100%;
|
|
205
205
|
"
|
|
206
206
|
/>
|
|
207
|
-
<span v-if="microsoftSSOLoad">{{ ssoLang[
|
|
207
|
+
<span v-if="microsoftSSOLoad">{{ ssoLang[appLanguage].sign_in_with }} SSO</span>
|
|
208
208
|
<span v-else class="button--loading-black button__loader"></span>
|
|
209
209
|
</a>
|
|
210
210
|
|
|
@@ -223,19 +223,19 @@
|
|
|
223
223
|
height: 100%;
|
|
224
224
|
"
|
|
225
225
|
/>
|
|
226
|
-
<span>{{ ssoLang[
|
|
226
|
+
<span>{{ ssoLang[appLanguage].sign_in_with }} Email</span>
|
|
227
227
|
</a>
|
|
228
228
|
|
|
229
229
|
<div class="decoration decoration-lines-thin no-bottom"></div>
|
|
230
230
|
|
|
231
231
|
<p class="close-text center-text half-top color-black">
|
|
232
|
-
{{ ssoLang[
|
|
232
|
+
{{ ssoLang[appLanguage].terms_by_signing_in }} <br />
|
|
233
233
|
<a class="" href="https://tapni.co/policies/terms-of-service">{{
|
|
234
|
-
ssoLang[this.
|
|
234
|
+
ssoLang[this.appLanguage].terms_of_service
|
|
235
235
|
}}</a>
|
|
236
|
-
{{ ssoLang[
|
|
236
|
+
{{ ssoLang[appLanguage].and }}
|
|
237
237
|
<a href="https://tapni.co/policies/privacy-policy">{{
|
|
238
|
-
ssoLang[this.
|
|
238
|
+
ssoLang[this.appLanguage].privacy_policy
|
|
239
239
|
}}</a>
|
|
240
240
|
</p>
|
|
241
241
|
<div class="decoration decoration-lines-thin no-bottom"></div>
|
|
@@ -244,20 +244,20 @@
|
|
|
244
244
|
v-if="displayRegisterLogin"
|
|
245
245
|
class="forgot float-right"
|
|
246
246
|
to="/register"
|
|
247
|
-
>{{ ssoLang[
|
|
247
|
+
>{{ ssoLang[appLanguage].create_account }}</router-link
|
|
248
248
|
>
|
|
249
249
|
<router-link
|
|
250
250
|
v-if="displayResetPasswordLogin"
|
|
251
251
|
class="create float-left"
|
|
252
252
|
to="/reset"
|
|
253
|
-
>{{ ssoLang[
|
|
253
|
+
>{{ ssoLang[appLanguage].reset_password }}</router-link
|
|
254
254
|
>
|
|
255
255
|
<div class="clear"></div>
|
|
256
256
|
</div>
|
|
257
257
|
<div v-else class="page-login-links" @click="createAccountModal">
|
|
258
258
|
<a class="forgot center-text pointer small-top"
|
|
259
|
-
>{{ ssoLang[
|
|
260
|
-
{{ ssoLang[
|
|
259
|
+
>{{ ssoLang[appLanguage].or }} <br />
|
|
260
|
+
{{ ssoLang[appLanguage].create_new_account }}</a
|
|
261
261
|
>
|
|
262
262
|
<div class="clear"></div>
|
|
263
263
|
</div>
|
package/src/views/QR.vue
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="page-login content-boxed content-boxed-padding">
|
|
3
3
|
<h5 style="text-align: center; width: 80%; margin: 0 auto; margin-top: 130px;">
|
|
4
|
-
{{ ssoLang[
|
|
4
|
+
{{ ssoLang[appLanguage].use_tapni_on_the_web }}
|
|
5
5
|
</h5>
|
|
6
6
|
<br>
|
|
7
7
|
|
|
@@ -12,15 +12,15 @@
|
|
|
12
12
|
<br>
|
|
13
13
|
<br>
|
|
14
14
|
<div style="margin: 0 auto; width: 85%; text-align: left;">
|
|
15
|
-
<h2 class="center-text">{{ ssoLang[
|
|
15
|
+
<h2 class="center-text">{{ ssoLang[appLanguage].login_by_scanning_qr_code }}</h2>
|
|
16
16
|
<br>
|
|
17
|
-
<h4>{{ ssoLang[
|
|
18
|
-
<h4>{{ ssoLang[
|
|
19
|
-
<h4>{{ ssoLang[
|
|
17
|
+
<h4>{{ ssoLang[appLanguage].open_tapni_app_on_your_phone }}</h4>
|
|
18
|
+
<h4>{{ ssoLang[appLanguage].go_to_settings_link_a_device }}</h4>
|
|
19
|
+
<h4>{{ ssoLang[appLanguage].point_your_phone_at_this_qr_code }}</h4>
|
|
20
20
|
<br>
|
|
21
21
|
<br>
|
|
22
22
|
</div>
|
|
23
|
-
<router-link to="/login">{{ ssoLang[
|
|
23
|
+
<router-link to="/login">{{ ssoLang[appLanguage].choose_other_login_methods }}</router-link>
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
|
26
26
|
</template>
|