@tapni/auth 1.0.8 → 1.0.9

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.
Files changed (50) hide show
  1. package/README.md +2 -0
  2. package/dist/.vite/manifest.json +12 -12
  3. package/dist/.well-known/assetlinks.json +10 -12
  4. package/dist/.well-known/microsoft-identity-association.json +5 -5
  5. package/dist/{Apps-aanvwc1E.js → Apps-spt3-xmr.js} +1 -1
  6. package/dist/{Billing-C7LjeXBV.js → Billing-EQtSRyls.js} +1 -1
  7. package/dist/{CustomApp-Cd00FwXJ.js → CustomApp-DytcodWc.js} +1 -1
  8. package/dist/{General-DH-AnLIA.js → General-BBoC_TV2.js} +1 -1
  9. package/dist/{QR-cfWsMTIZ.js → QR-DmSyXgb5.js} +1 -1
  10. package/dist/TapniAuth.es.js +1 -1
  11. package/dist/TapniAuth.umd.js +8 -8
  12. package/dist/blank.html +31 -0
  13. package/dist/{install-CBFqB-tX.js → install-DJ7V1wyP.js} +761 -744
  14. package/dist/site.webmanifest +11 -1
  15. package/dist/style.css +1 -1
  16. package/package.json +14 -4
  17. package/src/.prettierrc.json +16 -0
  18. package/src/components/DELETE_LinkIcon.vue +174 -225
  19. package/src/components/DELETE_SSOPick.vue +93 -148
  20. package/src/eslint.config.js +15 -0
  21. package/src/install.js +9 -10
  22. package/src/main.js +54 -57
  23. package/src/mixins/apple.mixin.js +56 -54
  24. package/src/mixins/auth.mixin.js +3 -2
  25. package/src/mixins/global.mixin.js +2 -2
  26. package/src/mixins/google.mixin.js +53 -54
  27. package/src/mixins/qr-auth.mixin.js +111 -107
  28. package/src/router/index.js +6 -6
  29. package/src/routes.js +1 -1
  30. package/src/services/Api.js +55 -57
  31. package/src/services/CompanyService.js +10 -10
  32. package/src/services/DeviceService.js +3 -3
  33. package/src/services/UserService.js +45 -45
  34. package/src/services/UtilService.js +256 -218
  35. package/src/store/event-bus.js +22 -22
  36. package/src/store/locales/cn.js +442 -458
  37. package/src/store/locales/de.js +438 -517
  38. package/src/store/locales/es.js +442 -524
  39. package/src/store/locales/fr.js +442 -516
  40. package/src/store/locales/it.js +442 -514
  41. package/src/store/locales/kr.js +442 -491
  42. package/src/store/locales/lang.js +43 -43
  43. package/src/store/locales/sr.js +439 -492
  44. package/src/store/locales/tr.js +436 -487
  45. package/src/store/store.js +6 -6
  46. package/src/views/Account.vue +2 -2
  47. package/src/views/Callback.vue +36 -33
  48. package/src/views/Login.vue +3 -3
  49. package/src/views/Reset.vue +132 -135
  50. package/src/views/Verify.vue +153 -151
@@ -1,170 +1,172 @@
1
1
  <template>
2
- <form class="page-login content-boxed content-boxed-padding" @submit.prevent="submit" :style="isModal ? 'max-width: 500px;' : ''">
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
- <i class="font-17 color-black">
5
- <img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 35%;"/>
6
- </i>
7
- </a>
8
- <h1 class="bold no-bottom center-text" style="margin-top: 63px;">{{ssoLang[this.appLanguage].verify_account}}</h1>
9
- <p class="half-bottom half-top center-text color-black"></p>
10
- <div class="page-login-field half-top">
11
- <i style="padding-top: 15px; margin-left: 10px;">
12
- <img src="https://cdn.tapni.co/icons/mail.png" class="responsive-image" style="width: 80%;">
13
- </i>
14
- <input id="emailInput" v-model="email" @keydown.space.prevent type="email" :placeholder="ssoLang[this.appLanguage].email" required>
15
- <em></em>
16
- </div>
17
- <div class="page-login-field half-top">
18
- <i style="padding-top: 15px; margin-left: 10px;">
19
- <img src="https://cdn.tapni.co/icons/password2.png" class="responsive-image" style="width: 100%;">
20
- </i>
21
- <input id="codeInput" v-model="code" @keydown.space.prevent type="tel" :placeholder="ssoLang[this.appLanguage].code" required>
22
- <em></em>
23
- </div>
24
- <button type="submit" class="button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top">
25
- <span v-if="!submitted" class="uppercase">{{ssoLang[this.appLanguage].verify_account}}</span>
26
- <span v-else class="button--loading button__loader"></span>
27
- </button>
28
- <div class="decoration decoration-lines-thin no-bottom"></div>
2
+ <form class="page-login content-boxed content-boxed-padding" @submit.prevent="submit" :style="isModal ? 'max-width: 500px;' : ''">
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
+ <i class="font-17 color-black">
5
+ <img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 35%" />
6
+ </i>
7
+ </a>
8
+ <h1 class="bold no-bottom center-text" style="margin-top: 63px">{{ ssoLang[this.appLanguage].verify_account }}</h1>
9
+ <p class="half-bottom half-top center-text color-black"></p>
10
+ <div class="page-login-field half-top">
11
+ <i style="padding-top: 15px; margin-left: 10px">
12
+ <img src="https://cdn.tapni.co/icons/mail.png" class="responsive-image" style="width: 80%" />
13
+ </i>
14
+ <input id="emailInput" v-model="email" @keydown.space.prevent type="email" :placeholder="ssoLang[this.appLanguage].email" required />
15
+ <em></em>
16
+ </div>
17
+ <div class="page-login-field half-top">
18
+ <i style="padding-top: 15px; margin-left: 10px">
19
+ <img src="https://cdn.tapni.co/icons/password2.png" class="responsive-image" style="width: 100%" />
20
+ </i>
21
+ <input id="codeInput" v-model="code" @keydown.space.prevent type="tel" :placeholder="ssoLang[this.appLanguage].code" required />
22
+ <em></em>
23
+ </div>
24
+ <button type="submit" class="button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top">
25
+ <span v-if="!submitted" class="uppercase">{{ ssoLang[this.appLanguage].verify_account }}</span>
26
+ <span v-else class="button--loading button__loader"></span>
27
+ </button>
28
+ <div class="decoration decoration-lines-thin no-bottom"></div>
29
29
 
30
- <p class="close-text center-text half-top color-black">
31
- <span v-html="ssoLang[this.appLanguage].verify_account_p1"></span>
32
- <a href="mailto:support@tapni.com?subject=Email Verification"> support@tapni.com</a>
33
- </p>
30
+ <p class="close-text center-text half-top color-black">
31
+ <span v-html="ssoLang[this.appLanguage].verify_account_p1"></span>
32
+ <a href="mailto:support@tapni.com?subject=Email Verification"> support@tapni.com</a>
33
+ </p>
34
34
 
35
- <div class="decoration decoration-lines-thin no-bottom"></div>
36
- <div v-if="!isModal" class="page-login-links">
37
- <router-link class="create float-right" to="/register">{{ssoLang[this.appLanguage].register}}</router-link>
38
- <router-link class="forgot float-left" to="/login">{{ssoLang[this.appLanguage].sign_in}}</router-link>
39
- <div class="clear"></div>
40
- </div>
41
- <div v-else class="page-login-links" @click="registerAccountModal">
42
- <a class="forgot center-text pointer small-top">{{ssoLang[this.appLanguage].or}} <br> {{ssoLang[this.appLanguage].create_new_account}}</a>
43
- <div class="clear"></div>
44
- </div>
45
- </form>
35
+ <div class="decoration decoration-lines-thin no-bottom"></div>
36
+ <div v-if="!isModal" class="page-login-links">
37
+ <router-link class="create float-right" to="/register">{{ ssoLang[this.appLanguage].register }}</router-link>
38
+ <router-link class="forgot float-left" to="/login">{{ ssoLang[this.appLanguage].sign_in }}</router-link>
39
+ <div class="clear"></div>
40
+ </div>
41
+ <div v-else class="page-login-links" @click="registerAccountModal">
42
+ <a class="forgot center-text pointer small-top"
43
+ >{{ ssoLang[this.appLanguage].or }} <br />
44
+ {{ ssoLang[this.appLanguage].create_new_account }}</a
45
+ >
46
+ <div class="clear"></div>
47
+ </div>
48
+ </form>
46
49
  </template>
47
50
 
48
51
  <script>
49
- import {EventBus} from "../store/event-bus";
50
- import AuthMixin from "../mixins/auth.mixin";
52
+ import { EventBus } from '../store/event-bus';
53
+ import AuthMixin from '../mixins/auth.mixin';
51
54
  export default {
52
- name: 'AuthVerify',
53
- mixins: [AuthMixin],
54
- props: {
55
- isModal: {
56
- type: Boolean,
57
- required: false,
58
- default: false
59
- },
60
- },
61
- data () {
62
- return {
63
- loading: true,
64
- submitted: false,
65
- action: 'verify',
66
- email: '',
67
- code: '',
68
- captcha: ''
69
- }
70
- },
71
- mounted () {
72
- if (this.$storex.verifyEmail) this.email = this.$storex.verifyEmail
73
- if (this.$route) this.init()
74
- },
75
- methods: {
76
- init() {
77
- if (this.isLoggedIn) {
78
- this.$router.push(this.home)
79
- } else {
80
- if (this.$storex.verifyEmail) {
81
- this.email = this.$storex.verifyEmail
82
- }
83
- if (this.$route.hash === '#reset') {
84
- this.action = 'reset'
85
- }
86
- if (this.$route.query.e) {
87
- this.email = this.$route.query.e
88
- }
89
- if (this.$route.query.c) {
90
- this.code = this.$route.query.c
91
- }
92
- EventBus.$emit('ssoEvent', {name: 'setLoading', data: false})
93
- }
94
- },
95
- async submit() {
96
- // if (this.captcha === '') return this._vm.errorHandler({ message: 'Please select recaptcha' });
97
- if (this.code.length !== 6) {
98
- return this.errorSnack(this.ssoLang[this.appLanguage].invalid_code);
99
- }
100
-
101
- this.email = this.email.trim()
102
- this.code = this.code.trim()
55
+ name: 'AuthVerify',
56
+ mixins: [AuthMixin],
57
+ props: {
58
+ isModal: {
59
+ type: Boolean,
60
+ required: false,
61
+ default: false
62
+ }
63
+ },
64
+ data() {
65
+ return {
66
+ loading: true,
67
+ submitted: false,
68
+ action: 'verify',
69
+ email: '',
70
+ code: '',
71
+ captcha: ''
72
+ };
73
+ },
74
+ mounted() {
75
+ if (this.$storex.verifyEmail) this.email = this.$storex.verifyEmail;
76
+ if (this.$route) this.init();
77
+ },
78
+ methods: {
79
+ init() {
80
+ if (this.isLoggedIn) {
81
+ this.$router.push(this.home);
82
+ } else {
83
+ if (this.$storex.verifyEmail) {
84
+ this.email = this.$storex.verifyEmail;
85
+ }
86
+ if (this.$route.hash === '#reset') {
87
+ this.action = 'reset';
88
+ }
89
+ if (this.$route.query.e) {
90
+ this.email = this.$route.query.e;
91
+ }
92
+ if (this.$route.query.c) {
93
+ this.code = this.$route.query.c;
94
+ }
95
+ EventBus.$emit('ssoEvent', { name: 'setLoading', data: false });
96
+ }
97
+ },
98
+ async submit() {
99
+ // if (this.captcha === '') return this._vm.errorHandler({ message: 'Please select recaptcha' });
100
+ if (this.code.length !== 6) {
101
+ return this.errorSnack(this.ssoLang[this.appLanguage].invalid_code);
102
+ }
103
103
 
104
- let data = {
105
- code: this.code,
106
- email: this.email,
107
- captchaToken: await this.getCaptchaToken('account_verify')
108
- }
104
+ this.email = this.email.trim();
105
+ this.code = this.code.trim();
109
106
 
110
- if(this.submitted) return false;
111
- this.submitted = true
107
+ let data = {
108
+ code: this.code,
109
+ email: this.email,
110
+ captchaToken: await this.getCaptchaToken('account_verify')
111
+ };
112
112
 
113
- let response = await this.verify(data);
114
- this.submitted = false
115
- if (response && response.data && response.data.success === true) {
116
- if (this.action === 'reset') {
117
- this.$router.push('/reset?c=' + this.code + '&e=' + this.email)
118
- this.successSnack(this.ssoLang[this.appLanguage].verify_account_success)
119
- }
120
- if (this.action === 'verify') {
121
- if (this.isModal) {
122
- this.email = ''
123
- this.code = ''
124
- EventBus.$emit('closeModal')
125
- }
126
- await this.loginSetup(response)
127
- await this.getLoggedInAccounts()
128
- this.$storex.verifyEmail = '';
129
- this.$router.push('/' + response.data.data.username + '#edit')
130
- this.successSnack(this.ssoLang[this.appLanguage].verify_account_success2)
131
- }
132
- } else this.submitted = false
113
+ if (this.submitted) return false;
114
+ this.submitted = true;
133
115
 
134
- },
135
- registerAccountModal () {
136
- EventBus.$emit('ssoEvent', {name: 'toggleAddAccountModalRegister', data: false})
137
- },
138
- close () {
139
- EventBus.$emit('ssoEvent', {name: 'toggleAddAccountModal', data: true})
140
- },
141
- },
142
- watch: {
143
- '$storage.verifyEmail' (nv) {
144
- if (nv) this.email = nv
116
+ let response = await this.verify(data);
117
+ this.submitted = false;
118
+ if (response && response.data && response.data.success === true) {
119
+ if (this.action === 'reset') {
120
+ this.$router.push('/reset?c=' + this.code + '&e=' + this.email);
121
+ this.successSnack(this.ssoLang[this.appLanguage].verify_account_success);
122
+ }
123
+ if (this.action === 'verify') {
124
+ if (this.isModal) {
125
+ this.email = '';
126
+ this.code = '';
127
+ EventBus.$emit('closeModal');
128
+ }
129
+ await this.loginSetup(response);
130
+ await this.getLoggedInAccounts();
131
+ this.$storex.verifyEmail = '';
132
+ this.$router.push('/' + response.data.data.username + '#edit');
133
+ this.successSnack(this.ssoLang[this.appLanguage].verify_account_success2);
134
+ }
135
+ } else this.submitted = false;
136
+ },
137
+ registerAccountModal() {
138
+ EventBus.$emit('ssoEvent', { name: 'toggleAddAccountModalRegister', data: false });
139
+ },
140
+ close() {
141
+ EventBus.$emit('ssoEvent', { name: 'toggleAddAccountModal', data: true });
142
+ }
145
143
  },
146
- 'route.name' (nv, ov) {
147
- if (!ov && nv) this.init()
148
- },
149
- 'route.query': {
150
- handler(nv) {
151
- if (!this.isEmpty(nv)) this.init()
152
- },
153
- deep: true,
154
- },
155
- }
156
- }
144
+ watch: {
145
+ '$storage.verifyEmail'(nv) {
146
+ if (nv) this.email = nv;
147
+ },
148
+ 'route.name'(nv, ov) {
149
+ if (!ov && nv) this.init();
150
+ },
151
+ 'route.query': {
152
+ handler(nv) {
153
+ if (!this.isEmpty(nv)) this.init();
154
+ },
155
+ deep: true
156
+ }
157
+ }
158
+ };
157
159
  </script>
158
160
 
159
161
  <style scoped>
160
- #codeInput {
161
- text-align: center;
162
- padding-right: 15%;
163
- font-size: 17px;
164
- }
165
- #emailInput {
162
+ #codeInput {
163
+ text-align: center;
164
+ padding-right: 15%;
165
+ font-size: 17px;
166
+ }
167
+ #emailInput {
166
168
  text-align: center;
167
169
  padding-right: 15%;
168
170
  font-size: 17px;
169
- }
171
+ }
170
172
  </style>