@tapni/auth 0.0.36 → 0.0.37
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 +78 -78
- package/dist/TapniAuth.umd.js +2 -2
- package/package.json +1 -1
- package/src/mixins/auth.mixin.js +1 -6
- package/src/services/Api.js +8 -2
- package/src/services/AuthService.js +4 -1
package/dist/TapniAuth.es.js
CHANGED
|
@@ -1,47 +1,49 @@
|
|
|
1
|
-
import { reactive as Ce, readonly as Te, resolveComponent as V, openBlock as c, createElementBlock as l, createElementVNode as t, toDisplayString as p, createCommentVNode as h, createVNode as v, withCtx as j, createTextVNode as f, pushScopeId as O, popScopeId as B, createStaticVNode as je, nextTick as J, withModifiers as
|
|
1
|
+
import { reactive as Ce, readonly as Te, resolveComponent as V, openBlock as c, createElementBlock as l, createElementVNode as t, toDisplayString as p, createCommentVNode as h, createVNode as v, withCtx as j, createTextVNode as f, pushScopeId as O, popScopeId as B, createStaticVNode as je, nextTick as J, withModifiers as w, normalizeStyle as R, withDirectives as k, withKeys as E, vModelText as x, vModelDynamic as K, vShow as I, createBlock as P, normalizeClass as b, unref as Pe } from "vue";
|
|
2
2
|
import { RouterView as Ae } from "vue-router";
|
|
3
3
|
import g from "await-to-js";
|
|
4
|
-
import
|
|
4
|
+
import Y from "axios";
|
|
5
5
|
import { jwtDecode as te } from "jwt-decode";
|
|
6
|
-
import { Device as
|
|
6
|
+
import { Device as $ } from "@capacitor/device";
|
|
7
7
|
import { Capacitor as D } from "@capacitor/core";
|
|
8
8
|
import { GoogleAuth as ee } from "@codetrix-studio/capacitor-google-auth";
|
|
9
9
|
import { FacebookLogin as Ie } from "@capacitor-community/facebook-login";
|
|
10
10
|
import { SignInWithApple as Ee } from "@capacitor-community/apple-sign-in";
|
|
11
11
|
import { MsAuthPlugin as xe } from "@recognizebv/capacitor-plugin-msauth";
|
|
12
|
-
import { Browser as
|
|
12
|
+
import { Browser as H } from "@capacitor/browser";
|
|
13
13
|
import qe from "qr-code-styling";
|
|
14
14
|
import { sanitizeUrl as Me } from "@braintree/sanitize-url";
|
|
15
15
|
import "@tapni/capacitor-reactive-localstorage-vue3";
|
|
16
|
-
const Re = "0.0.
|
|
16
|
+
const Re = "0.0.37", m = (e, a = !1) => {
|
|
17
17
|
const n = Re;
|
|
18
|
-
let o =
|
|
19
|
-
|
|
18
|
+
let o = "https://api.tapni.co/v1/";
|
|
19
|
+
location.hostname.includes("dev.") && (o = "https://api-dev.tapni.co");
|
|
20
|
+
let i = Y.create({
|
|
21
|
+
baseURL: o,
|
|
20
22
|
headers: {
|
|
21
23
|
Authorization: `Bearer ${e.token}`,
|
|
22
24
|
"X-Client-Name": "sso-" + n.platform,
|
|
23
25
|
"X-Client-Version": n.version
|
|
24
26
|
}
|
|
25
27
|
});
|
|
26
|
-
return
|
|
27
|
-
if (["post", "put", "delete"].includes(
|
|
28
|
-
...
|
|
28
|
+
return i.interceptors.request.use(async function(r) {
|
|
29
|
+
if (["post", "put", "delete"].includes(r.method.toLowerCase()) ? r.data = {
|
|
30
|
+
...r.data,
|
|
29
31
|
lang: e.appLanguage,
|
|
30
32
|
realm: e.realm || "app"
|
|
31
|
-
} :
|
|
32
|
-
...
|
|
33
|
+
} : r.method.toLowerCase() === "get" && (r.params = {
|
|
34
|
+
...r.params,
|
|
33
35
|
lang: e.appLanguage,
|
|
34
36
|
realm: e.realm || "app"
|
|
35
37
|
}), e.token && !a) {
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
return z.methods.refreshTokenAction(
|
|
39
|
-
...
|
|
38
|
+
const u = te(e.token);
|
|
39
|
+
if (u.exp - 30 < Math.floor(Date.now() / 1e3))
|
|
40
|
+
return z.methods.refreshTokenAction(u).then(() => (r.headers = {
|
|
41
|
+
...r.headers,
|
|
40
42
|
Authorization: `Bearer ${e.token}`
|
|
41
|
-
},
|
|
43
|
+
}, r));
|
|
42
44
|
}
|
|
43
|
-
return
|
|
44
|
-
}),
|
|
45
|
+
return r;
|
|
46
|
+
}), i;
|
|
45
47
|
}, M = {
|
|
46
48
|
getMe() {
|
|
47
49
|
return m(storage).get("/users/me");
|
|
@@ -93,8 +95,8 @@ const Re = "0.0.36", m = (e, a = !1) => {
|
|
|
93
95
|
}
|
|
94
96
|
};
|
|
95
97
|
let S;
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
+
$.getId().then((e) => S = e.uuid);
|
|
99
|
+
const y = {
|
|
98
100
|
register(e, a) {
|
|
99
101
|
return e.device_id = S, m(a).post("/users/register", e);
|
|
100
102
|
},
|
|
@@ -147,8 +149,11 @@ const w = {
|
|
|
147
149
|
},
|
|
148
150
|
samlLoginUrl(e, a) {
|
|
149
151
|
return m(a).post("/saml/url", e);
|
|
152
|
+
},
|
|
153
|
+
exchangeAuthCode(e, a) {
|
|
154
|
+
return m(a).post("/v1/users/auth-code", e);
|
|
150
155
|
}
|
|
151
|
-
},
|
|
156
|
+
}, X = {
|
|
152
157
|
getBySSOEmail(e, a) {
|
|
153
158
|
return m(a).get(`/company/sso/${e}`);
|
|
154
159
|
},
|
|
@@ -4410,7 +4415,7 @@ const z = {
|
|
|
4410
4415
|
},
|
|
4411
4416
|
async maintenance() {
|
|
4412
4417
|
const [e, a] = await g(
|
|
4413
|
-
|
|
4418
|
+
Y.get("https://status.tapni.co/data/maintenance.json")
|
|
4414
4419
|
);
|
|
4415
4420
|
if (e)
|
|
4416
4421
|
return console.error(e);
|
|
@@ -4456,7 +4461,7 @@ const z = {
|
|
|
4456
4461
|
},
|
|
4457
4462
|
async refreshTokenAction(e) {
|
|
4458
4463
|
const [a, n] = await g(
|
|
4459
|
-
|
|
4464
|
+
y.refreshToken({
|
|
4460
4465
|
id: e.id,
|
|
4461
4466
|
refreshToken: this.refreshToken,
|
|
4462
4467
|
refreshTokenAction: !0
|
|
@@ -4467,7 +4472,7 @@ const z = {
|
|
|
4467
4472
|
n && n.data ? this.setToken(n.data.token) : console.error("Invalid response setToken");
|
|
4468
4473
|
},
|
|
4469
4474
|
async login(e) {
|
|
4470
|
-
const [a, n] = await g(
|
|
4475
|
+
const [a, n] = await g(y.login(e, this.$storage));
|
|
4471
4476
|
if (a)
|
|
4472
4477
|
return this.errorHandler(a);
|
|
4473
4478
|
if (n.data.success)
|
|
@@ -4491,36 +4496,31 @@ const z = {
|
|
|
4491
4496
|
},
|
|
4492
4497
|
async register(e) {
|
|
4493
4498
|
const [a, n] = await g(
|
|
4494
|
-
|
|
4499
|
+
y.register(e, this.$storage)
|
|
4495
4500
|
);
|
|
4496
4501
|
return a ? this.errorHandler(a) : n;
|
|
4497
4502
|
},
|
|
4498
4503
|
async verify(e) {
|
|
4499
|
-
const [a, n] = await g(
|
|
4504
|
+
const [a, n] = await g(y.verify(e, this.$storage));
|
|
4500
4505
|
return a ? this.errorHandler(a) : n;
|
|
4501
4506
|
},
|
|
4502
4507
|
async reset(e) {
|
|
4503
4508
|
const [a, n] = await g(
|
|
4504
|
-
|
|
4509
|
+
y.sendResetEmail(e, this.$storage)
|
|
4505
4510
|
);
|
|
4506
4511
|
if (a)
|
|
4507
4512
|
return this.errorHandler(a);
|
|
4508
4513
|
n.data.success && this.successSnack(this.ssoLang[this.appLanguage].password_reset_success);
|
|
4509
4514
|
},
|
|
4510
4515
|
async exchangeAuthCode(e) {
|
|
4511
|
-
const [a, n] = await g(
|
|
4512
|
-
$.post("https://api.tapni.co/v1/users/auth-code", {
|
|
4513
|
-
code: e.code,
|
|
4514
|
-
code_verifier: e.code_verifier
|
|
4515
|
-
})
|
|
4516
|
-
);
|
|
4516
|
+
const [a, n] = await g(y.exchangeAuthCode(e, this.storage));
|
|
4517
4517
|
if (a)
|
|
4518
4518
|
return this.errorHandler(a);
|
|
4519
4519
|
await this.loginSetup(n), await this.getLoggedInAccounts(), this.loginSuccess(n);
|
|
4520
4520
|
},
|
|
4521
4521
|
async changePassword(e) {
|
|
4522
4522
|
const [a, n] = await g(
|
|
4523
|
-
|
|
4523
|
+
y.changePassword(e, this.$storage)
|
|
4524
4524
|
);
|
|
4525
4525
|
return a ? this.errorHandler(a) : n.data.success;
|
|
4526
4526
|
},
|
|
@@ -4537,7 +4537,7 @@ const z = {
|
|
|
4537
4537
|
return a ? this.errorHandler(a) : n.data.success;
|
|
4538
4538
|
},
|
|
4539
4539
|
async registerDevice() {
|
|
4540
|
-
const e = await
|
|
4540
|
+
const e = await $.getId(), a = await $.getInfo();
|
|
4541
4541
|
let n = {
|
|
4542
4542
|
device_id: e.uuid,
|
|
4543
4543
|
platform: a.platform,
|
|
@@ -4563,12 +4563,12 @@ const z = {
|
|
|
4563
4563
|
},
|
|
4564
4564
|
async acceptCompanyInvitation(e) {
|
|
4565
4565
|
const [a, n] = await g(
|
|
4566
|
-
|
|
4566
|
+
X.acceptCompanyInvitation(e, this.$storage)
|
|
4567
4567
|
);
|
|
4568
4568
|
return a ? this.errorHandler(a) : n;
|
|
4569
4569
|
},
|
|
4570
4570
|
async logout(e = !0) {
|
|
4571
|
-
e &&
|
|
4571
|
+
e && y.logout({ token: this.refreshToken }, this.$storage), this.$storage.username = null, this.$storage.ssoUser = null, this.$storage.UserId = null, this.setLoggedInUserId(null), this.setToken(null), this.setRefreshToken(null), this.refreshToken ? Object.keys(this.loggedInAccounts).forEach((a) => {
|
|
4572
4572
|
this.loggedInAccounts[a].refreshToken === this.refreshToken && this.refreshTokenAction({
|
|
4573
4573
|
id: this.loggedInAccounts[a].id
|
|
4574
4574
|
}).then(() => (this.setLoggedInUserId(this.loggedInAccounts[a].id), this.$storage.username = a, this.$storage.UserId = this.loggedInAccounts[a].id, this.getLoggedInAccounts(), this.$router.push("/" + a)));
|
|
@@ -4576,7 +4576,7 @@ const z = {
|
|
|
4576
4576
|
},
|
|
4577
4577
|
async getCompanyBySSOEmail(e) {
|
|
4578
4578
|
const [a, n] = await g(
|
|
4579
|
-
|
|
4579
|
+
X.getBySSOEmail(e.email, this.$storage)
|
|
4580
4580
|
);
|
|
4581
4581
|
if (a)
|
|
4582
4582
|
return this.errorHandler(a);
|
|
@@ -4585,7 +4585,7 @@ const z = {
|
|
|
4585
4585
|
},
|
|
4586
4586
|
async getLoggedInAccounts() {
|
|
4587
4587
|
const e = this.getRefreshTokens(), [a, n] = await g(
|
|
4588
|
-
|
|
4588
|
+
y.getLoggedInAccounts({ refreshTokens: e }, this.$storage)
|
|
4589
4589
|
);
|
|
4590
4590
|
if (a)
|
|
4591
4591
|
return this.errorHandler(a);
|
|
@@ -4729,7 +4729,7 @@ const _e = /* @__PURE__ */ T(Be, [["render", Ze], ["__scopeId", "data-v-806183a1
|
|
|
4729
4729
|
return this.googleLoad = !1;
|
|
4730
4730
|
if (this.referral && (a.ref = this.referral), a.authentication && (a.authentication.accessToken || a.authentication.idToken)) {
|
|
4731
4731
|
this.referral && (a.ref = this.referral), this.display === "popup" && (a.response_type = "code");
|
|
4732
|
-
const [o, i] = await g(
|
|
4732
|
+
const [o, i] = await g(y.googleSDK(a, this.$storage));
|
|
4733
4733
|
if (o)
|
|
4734
4734
|
return this.googleLoad = !1, d.$emit("ssoEvent", { name: "setLoading", data: !1 }), this.errorHandler(o);
|
|
4735
4735
|
if (i.data.success) {
|
|
@@ -4782,7 +4782,7 @@ const ge = {
|
|
|
4782
4782
|
if (a)
|
|
4783
4783
|
return this.facebookLoad = !1;
|
|
4784
4784
|
if (this.referral && (n.ref = this.referral), this.display === "popup" && (n.response_type = "code"), n.accessToken) {
|
|
4785
|
-
const [i, r] = await g(
|
|
4785
|
+
const [i, r] = await g(y.facebookSDK(n, this.$storage));
|
|
4786
4786
|
if (i)
|
|
4787
4787
|
return this.facebookLoad = !1, d.$emit("ssoEvent", { name: "setLoading", data: !1 }), this.errorHandler(i);
|
|
4788
4788
|
if (r.data.success) {
|
|
@@ -4822,7 +4822,7 @@ const ge = {
|
|
|
4822
4822
|
return this.appleLoad = !1;
|
|
4823
4823
|
if (a.response.tokenData = te(a.response.identityToken), a && a.response && a.response.identityToken) {
|
|
4824
4824
|
this.referral && (a.response.ref = this.referral), this.display === "popup" && (a.response_type = "code");
|
|
4825
|
-
const [o, i] = await g(
|
|
4825
|
+
const [o, i] = await g(y.appleSDK(a.response, this.$storage));
|
|
4826
4826
|
if (o)
|
|
4827
4827
|
return this.appleLoad = !1, d.$emit("ssoEvent", { name: "setLoading", data: !1 }), this.errorHandler(o);
|
|
4828
4828
|
if (i.data.success) {
|
|
@@ -4839,7 +4839,7 @@ const ge = {
|
|
|
4839
4839
|
}
|
|
4840
4840
|
};
|
|
4841
4841
|
var Je = { VITE_APP_MODE: "npm", VITE_APP_APP_ROOT: "https://t.link", VITE_APP_API_ROOT: "https://api.tapni.co", VITE_APP_GOOGLE_RECAPTCHA_SITE_KEY: "6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk", VITE_APP_SSO_ID: "9cd47053-080a-4df8-8fd8-ca4389163fde", VITE_APP_POPUP_LOGIN_ALLOWED_ORIGIN: "https://auth.tapni.com", BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
|
|
4842
|
-
const
|
|
4842
|
+
const F = {
|
|
4843
4843
|
data() {
|
|
4844
4844
|
return {
|
|
4845
4845
|
microsoftLoad: !1,
|
|
@@ -4871,7 +4871,7 @@ const Q = {
|
|
|
4871
4871
|
return console.log("Error: " + JSON.stringify(n)), this.microsoftLoad = !1;
|
|
4872
4872
|
if (this.referral && (o.ref = this.referral), o.response_type = "code", o && (o.accessToken || o.idToken)) {
|
|
4873
4873
|
const [s, _] = await g(
|
|
4874
|
-
|
|
4874
|
+
y.microsoftSDK(o, this.$storage)
|
|
4875
4875
|
);
|
|
4876
4876
|
if (s)
|
|
4877
4877
|
return this.microsoftLoad = !1, this.microsoftSSOLoad = !1, d.$emit("ssoEvent", { name: "setLoading", data: !1 }), this.errorHandler(s);
|
|
@@ -4980,7 +4980,7 @@ const Q = {
|
|
|
4980
4980
|
console.log(o);
|
|
4981
4981
|
}
|
|
4982
4982
|
}
|
|
4983
|
-
},
|
|
4983
|
+
}, Q = {
|
|
4984
4984
|
data() {
|
|
4985
4985
|
return {
|
|
4986
4986
|
oktaAuth: null
|
|
@@ -4997,12 +4997,12 @@ const Q = {
|
|
|
4997
4997
|
methods: {
|
|
4998
4998
|
async exchangeCode(e) {
|
|
4999
4999
|
var i, r;
|
|
5000
|
-
let [a, n] = await g(
|
|
5000
|
+
let [a, n] = await g(Y.post(e.domain + "/v1/token", new URLSearchParams({ code: e.code, client_id: e.clientID, grant_type: "authorization_code", redirect_uri: this.isNative ? "tapni://t.link/callback/okta" : location.origin + "/callback/okta", code_verifier: localStorage.getItem("pkce_code_verifier") })));
|
|
5001
5001
|
if (a)
|
|
5002
5002
|
return this.errorHandler(a);
|
|
5003
5003
|
localStorage.removeItem("pkce_code_verifier");
|
|
5004
5004
|
let o = { accessToken: (i = n.data) == null ? void 0 : i.access_token, domain: e.domain };
|
|
5005
|
-
if (this.display === "popup" && (o.response_type = "code"), [a, n] = await g(
|
|
5005
|
+
if (this.display === "popup" && (o.response_type = "code"), [a, n] = await g(y.oktaSDK(o, this.$storage)), a)
|
|
5006
5006
|
return this.oktaLoad = !1, d.$emit("ssoEvent", { name: "setLoading", data: !1 }), this.errorHandler(a);
|
|
5007
5007
|
if (n.data.success) {
|
|
5008
5008
|
if (this.display === "popup")
|
|
@@ -5024,7 +5024,7 @@ const Q = {
|
|
|
5024
5024
|
if (!this.allowedOrigins.includes(q.origin))
|
|
5025
5025
|
return console.log("Origin is not allowed!");
|
|
5026
5026
|
q.data.type === "okta" && (L = q.data.code, await _.exchangeCode({ domain: e.domain, code: L, clientID: e.clientID }));
|
|
5027
|
-
}, { once: !0 }), this.isNative ? await
|
|
5027
|
+
}, { once: !0 }), this.isNative ? await H.open({ url: s, presentationStyle: "popover" }) : window.open(s, "popup", "width=600,height=600");
|
|
5028
5028
|
},
|
|
5029
5029
|
async handleOktaRedirect() {
|
|
5030
5030
|
let e = this.$route.query.code, a, n, o, i, r = { type: "okta" };
|
|
@@ -5033,10 +5033,10 @@ const Q = {
|
|
|
5033
5033
|
const u = new URLSearchParams(a);
|
|
5034
5034
|
n = u.get("client_id"), o = u.get("domain"), i = u.get("platform");
|
|
5035
5035
|
}
|
|
5036
|
-
window.opener ? (window.opener.postMessage(r, location.origin), window.close()) : (this.isNative && this.isIOS && await
|
|
5036
|
+
window.opener ? (window.opener.postMessage(r, location.origin), window.close()) : (this.isNative && this.isIOS && await H.close(), d.$emit("ssoEvent", { name: "setLoading", data: !0 }), e && n && o && await this.exchangeCode({ code: e, clientID: n, domain: o, platform: i }), localStorage.removeItem("pkce_code_verifier"), d.$emit("ssoEvent", { name: "setLoading", data: !1 }));
|
|
5037
5037
|
}
|
|
5038
5038
|
}
|
|
5039
|
-
},
|
|
5039
|
+
}, G = {
|
|
5040
5040
|
data() {
|
|
5041
5041
|
return {
|
|
5042
5042
|
code_verifier: "",
|
|
@@ -5067,7 +5067,7 @@ const Q = {
|
|
|
5067
5067
|
return (r = window.parent) == null ? void 0 : r.postMessage({ code: i.data.code, state: this.$route.query.state, code_verifier: localStorage.getItem("pkce_code_verifier") }, "*");
|
|
5068
5068
|
await o.exchangeAuthCode({ code: i.data.code, code_verifier: localStorage.getItem("pkce_code_verifier") }), localStorage.removeItem("pkce_code_verifier");
|
|
5069
5069
|
}
|
|
5070
|
-
}, { once: !0 }), this.isNative ? await
|
|
5070
|
+
}, { once: !0 }), this.isNative ? await H.open({ url: e, presentationStyle: "popover" }) : window.open(e, "popup", "width=600,height=600");
|
|
5071
5071
|
},
|
|
5072
5072
|
async handleSamlRedirect() {
|
|
5073
5073
|
var n;
|
|
@@ -5075,7 +5075,7 @@ const Q = {
|
|
|
5075
5075
|
if (this.$route.query.code && (a.code = this.$route.query.code), window.opener)
|
|
5076
5076
|
window.opener.postMessage(a, location.origin), window.close();
|
|
5077
5077
|
else {
|
|
5078
|
-
if (this.isNative && this.isIOS && await
|
|
5078
|
+
if (this.isNative && this.isIOS && await H.close(), EventBus.$emit("ssoEvent", { name: "setLoading", data: !0 }), this.$route.query.code && (e = this.$route.query.code), e) {
|
|
5079
5079
|
if (this.display === "popup")
|
|
5080
5080
|
return (n = window.parent) == null ? void 0 : n.postMessage({ code: e, state: this.$route.query.state }, "*");
|
|
5081
5081
|
await this.exchangeAuthCode({ code: e, code_verifier: localStorage.getItem("pkce_code_verifier") });
|
|
@@ -5146,7 +5146,7 @@ const Q = {
|
|
|
5146
5146
|
},
|
|
5147
5147
|
async startQrCodePooling() {
|
|
5148
5148
|
this.poolingInterval = setInterval(async () => {
|
|
5149
|
-
const [e, a] = await g(
|
|
5149
|
+
const [e, a] = await g(X.qrCodePooling({
|
|
5150
5150
|
qrToken: this.qrCodeHash
|
|
5151
5151
|
}, this.$storage));
|
|
5152
5152
|
if (e)
|
|
@@ -5162,7 +5162,7 @@ const Q = {
|
|
|
5162
5162
|
}
|
|
5163
5163
|
}, aa = {
|
|
5164
5164
|
name: "AuthLogin",
|
|
5165
|
-
mixins: [me, ge, he, Q, G,
|
|
5165
|
+
mixins: [me, ge, he, F, Q, G, z, ea],
|
|
5166
5166
|
props: {
|
|
5167
5167
|
isModal: {
|
|
5168
5168
|
type: Boolean,
|
|
@@ -5323,7 +5323,7 @@ function Wa(e, a, n, o, i, r) {
|
|
|
5323
5323
|
const u = V("router-link");
|
|
5324
5324
|
return c(), l("form", {
|
|
5325
5325
|
class: "page-login content-boxed content-boxed-padding",
|
|
5326
|
-
onSubmit: a[14] || (a[14] =
|
|
5326
|
+
onSubmit: a[14] || (a[14] = w((...s) => r.submit && r.submit(...s), ["prevent"])),
|
|
5327
5327
|
autocomplete: "on",
|
|
5328
5328
|
style: R(n.isModal ? "max-width: 500px;" : "")
|
|
5329
5329
|
}, [
|
|
@@ -5344,7 +5344,7 @@ function Wa(e, a, n, o, i, r) {
|
|
|
5344
5344
|
sa,
|
|
5345
5345
|
k(t("input", {
|
|
5346
5346
|
"onUpdate:modelValue": a[2] || (a[2] = (s) => i.emailOrUsername = s),
|
|
5347
|
-
onKeydown: a[3] || (a[3] = E(
|
|
5347
|
+
onKeydown: a[3] || (a[3] = E(w(() => {
|
|
5348
5348
|
}, ["prevent"]), ["space"])),
|
|
5349
5349
|
autocorrect: "off",
|
|
5350
5350
|
autocapitalize: "off",
|
|
@@ -5490,7 +5490,7 @@ function Wa(e, a, n, o, i, r) {
|
|
|
5490
5490
|
}
|
|
5491
5491
|
const fe = /* @__PURE__ */ T(aa, [["render", Wa]]), Xa = {
|
|
5492
5492
|
name: "AuthRegister",
|
|
5493
|
-
mixins: [me, ge, he,
|
|
5493
|
+
mixins: [me, ge, he, F, z],
|
|
5494
5494
|
props: {
|
|
5495
5495
|
isModal: {
|
|
5496
5496
|
type: Boolean,
|
|
@@ -5628,7 +5628,7 @@ function Kn(e, a, n, o, i, r) {
|
|
|
5628
5628
|
const u = V("router-link");
|
|
5629
5629
|
return c(), l("form", {
|
|
5630
5630
|
class: "page-login content-boxed content-boxed-padding",
|
|
5631
|
-
onSubmit: a[12] || (a[12] =
|
|
5631
|
+
onSubmit: a[12] || (a[12] = w((...s) => r.submit && r.submit(...s), ["prevent"])),
|
|
5632
5632
|
autocomplete: "on",
|
|
5633
5633
|
style: R(n.isModal ? "max-width: 500px;" : "")
|
|
5634
5634
|
}, [
|
|
@@ -5650,7 +5650,7 @@ function Kn(e, a, n, o, i, r) {
|
|
|
5650
5650
|
rn,
|
|
5651
5651
|
k(t("input", {
|
|
5652
5652
|
"onUpdate:modelValue": a[1] || (a[1] = (s) => i.email = s),
|
|
5653
|
-
onKeydown: a[2] || (a[2] = E(
|
|
5653
|
+
onKeydown: a[2] || (a[2] = E(w(() => {
|
|
5654
5654
|
}, ["prevent"]), ["space"])),
|
|
5655
5655
|
type: "email",
|
|
5656
5656
|
placeholder: e.ssoLang[this.appLanguage].email,
|
|
@@ -5665,7 +5665,7 @@ function Kn(e, a, n, o, i, r) {
|
|
|
5665
5665
|
dn,
|
|
5666
5666
|
k(t("input", {
|
|
5667
5667
|
"onUpdate:modelValue": a[3] || (a[3] = (s) => i.username = s),
|
|
5668
|
-
onKeydown: a[4] || (a[4] = E(
|
|
5668
|
+
onKeydown: a[4] || (a[4] = E(w(() => {
|
|
5669
5669
|
}, ["prevent"]), ["space"])),
|
|
5670
5670
|
type: "text",
|
|
5671
5671
|
autocorrect: "off",
|
|
@@ -5887,7 +5887,7 @@ function ht(e, a, n, o, i, r) {
|
|
|
5887
5887
|
const u = V("router-link");
|
|
5888
5888
|
return c(), l("form", {
|
|
5889
5889
|
class: "page-login content-boxed content-boxed-padding",
|
|
5890
|
-
onSubmit: a[6] || (a[6] =
|
|
5890
|
+
onSubmit: a[6] || (a[6] = w((...s) => r.submit && r.submit(...s), ["prevent"])),
|
|
5891
5891
|
style: R(n.isModal ? "max-width: 500px;" : "")
|
|
5892
5892
|
}, [
|
|
5893
5893
|
n.isModal ? (c(), l("a", {
|
|
@@ -5903,7 +5903,7 @@ function ht(e, a, n, o, i, r) {
|
|
|
5903
5903
|
k(t("input", {
|
|
5904
5904
|
id: "emailInput",
|
|
5905
5905
|
"onUpdate:modelValue": a[1] || (a[1] = (s) => i.email = s),
|
|
5906
|
-
onKeydown: a[2] || (a[2] = E(
|
|
5906
|
+
onKeydown: a[2] || (a[2] = E(w(() => {
|
|
5907
5907
|
}, ["prevent"]), ["space"])),
|
|
5908
5908
|
type: "email",
|
|
5909
5909
|
placeholder: e.ssoLang[this.appLanguage].email,
|
|
@@ -5918,7 +5918,7 @@ function ht(e, a, n, o, i, r) {
|
|
|
5918
5918
|
k(t("input", {
|
|
5919
5919
|
id: "codeInput",
|
|
5920
5920
|
"onUpdate:modelValue": a[3] || (a[3] = (s) => i.code = s),
|
|
5921
|
-
onKeydown: a[4] || (a[4] = E(
|
|
5921
|
+
onKeydown: a[4] || (a[4] = E(w(() => {
|
|
5922
5922
|
}, ["prevent"]), ["space"])),
|
|
5923
5923
|
type: "tel",
|
|
5924
5924
|
placeholder: e.ssoLang[this.appLanguage].code,
|
|
@@ -6087,7 +6087,7 @@ function Jt(e, a, n, o, i, r) {
|
|
|
6087
6087
|
return i.passwordChange ? (c(), l("form", {
|
|
6088
6088
|
key: 1,
|
|
6089
6089
|
class: "page-login content-boxed content-boxed-padding",
|
|
6090
|
-
onSubmit: a[7] || (a[7] =
|
|
6090
|
+
onSubmit: a[7] || (a[7] = w((...s) => r.changePw && r.changePw(...s), ["prevent"]))
|
|
6091
6091
|
}, [
|
|
6092
6092
|
t("h3", qt, p(e.ssoLang[this.appLanguage].password_change), 1),
|
|
6093
6093
|
t("p", Mt, p(e.ssoLang[this.appLanguage].password_new), 1),
|
|
@@ -6149,7 +6149,7 @@ function Jt(e, a, n, o, i, r) {
|
|
|
6149
6149
|
], 32)) : (c(), l("form", {
|
|
6150
6150
|
key: 0,
|
|
6151
6151
|
class: "page-login content-boxed content-boxed-padding",
|
|
6152
|
-
onSubmit: a[2] || (a[2] =
|
|
6152
|
+
onSubmit: a[2] || (a[2] = w((...s) => r.resetEmail && r.resetEmail(...s), ["prevent"])),
|
|
6153
6153
|
autocomplete: "on"
|
|
6154
6154
|
}, [
|
|
6155
6155
|
t("h3", vt, p(e.ssoLang[this.appLanguage].reset_password), 1),
|
|
@@ -6159,7 +6159,7 @@ function Jt(e, a, n, o, i, r) {
|
|
|
6159
6159
|
k(t("input", {
|
|
6160
6160
|
id: "emailInput",
|
|
6161
6161
|
"onUpdate:modelValue": a[0] || (a[0] = (s) => i.email = s),
|
|
6162
|
-
onKeydown: a[1] || (a[1] = E(
|
|
6162
|
+
onKeydown: a[1] || (a[1] = E(w(() => {
|
|
6163
6163
|
}, ["prevent"]), ["space"])),
|
|
6164
6164
|
type: "email",
|
|
6165
6165
|
placeholder: e.ssoLang[this.appLanguage].email,
|
|
@@ -6207,7 +6207,7 @@ function Jt(e, a, n, o, i, r) {
|
|
|
6207
6207
|
}
|
|
6208
6208
|
const be = /* @__PURE__ */ T(ft, [["render", Jt], ["__scopeId", "data-v-7eff2bb3"]]), ei = {
|
|
6209
6209
|
name: "AuthCallback",
|
|
6210
|
-
mixins: [
|
|
6210
|
+
mixins: [Q, G, z],
|
|
6211
6211
|
data() {
|
|
6212
6212
|
return {};
|
|
6213
6213
|
},
|
|
@@ -6279,7 +6279,7 @@ function ri(e, a, n, o, i, r) {
|
|
|
6279
6279
|
}
|
|
6280
6280
|
const we = /* @__PURE__ */ T(oi, [["render", ri], ["__scopeId", "data-v-a128c2fa"]]), si = {
|
|
6281
6281
|
name: "SSO",
|
|
6282
|
-
mixins: [Q, G,
|
|
6282
|
+
mixins: [F, Q, G, z],
|
|
6283
6283
|
data() {
|
|
6284
6284
|
return {
|
|
6285
6285
|
toggle: !1,
|
|
@@ -6338,7 +6338,7 @@ const we = /* @__PURE__ */ T(oi, [["render", ri], ["__scopeId", "data-v-a128c2fa
|
|
|
6338
6338
|
};
|
|
6339
6339
|
function hi(e, a, n, o, i, r) {
|
|
6340
6340
|
return c(), l("form", {
|
|
6341
|
-
onSubmit: a[3] || (a[3] =
|
|
6341
|
+
onSubmit: a[3] || (a[3] = w((...u) => r.submit && r.submit(...u), ["prevent"])),
|
|
6342
6342
|
class: b(["menu-wrapper menu-light menu-modal center-text activate-page", { "active-menu": i.toggle }]),
|
|
6343
6343
|
style: { height: "auto", "margin-top": "-172.5px" }
|
|
6344
6344
|
}, [
|
|
@@ -6360,7 +6360,7 @@ function hi(e, a, n, o, i, r) {
|
|
|
6360
6360
|
class: "edit-input h-40 lh-40",
|
|
6361
6361
|
style: { width: "80%" },
|
|
6362
6362
|
required: "",
|
|
6363
|
-
onKeydown: a[2] || (a[2] = E(
|
|
6363
|
+
onKeydown: a[2] || (a[2] = E(w(() => {
|
|
6364
6364
|
}, ["prevent"]), ["space"]))
|
|
6365
6365
|
}, null, 40, ui), [
|
|
6366
6366
|
[x, i.email]
|
|
@@ -6373,7 +6373,7 @@ function hi(e, a, n, o, i, r) {
|
|
|
6373
6373
|
}
|
|
6374
6374
|
const ze = /* @__PURE__ */ T(si, [["render", hi], ["__scopeId", "data-v-11f19a09"]]), fi = {
|
|
6375
6375
|
name: "SSOPick",
|
|
6376
|
-
mixins: [Q, G,
|
|
6376
|
+
mixins: [F, Q, G, z],
|
|
6377
6377
|
data() {
|
|
6378
6378
|
return {
|
|
6379
6379
|
toggle: !1,
|
|
@@ -6406,7 +6406,7 @@ const ze = /* @__PURE__ */ T(si, [["render", hi], ["__scopeId", "data-v-11f19a09
|
|
|
6406
6406
|
this.azureLoad = !1, this.oktaLoad = !1, this.samlLoad = !1, this.sso = null, this.email = null, e && (this.sso = e.sso, this.email = e.email), this.toggle = !this.toggle;
|
|
6407
6407
|
}
|
|
6408
6408
|
}
|
|
6409
|
-
},
|
|
6409
|
+
}, W = (e) => (O("data-v-4f821f65"), e = e(), B(), e), vi = /* @__PURE__ */ W(() => /* @__PURE__ */ t("i", { class: "font-17 color-black" }, [
|
|
6410
6410
|
/* @__PURE__ */ t("img", {
|
|
6411
6411
|
src: "https://cdn.tapni.co/icons/down-arrow.png",
|
|
6412
6412
|
class: "responsive-image",
|
|
@@ -6414,19 +6414,19 @@ const ze = /* @__PURE__ */ T(si, [["render", hi], ["__scopeId", "data-v-11f19a09
|
|
|
6414
6414
|
})
|
|
6415
6415
|
], -1)), ki = [
|
|
6416
6416
|
vi
|
|
6417
|
-
], bi = { class: "bold center-text color-black half-top half-bottom" }, yi = /* @__PURE__ */
|
|
6417
|
+
], bi = { class: "bold center-text color-black half-top half-bottom" }, yi = /* @__PURE__ */ W(() => /* @__PURE__ */ t("img", {
|
|
6418
6418
|
src: "https://cdn.tapni.co/icons/azure.png",
|
|
6419
6419
|
style: { position: "absolute", "margin-left": "-11px", padding: "8px 0", height: "100%" }
|
|
6420
6420
|
}, null, -1)), wi = { key: 0 }, zi = {
|
|
6421
6421
|
key: 1,
|
|
6422
6422
|
class: "button--loading button__loader"
|
|
6423
|
-
}, Li = /* @__PURE__ */
|
|
6423
|
+
}, Li = /* @__PURE__ */ W(() => /* @__PURE__ */ t("img", {
|
|
6424
6424
|
src: "https://cdn.tapni.co/icons/okta.png",
|
|
6425
6425
|
style: { position: "absolute", "margin-left": "-11px", padding: "8px 0", height: "100%" }
|
|
6426
6426
|
}, null, -1)), Si = { key: 0 }, Ci = {
|
|
6427
6427
|
key: 1,
|
|
6428
6428
|
class: "button--loading button__loader"
|
|
6429
|
-
}, Ti = /* @__PURE__ */
|
|
6429
|
+
}, Ti = /* @__PURE__ */ W(() => /* @__PURE__ */ t("img", {
|
|
6430
6430
|
src: "https://cdn.tapni.co/icons/saml.png",
|
|
6431
6431
|
style: { position: "absolute", "margin-left": "-11px", padding: "8px 0", height: "100%" }
|
|
6432
6432
|
}, null, -1)), ji = { key: 0 }, Pi = {
|
|
@@ -6436,7 +6436,7 @@ const ze = /* @__PURE__ */ T(si, [["render", hi], ["__scopeId", "data-v-11f19a09
|
|
|
6436
6436
|
function Ai(e, a, n, o, i, r) {
|
|
6437
6437
|
var u, s, _;
|
|
6438
6438
|
return c(), l("form", {
|
|
6439
|
-
onSubmit: a[4] || (a[4] =
|
|
6439
|
+
onSubmit: a[4] || (a[4] = w(() => {
|
|
6440
6440
|
}, ["prevent"])),
|
|
6441
6441
|
class: b(["menu-wrapper menu-light menu-modal center-text activate-page", { "active-menu": i.toggle }]),
|
|
6442
6442
|
style: { height: "auto", "margin-top": "-172.5px" }
|
|
@@ -6619,7 +6619,7 @@ const Ni = /* @__PURE__ */ T(Ii, [["render", Ri]]), Vi = {
|
|
|
6619
6619
|
d.$on("toggleLanguageModal", this.toggleModal), d.$on("closeModal", () => {
|
|
6620
6620
|
this.toggle = !1;
|
|
6621
6621
|
});
|
|
6622
|
-
let e = this.isNative ? await
|
|
6622
|
+
let e = this.isNative ? await $.getLanguageCode() : N.getFirstBrowserLanguage();
|
|
6623
6623
|
e && Vi.SUPPORTED_LANGUAGES.includes(e) && this.updateLanguage(e);
|
|
6624
6624
|
},
|
|
6625
6625
|
beforeDestroy() {
|
package/dist/TapniAuth.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(e,z){typeof exports=="object"&&typeof module<"u"?module.exports=z(require("vue"),require("vue-router"),require("await-to-js"),require("axios"),require("jwt-decode"),require("@capacitor/device"),require("@capacitor/core"),require("@codetrix-studio/capacitor-google-auth"),require("@capacitor-community/facebook-login"),require("@capacitor-community/apple-sign-in"),require("@recognizebv/capacitor-plugin-msauth"),require("@capacitor/browser"),require("qr-code-styling"),require("@braintree/sanitize-url"),require("@tapni/capacitor-reactive-localstorage-vue3")):typeof define=="function"&&define.amd?define(["vue","vue-router","await-to-js","axios","jwt-decode","@capacitor/device","@capacitor/core","@codetrix-studio/capacitor-google-auth","@capacitor-community/facebook-login","@capacitor-community/apple-sign-in","@recognizebv/capacitor-plugin-msauth","@capacitor/browser","qr-code-styling","@braintree/sanitize-url","@tapni/capacitor-reactive-localstorage-vue3"],z):(e=typeof globalThis<"u"?globalThis:e||self,e.TapniAuth=z(e.Vue,e.vueRouter,e.to,e.axios,e.jwtDecode,e.device,e.core,e.capacitorGoogleAuth,e.facebookLogin,e.appleSignIn,e.capacitorPluginMsauth,e.browser,e.QRCodeStyling,e.sanitizeUrl))})(this,function(e,z,_,
|
|
1
|
+
(function(e,z){typeof exports=="object"&&typeof module<"u"?module.exports=z(require("vue"),require("vue-router"),require("await-to-js"),require("axios"),require("jwt-decode"),require("@capacitor/device"),require("@capacitor/core"),require("@codetrix-studio/capacitor-google-auth"),require("@capacitor-community/facebook-login"),require("@capacitor-community/apple-sign-in"),require("@recognizebv/capacitor-plugin-msauth"),require("@capacitor/browser"),require("qr-code-styling"),require("@braintree/sanitize-url"),require("@tapni/capacitor-reactive-localstorage-vue3")):typeof define=="function"&&define.amd?define(["vue","vue-router","await-to-js","axios","jwt-decode","@capacitor/device","@capacitor/core","@codetrix-studio/capacitor-google-auth","@capacitor-community/facebook-login","@capacitor-community/apple-sign-in","@recognizebv/capacitor-plugin-msauth","@capacitor/browser","qr-code-styling","@braintree/sanitize-url","@tapni/capacitor-reactive-localstorage-vue3"],z):(e=typeof globalThis<"u"?globalThis:e||self,e.TapniAuth=z(e.Vue,e.vueRouter,e.to,e.axios,e.jwtDecode,e.device,e.core,e.capacitorGoogleAuth,e.facebookLogin,e.appleSignIn,e.capacitorPluginMsauth,e.browser,e.QRCodeStyling,e.sanitizeUrl))})(this,function(e,z,_,I,V,L,S,B,se,ce,le,E,de,pe){"use strict";const _e="0.0.37",p=(a,t=!1)=>{const n=_e;let o="https://api.tapni.co/v1/";location.hostname.includes("dev.")&&(o="https://api-dev.tapni.co");let i=I.create({baseURL:o,headers:{Authorization:`Bearer ${a.token}`,"X-Client-Name":"sso-"+n.platform,"X-Client-Version":n.version}});return i.interceptors.request.use(async function(r){if(["post","put","delete"].includes(r.method.toLowerCase())?r.data={...r.data,lang:a.appLanguage,realm:a.realm||"app"}:r.method.toLowerCase()==="get"&&(r.params={...r.params,lang:a.appLanguage,realm:a.realm||"app"}),a.token&&!t){const l=V.jwtDecode(a.token);if(l.exp-30<Math.floor(Date.now()/1e3))return m.methods.refreshTokenAction(l).then(()=>(r.headers={...r.headers,Authorization:`Bearer ${a.token}`},r))}return r}),i},y={getMe(){return p(storage).get("/users/me")},getByUsername(a,t){let n=document.referrer||"",o=a.utmParams||{};return a.dontTap&&(o.dontTap=!0),p(t).get(`/users/${a.username}`,{params:o,headers:{"X-Referer":n}})},getByNumber(a,t){let n=document.referrer||"",o=a.utmParams||{};return a.dontTap&&(o.dontTap=!0),p(t).get(`/users/tag/${a.serial}`,{params:o,headers:{"X-Referer":n}})},save(a,t){return p(t).put("/users",a)},newPassword(a,t){return p(t).put("/users/new-password",a)},connect(a,t){return p(t).post("/users/connect",a)},eventLog(a,t){return p(t).post("/users/log",a)},deleteAccount(a,t){return p(t).post("/users/profile/delete",a)},registerDevice(a,t){return p(t).post("/users/device/register",a)},addFcmToken(a,t){return p(t).post("/users/device/fcm",a)},loginUsingQR(a,t){return p(t).post("/users/qr/login",a)}},x={registerDevice(a,t){return p(t).post("/devices/add",a)},addFcmToken(a,t){return p(t).post("/devices/fcm/add",a)}};let g;L.Device.getId().then(a=>g=a.uuid);const u={register(a,t){return a.device_id=g,p(t).post("/users/register",a)},login(a,t){return a.device_id=g,p(t).post("/users/login",a)},logout(a,t){return a.device_id=g,p(t).post("/users/logout",a)},refreshToken(a,t){return p(t,!0).get(`/users/refresh-token?UserId=${a.id}&token=${a.refreshToken}`)},getLoggedInAccounts(a,t){return p(t).post("/users/tokens",a)},sendResetEmail(a,t){return a.device_id=g,p(t).post("/users/reset",a)},changePassword(a,t){return p(t).put("/users/password",a,{headers:{Authorization:"Bearer "+a.token}})},verify(a,t){return p(t).get("/users/verify?c="+a.code+"&e="+a.email+"&captchatoken="+a.captchaToken)},googleUrl(a){return p(a).get("/users/google/url")},google(a,t){return a.device_id=g,p(t).post("/users/google",a)},facebook(a,t){return a.device_id=g,p(t).post("/users/facebook",a)},googleSDK(a,t){return a.device_id=g,p(t).post("/users/google/sdk",a)},facebookSDK(a,t){return a.device_id=g,p(t).post("/users/facebook/sdk",a)},appleSDK(a,t){return a.device_id=g,p(t).post("/users/apple/sdk",a)},microsoftSDK(a,t){return a.device_id=g,p(t).post("/users/microsoft/sdk",a)},oktaSDK(a,t){return a.device_id=g,p(t).post("/users/okta/sdk",a)},samlLoginUrl(a,t){return p(t).post("/saml/url",a)},exchangeAuthCode(a,t){return p(t).post("/v1/users/auth-code",a)}},N={getBySSOEmail(a,t){return p(t).get(`/company/sso/${a}`)},acceptCompanyInvitation(a,t){return p(t).get(`/users/invitation?ic=${a}`)},qrCodePooling(a,t){return p(t).post("/company/login/qr",a)}},C=e.reactive(new Map),c={$on(a,t){let n=C.get(a);n||(n=new Set,C.set(a,n)),n.add(t)},$emit(a,...t){const n=C.get(a);if(n)for(const o of n)o(...t)},$off(a,t){const n=C.get(a);n&&n.delete(t)}};e.readonly(c);const M={state:{english:"English",spanish:"Spanish",german:"German",korean:"Korean",italian:"Italian",french:"French",serbian:"Serbian",turkish:"Turkish",chinese:"Chinese",app_language:"Language",profile_preview:"Profile preview",edit_profile:"Edit profile",login:"Login",referral_reach:"Provide us with more information about you and your reach.",referral_apply_placeholder:"How do you plan to promote Tapni?",referral_apply_note:`Add as many links as possible in your account, <br>
|
|
2
2
|
so that we can know who you are.
|
|
3
3
|
<br><br>Be exclusive.
|
|
4
4
|
<br>Not everyone gets accepted.😉`,referral_apply_now:"Apply now",referral_apply_thanks:"Thanks for applying. We will review your application soon!",connect:"Connect",with:"with",exchange_contact:"Exchange Contact",add_details:"Add more",show_details:"Show more",download_contact:"Download Contact",stay_in_touch:"Stay in touch with",no_thanks:"No Thanks",connect_join:"Join Tapni",connect_with:"Exchange contact with",connect_required_fields:"One of the two contact fields must be provided",name:"Name",first_name:"First name",last_name:"Last name",email:"Email",phone:"Phone number",phone_p:"Phone",company:"Company",address:"Address",website:"Website",open:"Open",delete:"Delete",confirm:"Confirm",cancel:"Cancel",save:"Save",code:"Code",note:"Note",note_p:"Add a note",contact_card_icon:"Set text under the contact card icon",contact_card_name:"Enter first and lastname",contact_card_name_p:"Contact card name",contact_card_email:"Enter personal email address",contact_card_email_p:"Contact card email",contact_card_phone:"Enter personal phone number",contact_card_phone_p:"Contact card phone",contact_card_website:"Enter personal website",contact_card_website_p:"Contact card website",contact_card_company_name:"Enter company name",contact_card_company_name_p:"Contact card company name",contact_card_job_title:"Job title",contact_card_job_title_p:"Enter job title",contact_card_company_website:"Company website",contact_card_company_website_p:"Enter company website",contact_card_bio:"Enter bio for the contact card",contact_card_bio_p:"Enter bio for the contact card",contact_card_home_address:"Enter home address",contact_card_home_address_p:"Contact card home address",contact_card_work_address:"Enter work address",contact_card_work_address_p:"Contact card work address",contact_card_social:"Choose social media links to your Tapni profile <br>in order to add them in the contact card",contact_card_social_p:"Choose social media links for the contact card",link_text_p:"Link Text",link_icon:"Set text under the link icon",direct_pick:"Pick a direct link",direct_p:"When you tap someone's phone, <br> this link will be opened instead of your full profile.",password_change:"Change password",password_repeat:"Repeat password",password_reset_t:"Password reset",password_current:"Enter your current password",password_current_p:"Current Password",password_new:"Enter your new password",password_new_p:"New Password",password_new_repeat:"Enter your new password again",password_new_repeat_p:"Enter your new password again",password_update:"Password update",password_reset:`If you can't remember your current password,<br>
|
|
@@ -99,4 +99,4 @@ Tanıştığınız herkesi etkileyin 😎 <br> Kendinize bir tane ayırın 👇`
|
|
|
99
99
|
또는 궁금한 게 있으면,<br>
|
|
100
100
|
저희에게 연락주세요`,referral_p5:"지금부터 돈을 벌기 시작하세요!",referral_p66:"제휴링크를 공유하고 돈을 벌어보세요!",referral_p6:`블로거, 인플루언서 또는 소셜 미디어 매니아라면 당사의 엠버서더 프로그램 에 완벽하게 적합합니다.
|
|
101
101
|
브랜드를 홍보하고 할인 코드 또는 추천 링크를 사용하여 구입한 경우 20%의 수수료를 받으십시오.`,referral_p7:`탭니 엠버서더 프로그램에 등록하면 개인 추천 링크와 할인 코드가 발급됩니다.
|
|
102
|
-
웹 사이트 및 소셜 미디어에 공유하여 돈을 버는 동시에 최고의 연결 경험을 제공하십시오.`,referral_p8:"지불 메모",referral_p9:"Paypal (세계적인) 또는 계좌이체 (EU) <br> 최소 지급액은 25€입니다.",referral_p10:"지급 요청",referral_p11:"요청된 지불",your_connections:"나의 연결 기록",connections_p1:"사람들과 만나서 탭을 하세요.",connections_p2:"<br><br>지금까지 연결이 없습니다. <br> 탭을 시작해볼까요💥",connections_p3:"연결을 찾을 수 없습니다.",connection_success:"연결 요청을 보냈습니다.",exchange_success:"연락처를 교환했습니다.",create_free_account:"무료 Tapni 계정을 만들고 연락처를 최신 상태로 유지하십시오!",connection_edit:"연결 편집",connection_edit_success:"성공적으로 업데이트된 연결",connection_delete_success:"연결을 삭제했습니다.",search:"검색",devices_p1:"장치 호환성 목록",devices_p2:"탭니는 대부분의 최신 아이폰 및 안드로이드와 호환이 가능합니다.",devices_p3:"일부 안드로이드 폰은 NFC가 꺼져 있을 수 있습니다. 탭니가 안드로이드 장치에서 작동하지 않는 경우 설정에서 NFC를 검색하고 켜져 있는지 확인합니다.",devices_p4:"제어 센터에 iOS 14 NFC 위젯 포함",download_p1:"탭니 앱 다운로드",download_p2:"애플 및 안드로이드 기기에서 사용 가능",user_not_found:"사용자를 찾을 수 없음",user_not_found_p:"데이터베이스에서 사용자를 찾을 수 없습니다.🤷",taps:"탭",private_profile:"개인 프로필",private_profile_p:"은 개인 프로필입니다. <br> 프로필은 탭니 태그에서만 사용하며 표시됩니다.",profile_bio_p:"자기 소개를 해주세요.",add_to_contacts:"연락처에 추가",drag_and_drop_links:"링크를 원하는 순서대로 끌어서 놓기",no_links:"프로필에 링크가 없습니다.",add_link:"링크 추가",direct_link_p1:"방문자는 다음으로 자동 이동됩니다:",profile_not_active:"프로필이 현재 활성화되지 않았습니다. <br> 로그인을 해야 볼 수 있어요.",profile_not_public:"프로필이 현재 공개되지 않았습니다. <br> 누르신 분들만 볼 수 있습니다.",activate_profile_now:"프로필 활성화 완료",publish_profile_now:"지금 프로필을 공개하십시오.",link_add_p1:"링크 유형 선택",link_add_not_found:"링크를 찾을 수 없습니다. 🤷",link_add_not_found_p2:"즐겨찾는 플랫폼을 놓치셨다면, 저희에게 이메일을 보내주시기 바랍니다. (<b>support@tapni.co</b>) 아니면 소셜 미디어로 DM을 해주세요.(<b>@tapni</b>)",link_add_not_found_p3:"모든 플랫폼을 지원할 수 있도록 최선을 다하겠습니다. 😉",featured:"피처링",social_media:"소셜 미디어",contact:"연락처",finance:"금융",portfolio:"포트폴리오",music:"음악",business:"비지니스",fun:"재미",ecommerce:"전자상거래",more:"더 보기",email_username:"이메일 / 사용자 이름",username:"사용자 이름",password:"비밀번호",sign_in:"로그인",sign_in_with:"로그인",sign_in_with_new:"새 계정으로 로그인",sign_up_with:"등록하기",select_sign_method:"로그인 방법 선택",verify_account:"계정 확인",terms_by_signing_in:"회원님의 동의로 회원가입을 합니다.",terms_by_registering:"동의하시면 등록하여 주십시오.",terms_by_submitting:"이 양식을 제출하면 서비스 약관에 동의하는 것입니다",terms_of_service:"서비스 약관",and:"그리고",refresh:"새로 고침",privacy_policy:"개인 정보 보호 정책",create_account:"계정 만들기",reset_password:"비밀번호 재설정",reset_password_p1:"암호를 재설정할 수 없으면, <br> 언제든지 다음 주소로 연락하십시오.",reset_password_p2:"암호를 재설정할 수 없으면, <br> 언제든지 다음 주소로 연락하십시오.",create_new_account:"새 계정 만들기",maintenance_p1:"우리는 곧 돌아올 것이다.",maintenance_p2:"그동안 탭니 컬렉션 살펴보기",maintenance_p3:"탭니는 예정된 점검으로 인하여 잠시 중단되었습니다. <br> 몇 분 내로 다시 온라인 상태가 될 것입니다.",offline_p1:"인터넷에 연결되지 않음",offline_p2:"연결을 확인한 다음 페이지를 새로 고치십시오.",offline_p3_1:"오프라인일 때 이 QR 코드를 사용하여 연락처 카드를 공유할 수 있습니다.",offline_p3_2:"",products_p1:"만나는 모든 사람에게 깊은 인상을 남깁니다. 😎 <br> 지금 바로 구입하십시오 👇",cards:"카드",stickers:"스티커",keychains:"키 체인",explore_collection:"컬렉션 탐색",register:"등록",register_success:"거의 다 완료하였습니다. 이메일을 확인해 주세요.",register_success_modal:"다른 계정으로 로그인했습니다.",check_your_inbox:"첫 번째 링크를 추가 해 주세요.",tapni_tags:"탭니 태그",tapni_tags_p1:"프로필에 연결된 태그 구성",tapni_tags_p2:"프로필에 연결된 태그가 없습니다. <br> 지금 연결하세요!",verify_account_p1:"코드를 받지 못한 경우 다음을 확인하십시오. <br> 스팸 폴더 또는 연락주세요:",verify_account_success:"계정을 확인했습니다. 지금 비밀번호를 변경해 주세요.",verify_account_success2:"계정을 확인했습니다. 모두 완료 되었습니다.!🥳",welcome:"반갑습니다.",welcome_p1:"비지니스 카드의 미래까지",how_it_works:"작동 방식",already_registered:"이미 등록되어있습니다",error:"오류",success:"성공",copied:"클립보드에 복사됨",connect_validate:"두 개의 연락처 필드 중 하나를 제공해야 합니다.",connect_validate_name:"이름을 입력하십시오.",connect_validate_email:"유효한 이메일을 입력하세요",link_validate:"잘못된 링크 데이터입니다.",link_text_contact_card:"연락처 카드",link_text_custom_link:"사용자 지정 링크",link_text_menu:"메뉴",link_text_phone:"휴대폰",save_to_apple_wallet:"Apple 지갑에 저장",save_to_google_wallet:"Google 지갑에 저장",card:"카드",sticker:"상표",keychain:"키체인",band:"밴드",case:"사례",standee:"서다",decoded:"Decoded",wristbanditz:"Wristbanditz",update_p1:"오래된 앱 버전이 감지되었습니다",update_p2:"업데이트",update_p3:"앱을 최신 버전으로 업데이트하세요",company_domain:"귀하의 회사 도메인",search_company_domain:"회사 도메인 검색",enter_company_email:"회사 이메일을 입력하세요",company_not_found:"회사를 찾을 수 없음",ik_company_domain:"회사 도메인을 알고 있습니다",idk_company_domain:"회사 도메인을 모릅니다",continue:"계속",forbidden_rule:"이 옵션은 비활성화되어 있습니다. 회사 관리자에게 문의하십시오.",companyName:"회사 이름",createMarkerPlaceholder:"마커 생성 또는 선택",clickToCreateMarker:"마커를 만들려면 여기를 클릭하세요.",pleaseInviteUser:"데이터를 동기화하려면 사용자를 Tapni에 가입하도록 초대하세요.",connectionSynchronized:"연결 데이터가 자동으로 동기화됩니다.",viewProfile:"프로필보기",createConnectionHeader:"새 연결 추가",createConnectionButton:"추가하다",createConnectionSuccess:"연결이 생성되었습니다.",allow_company_management:"회사 관리 허용",company_join_request:"이 귀하의 프로필을 관리하고 이를 기업 계정에 연결하도록 요청하고 있습니다.",account_ownership_transfer:"귀하가 요청을 수락하면 귀하의 계정 소유권이 회사로 이전됩니다. 회사는 귀하의 프로필을 수정하고, 링크를 편집 및 추가하고, 연결을 확인하고, 비밀번호를 수정하고, 계정을 삭제하는 등의 작업을 수행할 수 있습니다. 요청을 수락하기 전에 회사에 확인하십시오.",request_expired:"요청이 만료되었습니다. 회사에 새 요청을 보내도록 요청하십시오.",request_expiration_desc:"보안 강화를 위해 요청은 전송된 후 14일 동안만 작동합니다.",invitation_link_not_valid:"초대 링크가 유효하지 않습니다!",invitation_link_not_valid2:"초대 이메일에서 버튼을 다시 클릭하거나 초대 링크를 복사합니다.",accept_request:"요청 수락",close:"닫다",request_accepted:"요청이 성공적으로 수락되었습니다.",companyEmail:"회사 이메일",companyPhone:"회사 전화",addBusinessInformations:"비즈니스 정보 추가",resetFilter:"초기화",selectMarkers:"마커 선택",filterConnectionsHeader:"필터 연결",selectConnectionType:"연결 유형 선택",all:"모두",direct:"직접",form:"형태",manually:"수동으로",scan:"주사",sortOptions:"정렬 옵션",date:"제작 일",fullName:"성명",descending:"내림차순",ascending:"오름차순",selectDateRange:"날짜 범위 선택",follow_up_reminder:"후속 알림",now:"지금",one_hour:"1 토",one_day:"1 일",three_days:"3 일",one_week:"일주",two_weeks:"이주",one_month:"개월",custom:"시간 선택",set_reminder:"알림 설정",select_date_time:"날짜 및 시간 선택",enter_reminder_text:"알림 텍스트 입력",reminder_created:"알림이 생성되었습니다.",connectionNameLabel:"연결 이름 입력",connectionEmailLabel:"개인 이메일 주소 입력",privatePhoneLabel:"개인 전화번호 입력",companyNameLabel:"회사 이름 입력",businessEmail:"비즈니스 이메일 주소",businessEmailLabel:"비즈니스 이메일 주소 입력",businessPhone:"회사 전화번호",businessPhoneLabel:"회사 전화번호 입력",noteLabel:"메모 입력",markersLabel:"연결 마커 추가",showScan:"스캔 표시",hideScan:"스캔 숨기기",create_connection:"연결 추가",create_manually:"수동으로 추가",create_using_scanner:"카드 스캐너를 사용하여 추가",companyTitle:"회사명",companyTitleLabel:"회사명 입력",allConnectionsLabel:"모든 연결 유형",directConnectionsLabel:"Tapni 사용자와 직접 앱 내 연결",formConnectionsLabel:"연결 양식에 채워진 연결",manualConnectionsLabel:"수동으로 생성된 연결",scanConnectionsLabel:"카드 스캐너가 연결을 생성했습니다.",analyticsHeader:"분석",analyticsProfileViews:"프로필 보기",analyticsLinkClicks:"링크 클릭 수",analyticsClickTroughRatio:"트로프 비율 클릭",analyticsTotalConnections:"총 연결 수",analyticsTopLinks:"가장 인기 있는 링크",analyticsProfileVisits:"프로필 방문",analyticsLinkVisits:"링크 방문",analyticsNewConnections:"새로운 연결",analyticsTopCountries:"상위 국가",analyticsTopReferers:"상위 추천인",please_wait:"잠시만 기다려 주세요...",click_here:"여기를 클릭하세요",if_redirect_not_directly:"리디렉션이 자동으로 수행되지 않는 경우",you_will_be_redirected:"Tapni 애플리케이션으로 리디렉션됩니다.",use_tapni_on_the_web:"웹에서 Tapni 사용하기",login_by_scanning_qr_code:"QR 코드 스캔하여 로그인하기",open_tapni_app_on_your_phone:"1. 휴대폰에서 Tapni 앱 열기",go_to_settings_link_a_device:"2. 설정 > 장치 연결로 이동하기",point_your_phone_at_this_qr_code:"3. 휴대폰을 이 QR 코드에 맞추기",choose_other_login_methods:"다른 로그인 방법 선택하기",no_sso_logins:"귀하의 회사는 SSO 로그인을 사용하지 않습니다. 관리자에게 문의하십시오."}},me={computed:{home(){return this.$storage.token&&this.$storage.username?"/"+this.$storage.username:"/welcome"},isAndroid(){return/Android/i.test(navigator.userAgent)||S.Capacitor.getPlatform()==="android"},isiOS(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document||S.Capacitor.getPlatform()==="ios"},isNative(){return S.Capacitor.isNativePlatform()}},methods:{errorHandler(a){return a&&a.response&&a.response.data&&a.response.data.error&&((a.response.data.error==="ACCESS_DENIED"||a.response.data.error==="TOKEN_EXPIRED")&&this.logout(),!a.response.data.error.includes("Network Error")&&!a.response.data.error.includes("Cannot read properties")&&this.errorSnack(a.response.data.error)),a},errorSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("errorMessage"),o=document.getElementById("errorSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},successSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("successMessage"),o=document.getElementById("successSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},closeSnacks(){document.getElementById("snackbar").classList.remove("show-snack"),document.getElementById("successSnack").classList.remove("active-snack"),document.getElementById("errorSnack").classList.remove("active-snack")},tapsEmoji(a){return a<10?"":a<=50?"🔥":a<=100?"💥":a<=300?"💎":a>300?"🚀":""},isEmpty(a){if(!a)return!0;for(let t in a)if(a.hasOwnProperty(t))return!1;return JSON.stringify(a)===JSON.stringify({})},copy(a=""){const t=document.createElement("textarea");t.value=a,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),this.successSnack(this.ssoLang[this.appLanguage].copied)},async getCaptchaToken(a){try{return await window.grecaptcha.execute("6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",{action:a})}catch(t){return console.log(t),null}}}};var ge={VITE_APP_MODE:"npm",VITE_APP_APP_ROOT:"https://t.link",VITE_APP_API_ROOT:"https://api.tapni.co",VITE_APP_GOOGLE_RECAPTCHA_SITE_KEY:"6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",VITE_APP_SSO_ID:"9cd47053-080a-4df8-8fd8-ca4389163fde",VITE_APP_POPUP_LOGIN_ALLOWED_ORIGIN:"https://auth.tapni.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const m={mixins:[me],data(){return{appLanguage:"en",token:"",refreshToken:"",loggedInUserId:"",ssoUser:{},ssoCompany:{},device:{},loggedInAccounts:{},ssoLang:{en:M.state,de:q.state,es:D.state,fr:R.state,it:O.state,sr:K.state,tr:U.state,cn:ue.state,kr:$.state},display:"npm",redirect_uri:"https://t.link/callback/auth",response_type:"token",state:"",allowedOrigins:["https://business.tapni.com","https://business-dev.tapni.com","https://tapni.com","https://tapni.co","https://t.link","https://my.tapni.com","https://my.tapni.co","https://dev.tapni.co","https://dev.tapni.com","https://auth.tapni.com","https://auth.tapni.co","https://mailsign.link","https://sign.tapni.com","https://qrcodetoolkit.com","https://qr.tapni.com","https://designer.tapni.com","https://designer-dev.tapni.com"]}},computed:{isLoggedIn(){return!!this.token&&this.token!==""&&this.token!=="null"},renderView(){return this.display==="redirect"?!1:this.view}},mounted(){this.$route.query.redirect_uri&&(this.redirect_uri=this.$route.query.redirect_uri),this.$route.query.display&&(this.display=this.$route.query.display),this.$route.query.state&&(this.state=this.$route.query.state),this.$route.query.response_type&&(this.response_type=this.$route.query.response_type),this.$route.query.realm&&(this.$storage.realm=this.$route.query.realm),c.$on("updateLang",this.updateLang),ge.NODE_ENV==="development"&&(this.allowedOrigins.push("http://localhost:8082"),this.allowedOrigins.push("http://localhost:7777"),this.allowedOrigins.push("http://localhost:5173"))},methods:{errorHandler(a){if(a&&a.response&&a.response.data&&a.response.data.error){if(a.response.data.error==="ACCESS_DENIED"||a.response.data.error==="TOKEN_EXPIRED")return this.logout();!a.response.data.error.includes("Network Error")&&!a.response.data.error.includes("Cannot read properties")&&this.errorSnack(a.response.data.error)}return a},errorSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("errorMessage"),o=document.getElementById("errorSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},successSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("successMessage"),o=document.getElementById("successSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},closeSnacks(){document.getElementById("snackbar").classList.remove("show-snack"),document.getElementById("successSnack").classList.remove("active-snack"),document.getElementById("errorSnack").classList.remove("active-snack")},async eventLog(a){const[t,n]=await _(y.eventLog(a,this.$storage));return t?this.errorHandler(t):n},async maintenance(){const[a,t]=await _(L.get("https://status.tapni.co/data/maintenance.json"));if(a)return console.error(a);if(t){let n=t.data;typeof t.data=="string"&&(n=JSON.parse(t.data)),n.api&&n.api.maintenanceActive&&(location.href="https://t.link/maintenance?msg="+n.api.msg)}},async getUser(a){if(a){let t,n;if(a.username?[t,n]=await _(y.getByUsername(a,this.$storage)):a.serial&&([t,n]=await _(y.getByNumber(a,this.$storage))),t)return this.errorHandler(t);if(n.data.success){if(!n.data.user&&n.data.showDemoProfile){if(this.isLoggedIn)throw this.$router.push("/tags#activate"),new Error("Activate the tag");return this.$router.push("/"+n.data.showDemoProfile)}!n.data.user&&a.login&&this.logout(),this.registerLang(n.data.user?n.data.user.ssoLang:"en"),this.setUser(n.data.user)}}},async loginSetup(a){var t,n;a.data.refreshToken&&this.setRefreshToken(a.data.refreshToken),a.data.token&&this.setToken(a.data.token),((n=(t=a.data)==null?void 0:t.data)==null?void 0:n.ssoLang)!==this.appLanguage&&c.$emit("ssoEvent",{name:"saveProfile",data:{lang:this.appLanguage,username:a.data.data.username}}),this.setLoggedInUserId(a.data.data.id),this.$storage.UserId=a.data.data.id,this.$storage.username=a.data.data.username,a.isModal===!0&&this.setLoggedInAccounts([{id:a.data.data.id,username:a.data.data.username,refreshToken:a.data.refreshToken,photo:a.data.data.photo}])},async refreshTokenAction(a){const[t,n]=await _(u.refreshToken({id:a.id,refreshToken:this.refreshToken,refreshTokenAction:!0},this.$storage));if(t&&t.response&&t.response.data.error==="ACCESS_DENIED")return this.logout(!1),location.reload();n&&n.data?this.setToken(n.data.token):console.error("Invalid response setToken")},async login(a){const[t,n]=await _(u.login(a,this.$storage));if(t)return this.errorHandler(t);if(n.data.success)return this.display==="npm"&&(this.loginSetup({...n,isModal:a.isModal}),this.getLoggedInAccounts()),this.loginSuccess({...n,isModal:a.isModal}),!0},loginSuccess(a){if(this.display==="redirect"){if(this.redirect_uri&&!this.allowedOrigins.some(t=>this.redirect_uri.startsWith(t)))return console.log("Redirect URI not allowed");location.href=this.redirect_uri+"?code="+a.data.auth_code+"&state="+this.state}else this.display==="popup"?this.allowedOrigins.forEach(t=>{var n;(n=window.parent)==null||n.postMessage({code:a.data.auth_code,state:this.$route.query.state},t)}):this.display==="npm"&&(c.$emit("ssoEvent",{name:"setLoading",data:!0}),c.$emit("ssoEvent",{name:"getUser",data:{login:!0,username:a.data.data.username}}),a.isModal&&(c.$emit("closeModal"),this.successSnack(this.ssoLang[this.appLanguage].success_login)),this.$router.push("/"+a.data.data.username+"#edit"))},async register(a){const[t,n]=await _(u.register(a,this.$storage));return t?this.errorHandler(t):n},async verify(a){const[t,n]=await _(u.verify(a,this.$storage));return t?this.errorHandler(t):n},async reset(a){const[t,n]=await _(u.sendResetEmail(a,this.$storage));if(t)return this.errorHandler(t);n.data.success&&this.successSnack(this.ssoLang[this.appLanguage].password_reset_success)},async exchangeAuthCode(a){const[t,n]=await _(L.post("https://api.tapni.co/v1/users/auth-code",{code:a.code,code_verifier:a.code_verifier}));if(t)return this.errorHandler(t);await this.loginSetup(n),await this.getLoggedInAccounts(),this.loginSuccess(n)},async changePassword(a){const[t,n]=await _(u.changePassword(a,this.$storage));return t?this.errorHandler(t):n.data.success},async newPassword(a){const[t,n]=await _(y.newPassword(a,this.$storage));return t?this.errorHandler(t):n.data.success},async deleteAccount(a){const[t,n]=await _(y.deleteAccount(a,this.$storage));return t?this.errorHandler(t):n.data.success},async registerDevice(){const a=await E.Device.getId(),t=await E.Device.getInfo();let n={device_id:a.uuid,platform:t.platform,device_info:{model:t.model,manufacturer:t.manufacturer,operatingSystem:t.operatingSystem,osVersion:t.osVersion,isVirtual:t.isVirtual,webViewVersion:t.webViewVersion}};const[o,i]=await _(x.registerDevice(n,this.$storage));return o?this.errorHandler(o):i},async addFcmToken(a){const[t,n]=await _(x.addFcmToken(a,this.$storage));return t?this.errorHandler(t):n},async acceptCompanyInvitation(a){const[t,n]=await _(N.acceptCompanyInvitation(a,this.$storage));return t?this.errorHandler(t):n},async logout(a=!0){a&&u.logout({token:this.refreshToken},this.$storage),this.$storage.username=null,this.$storage.ssoUser=null,this.$storage.UserId=null,this.setLoggedInUserId(null),this.setToken(null),this.setRefreshToken(null),this.refreshToken?Object.keys(this.loggedInAccounts).forEach(t=>{this.loggedInAccounts[t].refreshToken===this.refreshToken&&this.refreshTokenAction({id:this.loggedInAccounts[t].id}).then(()=>(this.setLoggedInUserId(this.loggedInAccounts[t].id),this.$storage.username=t,this.$storage.UserId=this.loggedInAccounts[t].id,this.getLoggedInAccounts(),this.$router.push("/"+t)))}):this.setUser(null),await this.$router.push("/welcome")},async getCompanyBySSOEmail(a){const[t,n]=await _(N.getBySSOEmail(a.email,this.$storage));if(t)return this.errorHandler(t);if(n.data.success)return n.data},async getLoggedInAccounts(){const a=this.getRefreshTokens(),[t,n]=await _(u.getLoggedInAccounts({refreshTokens:a},this.$storage));if(t)return this.errorHandler(t);n.data.success&&this.setLoggedInAccounts(n.data.accounts)},async loginUsingQR(a){const[t,n]=await _(y.loginUsingQR(a,this.$storage));return t?this.errorHandler(t):n.data.success},setLoggedInAccounts(a){this.loggedInAccounts={},a.forEach(t=>{this.loggedInAccounts[t.username]=t}),c.$emit("ssoEvent",{name:"setLoggedInAccounts",data:a})},setLoggedInUserId(a){this.loggedInUserId=a},setUser(a){this.ssoUser=a,this.$storage&&this.ssoUser&&this.$storage.username===this.ssoUser.username&&(this.appLanguage=a.ssoLang)},getRefreshTokens(){return console.log("getRefreshTokens",this.$storage,this.$storageApp),this.$storage.refreshTokens.split(",")},setRefreshToken(a){let t=this.getRefreshTokens();a&&!t.includes(a)?t.unshift(a):t=t.filter(n=>n!==this.refreshToken),t.length>=1?this.refreshToken=t[0]:this.refreshToken=a,this.$storage.refreshTokens=t.join(","),c.$emit("ssoEvent",{name:"setRefreshToken",data:a})},setToken(a){console.log("setup token"),this.$storage.token=a,this.token=a,c.$emit("ssoEvent",{name:"setToken",data:a})},setUserID(a){this.$storage.UserId=a},updateLang(a){this.appLanguage=a}},watch:{"$route.query":{handler:function(){this.$route.query.redirect_uri&&(this.redirect_uri=this.$route.query.redirect_uri),this.$route.query.display&&(this.display=this.$route.query.display),this.$route.query.state&&(this.state=this.$route.query.state),this.$route.query.response_type&&(this.response_type=this.$route.query.response_type),this.$route.query.realm&&(this.$storage.realm=this.$route.query.realm),this.$route.query.qrLogin&&this.changeLoginToQr()},deep:!0}}},k=(a,t)=>{const n=a.__vccOpts||a;for(const[o,i]of t)n[o]=i;return n},he={name:"AuthWelcome",mixins:[m],data(){return{loading:!0}},async mounted(){document.getElementById("tapniVideo").play(),setTimeout(()=>{this.$storage.token?this.$router.push(this.home):c.$emit("ssoEvent",{name:"setLoading",data:!1})},1500),c.$emit("ssoEvent",{name:"setInitialize",data:!0})},methods:{}},H=a=>(e.pushScopeId("data-v-806183a1"),a=a(),e.popScopeId(),a),fe={class:"page-login content-boxed content-boxed-padding center-text",style:{"margin-top":"-1px",overflow:"hidden",border:"solid 0px #ffffff"}},ke=["autoplay"],be=[H(()=>e.createElementVNode("source",{src:"https://cdn.tapni.co/images/tapni-card-tap-video-white.mp4",type:"video/mp4"},null,-1))],ye={class:"bold full-top no-bottom center-text"},ve={class:"full-bottom half-top center-text color-black font-16"},we={class:"page-login-links center-text"},ze=H(()=>e.createElementVNode("div",{class:"clear"},null,-1)),Se={key:2,style:{display:"flex","flex-direction":"row","justify-content":"space-around",width:"90%",margin:"0 auto","margin-top":"40px"}},Le=[e.createStaticVNode('<a href="https://play.google.com/store/apps/details?id=co.tapni.app" target="_blank" data-v-806183a1><img src="https://cdn.tapni.co/images/playstore.png" class="app-store-icon pointer" style="width:55px;" data-v-806183a1></a><a href="https://apps.apple.com/ag/app/tapni/id1552930233" target="_blank" data-v-806183a1><img src="https://cdn.tapni.co/images/appstore.png" class="app-store-icon pointer" style="width:55px;" data-v-806183a1></a><a href="https://appgallery.huawei.com/#/app/C103931997" target="_blank" data-v-806183a1><img src="https://cdn.tapni.co/images/appgallery.png" class="app-store-icon pointer" style="width:55px;" data-v-806183a1></a>',3)];function Ee(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",fe,[e.createElementVNode("video",{id:"tapniVideo",muted:"",loop:"",playsinline:"",width:"350",style:{margin:"0 auto","max-width":"100%","margin-top":"63px",overflow:"hidden"},autoplay:a.isNative},be,8,ke),e.createElementVNode("h1",ye,e.toDisplayString(a.ssoLang[this.appLanguage].welcome),1),e.createElementVNode("p",ve,e.toDisplayString(a.ssoLang[this.appLanguage].welcome_p1),1),e.createCommentVNode("",!0),e.createCommentVNode("",!0),e.createVNode(l,{to:"register",exact:"",class:"button-center button button-90 google-button bg-tapni-grey pointer"},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.ssoLang[this.appLanguage].create_account),1)]),_:1}),e.createElementVNode("div",we,[e.createVNode(l,{to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].already_registered)+"? ",1),e.createElementVNode("b",null,e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),ze]),this.isNative?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Se,Le))])}const F=k(he,[["render",Ee],["__scopeId","data-v-806183a1"]]),Q={data(){return{googleLoad:!1}},computed:{displayGoogleLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.google_login)&&!this.isModal)??!0}},mounted(){B.GoogleAuth.initialize()},methods:{async googleLogin(){var n;this.googleLoad=!0;let[a,t]=await _(B.GoogleAuth.signIn());if(a)return this.googleLoad=!1;if(this.referral&&(t.ref=this.referral),t.authentication&&(t.authentication.accessToken||t.authentication.idToken)){this.referral&&(t.ref=this.referral),this.display==="popup"&&(t.response_type="code");const[o,i]=await _(u.googleSDK(t,this.$storage));if(o)return this.googleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(o);if(i.data.success){if(this.display==="popup")return(n=window.parent)==null?void 0:n.postMessage({code:i.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(i),this.getLoggedInAccounts(),this.$router.push("/"+i.data.data.username+"#edit"),setTimeout(()=>{this.googleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.googleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})}}};window.fbAsyncInit=function(){FB.init({appId:"202577611527680",cookie:!0,xfbml:!0,version:"v16.0"})},function(a,t,n){var o,i=a.getElementsByTagName(t)[0];a.getElementById(n)||(o=a.createElement(t),o.id=n,o.src="https://connect.facebook.net/en_US/sdk.js",i.parentNode.insertBefore(o,i))}(document,"script","facebook-jssdk");const G={data(){return{facebookLoad:!1}},computed:{fbLoginUrl(){return'https://www.facebook.com/v16.0/dialog/oauth?client_id=202577611527680&state={"oauth":"facebook"}&response_type=code%20granted_scopes&scope=email&redirect_uri=https://'+window.location.host+"/login"},displayFacebookLogin(){return!1}},methods:{async facebookLogin(){var o;this.facebookLoad=!0;const a=["email"],[t,n]=await _(se.FacebookLogin.login({permissions:a}));if(t)return this.facebookLoad=!1;if(this.referral&&(n.ref=this.referral),this.display==="popup"&&(n.response_type="code"),n.accessToken){const[i,r]=await _(u.facebookSDK(n,this.$storage));if(i)return this.facebookLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(i);if(r.data.success){if(this.display==="popup")return(o=window.parent)==null?void 0:o.postMessage({code:r.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(r),this.getLoggedInAccounts(),this.$router.push("/"+r.data.data.username+"#edit"),setTimeout(()=>{this.facebookLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.facebookLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})}}},W={data(){return{appleLoad:!1}},computed:{displayAppleLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.apple_login)&&!this.isModal)??(Capacitor.isNativePlatform()&&Capacitor.getPlatform()==="ios"||!Capacitor.isNativePlatform()&&this.isiOS)}},methods:{async appleLogin(){var n;this.appleLoad=!0;const[a,t]=await _(ce.SignInWithApple.authorize({clientId:"co.tapni.applelogin",redirectURI:"https://"+window.location.host+"/login",scopes:"email name"}));if(a)return this.appleLoad=!1;if(t.response.tokenData=V.jwtDecode(t.response.identityToken),t&&t.response&&t.response.identityToken){this.referral&&(t.response.ref=this.referral),this.display==="popup"&&(t.response_type="code");const[o,i]=await _(u.appleSDK(t.response,this.$storage));if(o)return this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(o);if(i.data.success){if(this.display==="popup")return(n=window.parent)==null?void 0:n.postMessage({code:i.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(i),this.getLoggedInAccounts(),this.$router.push("/"+i.data.data.username+"#edit"),setTimeout(()=>{this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})}}};var Ce={VITE_APP_MODE:"npm",VITE_APP_APP_ROOT:"https://t.link",VITE_APP_API_ROOT:"https://api.tapni.co",VITE_APP_GOOGLE_RECAPTCHA_SITE_KEY:"6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",VITE_APP_SSO_ID:"9cd47053-080a-4df8-8fd8-ca4389163fde",VITE_APP_POPUP_LOGIN_ALLOWED_ORIGIN:"https://auth.tapni.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const j={data(){return{microsoftLoad:!1,microsoftSSOLoad:!1}},computed:{displayMicrosoftSSOLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.microsoft_login)&&!this.isModal)??!1}},methods:{async microsoftLogin(a,t={}){var i,r,l;a==="sso"?this.microsoftSSOLoad=!0:this.microsoftLoad=!0,Object.keys(t).length||(t=((r=(i=this.ssoCompany.sso)==null?void 0:i.azure)==null?void 0:r.sso)||{});const[n,o]=await _(le.MsAuthPlugin.login({clientId:a==="sso"?t.clientID:"9cd47053-080a-4df8-8fd8-ca4389163fde",tenant:a==="sso"?t.tenant:"consumers",scopes:["User.Read"],knownAuthorities:[],keyHash:"4+5wCp8QcLptlO0aeP5RDTTOWyg=",redirectUri:Ce.NODE_ENV==="development"?`${window.location.origin}/login`:"https://"+window.location.host+"/login"}));if(n)return console.log("Error: "+JSON.stringify(n)),this.microsoftLoad=!1;if(this.referral&&(o.ref=this.referral),o.response_type="code",o&&(o.accessToken||o.idToken)){const[s,d]=await _(u.microsoftSDK(o,this.$storage));if(s)return this.microsoftLoad=!1,this.microsoftSSOLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(s);if(d.data.success){if(this.display==="popup")return(l=window.parent)==null?void 0:l.postMessage({code:d.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(d),this.getLoggedInAccounts(),this.$router.push("/"+d.data.data.username+"#edit"),setTimeout(()=>{this.microsoftLoad=!1,this.microsoftSSOLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.microsoftLoad=!1,this.microsoftSSOLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},ssoLogin(){c.$emit("toggleSSOModal")}}},v={getFirstBrowserLanguage(){let a=window.navigator,t=["language","browserLanguage","systemLanguage","userLanguage"],n,o;if(Array.isArray(a.languages)){for(n=0;n<a.languages.length;n++)if(o=a.languages[n],o&&o.length)return o.slice(0,2)}for(n=0;n<t.length;n++)if(o=a[t[n]],o&&o.length)return o.slice(0,2);return null},compareLangKeys(){const a=Object.keys(M.default.state),t=Object.keys(q.default.state),n=Object.keys(D.default.state),o=Object.keys($.default.state),i=Object.keys(O.default.state),r=Object.keys(R.default.state),l=Object.keys(K.default.state),s=Object.keys(U.default.state);console.log("In en but not in de",a.filter(d=>!t.includes(d))),console.log("In de but not in en",t.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in es",a.filter(d=>!n.includes(d))),console.log("In es but not in en",n.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in kr",a.filter(d=>!o.includes(d))),console.log("In kr but not in en",o.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in it",a.filter(d=>!i.includes(d))),console.log("In it but not in en",i.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in fr",a.filter(d=>!r.includes(d))),console.log("In fr but not in en",r.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in sr",a.filter(d=>!l.includes(d))),console.log("In sr but not in en",l.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in tr",a.filter(d=>!s.includes(d))),console.log("In tr but not in en",s.filter(d=>!a.includes(d))),console.log()},base64ImageToBlob(a){const t=a.split(";base64,"),n=t[0].split(":")[1],o=window.atob(t[1]),i=new Uint8Array(o.length);for(let r=0;r<o.length;++r)i[r]=o.charCodeAt(r);return new Blob([i],{type:n})},blobToBase64(a){const t=new FileReader;return t.readAsDataURL(a),new Promise(n=>{t.onloadend=()=>{n(t.result)}})},base64toFile(a,t){for(var n=a.split(","),o=n[0].match(/:(.*?);/)[1],i=atob(n[1]),r=i.length,l=new Uint8Array(r);r--;)l[r]=i.charCodeAt(r);return new File([l],t,{type:o})},fileToBase64(a){new Promise((t,n)=>{const o=new FileReader;o.readAsDataURL(a),o.onload=()=>t(o.result),o.onerror=i=>n(i)})},getUTMParams(a,t){let n={};return a.utm_source&&(n.utm_source=a.utm_source),a.utm_medium&&(n.utm_medium=a.utm_medium),a.utm_campaign&&(n.utm_campaign=a.utm_campaign),a.utm_term&&(n.utm_term=a.utm_term),a.utm_content&&(n.utm_content=a.utm_content),n},cropCardScan(a,t){const n=new window.Image,o=document.createElement("canvas"),i=o.getContext("2d");n.src="data:image/jpeg;base64,"+a,n.onload=()=>{const r=n.width,l=n.width/1.65,s=0,d=n.height/2-l/2,f=r,w=l;o.width=f,o.height=w,i.drawImage(n,s,d,r,l,0,0,f,w);const re=o.toDataURL();return t(re),re}},generateRandomString(a){let t=new Uint32Array(a);return window.crypto.getRandomValues(t),Array.from(t,n=>("0"+n.toString(16)).substr(-2)).join("")},async pkceChallengeFromVerifier(a){const n=new TextEncoder().encode(a),o=await window.crypto.subtle.digest("SHA-256",n);return btoa(String.fromCharCode.apply(null,new Uint8Array(o))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},encryptAES(a,t,n){let i=new TextEncoder().encode(n,storage);return window.crypto.subtle.encrypt({name:"AES-CBC",iv:t},a,i)},async decryptAES(a,t,n){try{const o=d=>Uint8Array.from(atob(d),f=>f.charCodeAt(0));n=n.replace(/ /g,"+");const i=new TextEncoder,r=new TextDecoder;a=i.encode(a),t=i.encode(t),n=o(n,storage);const l=await window.crypto.subtle.importKey("raw",a,"AES-CBC",!0,["encrypt","decrypt"]);let s=await window.crypto.subtle.decrypt({name:"AES-CBC",iv:t},l,n);return s=r.decode(s),s=s.replace(/ /g,"+"),s=atob(s),s}catch(o){console.log(o)}}},P={data(){return{oktaAuth:null}},computed:{},watch:{},methods:{async exchangeCode(a){var i,r;let[t,n]=await _(L.post(a.domain+"/v1/token",new URLSearchParams({code:a.code,client_id:a.clientID,grant_type:"authorization_code",redirect_uri:this.isNative?"tapni://t.link/callback/okta":location.origin+"/callback/okta",code_verifier:localStorage.getItem("pkce_code_verifier")})));if(t)return this.errorHandler(t);localStorage.removeItem("pkce_code_verifier");let o={accessToken:(i=n.data)==null?void 0:i.access_token,domain:a.domain};if(this.display==="popup"&&(o.response_type="code"),[t,n]=await _(u.oktaSDK(o,this.$storage)),t)return this.oktaLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(t);if(n.data.success){if(this.display==="popup")return(r=window.parent)==null?void 0:r.postMessage({code:n.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(n),this.getLoggedInAccounts(),this.$router.push("/"+n.data.data.username+"#edit"),setTimeout(()=>{this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)},async oktaLogin(a){const t=S.Capacitor.getPlatform()||"web";let n=btoa("domain="+a.domain+"&client_id="+a.clientID+"&platform="+t+"&rand="+v.generateRandomString(28)),o=v.generateRandomString(28);localStorage.setItem("pkce_code_verifier",o);let i=await v.pkceChallengeFromVerifier(o),r=a.domain+"/v1/authorize",l;this.isNative?l="tapni://t.link/callback/okta":l=location.origin+"/callback/okta";let s=r+"?response_type=code&client_id="+encodeURIComponent(a.clientID)+"&state="+encodeURIComponent(n)+"&scope="+encodeURIComponent("openid email profile")+"&redirect_uri="+encodeURIComponent(l)+"&code_challenge="+encodeURIComponent(i)+"&code_challenge_method=S256",d=this,f;window.addEventListener("message",async w=>{if(!this.allowedOrigins.includes(w.origin))return console.log("Origin is not allowed!");w.data.type==="okta"&&(f=w.data.code,await d.exchangeCode({domain:a.domain,code:f,clientID:a.clientID}))},{once:!0}),this.isNative?await C.Browser.open({url:s,presentationStyle:"popover"}):window.open(s,"popup","width=600,height=600")},async handleOktaRedirect(){let a=this.$route.query.code,t,n,o,i,r={type:"okta"};if(a&&(r.code=a),this.$route.query.state){t=this.$route.query.state,t=atob(t);const l=new URLSearchParams(t);n=l.get("client_id"),o=l.get("domain"),i=l.get("platform")}window.opener?(window.opener.postMessage(r,location.origin),window.close()):(this.isNative&&this.isIOS&&await C.Browser.close(),c.$emit("ssoEvent",{name:"setLoading",data:!0}),a&&n&&o&&await this.exchangeCode({code:a,clientID:n,domain:o,platform:i}),localStorage.removeItem("pkce_code_verifier"),c.$emit("ssoEvent",{name:"setLoading",data:!1}))}}},A={data(){return{code_verifier:"",code_challenge:""}},computed:{},watch:{},methods:{async samlLogin(a){this.code_verifier=v.generateRandomString(28),localStorage.setItem("pkce_code_verifier",this.code_verifier),this.code_challenge=await v.pkceChallengeFromVerifier(this.code_verifier);const t=S.Capacitor.getPlatform();let n=Buffer.from(`code_challenge=${this.code_challenge}&platform=${t}&redirect_uri=${location.origin+"/callback/saml"}&realm=${this.$storage.realm}`).toString("base64");a=`${a}&RelayState=${n}`;let o=this;window.addEventListener("message",async i=>{var r;if(!this.allowedOrigins.includes(i.origin))return console.log("Origin is not allowed!");if(i.data.type==="saml"&&i.data.code){if(this.display==="popup")return(r=window.parent)==null?void 0:r.postMessage({code:i.data.code,state:this.$route.query.state,code_verifier:localStorage.getItem("pkce_code_verifier")},"*");await o.exchangeAuthCode({code:i.data.code,code_verifier:localStorage.getItem("pkce_code_verifier")}),localStorage.removeItem("pkce_code_verifier")}},{once:!0}),this.isNative?await C.Browser.open({url:a,presentationStyle:"popover"}):window.open(a,"popup","width=600,height=600")},async handleSamlRedirect(){var n;let a,t={type:"saml"};if(this.$route.query.code&&(t.code=this.$route.query.code),window.opener)window.opener.postMessage(t,location.origin),window.close();else{if(this.isNative&&this.isIOS&&await C.Browser.close(),EventBus.$emit("ssoEvent",{name:"setLoading",data:!0}),this.$route.query.code&&(a=this.$route.query.code),a){if(this.display==="popup")return(n=window.parent)==null?void 0:n.postMessage({code:a,state:this.$route.query.state},"*");await this.exchangeAuthCode({code:a,code_verifier:localStorage.getItem("pkce_code_verifier")})}localStorage.removeItem("pkce_code_verifier"),EventBus.$emit("ssoEvent",{name:"setLoading",data:!1})}}}},Te={name:"AuthLogin",mixins:[Q,G,W,j,P,A,m,{data(){return{isQrCodeLogin:!1,qrCode:null,qrCodeHash:null,qrCodeRefreshInterval:null,poolingInterval:null}},props:{isModal:{type:Boolean,required:!1,default:!1}},mounted(){this.$route.name==="AuthQR"&&this.changeLoginToQr()},methods:{async changeLoginToQr(){this.isQrCodeLogin=!0,await e.nextTick(),await this.initQrCodeLogin()},generateRandomHash(){const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=a.length;let n="";const o=new Uint32Array(32);return window.crypto.getRandomValues(o),o.forEach(i=>{n+=a.charAt(i%t)}),n},refreshQrCode(){var a,t;this.qrCode&&((t=(a=document.getElementById("qrCodeContainer"))==null?void 0:a.childNodes[0])==null||t.remove()),this.qrCodeHash=this.generateRandomHash(),this.qrCode=new de({width:300,height:300,type:"png",image:"",imageOptions:{margin:15},data:this.qrCodeHash,dotsOptions:{type:"extra-rounded",color:"#000000"},cornersSquareOptions:{type:"extra-rounded",color:"#000000"},cornersDotOptions:{type:"",color:"#000000"},backgroundOptions:{color:"#ffffff00"}}),this.qrCode.append(document.getElementById("qrCodeContainer"))},async startQrCodePooling(){this.poolingInterval=setInterval(async()=>{const[a,t]=await _(N.qrCodePooling({qrToken:this.qrCodeHash},this.$storage));if(a)return this.errorHandler(a);t.data.auth_code&&(this.display==="npm"&&(this.loginSetup({...t,isModal:this.isModal}),this.getLoggedInAccounts()),this.loginSuccess({...t,isModal:this.isModal}),clearInterval(this.poolingInterval),clearInterval(this.qrCodeRefreshInterval))},2e3)},async initQrCodeLogin(){this.refreshQrCode(),await e.nextTick(),await this.startQrCodePooling(),this.qrCodeRefreshInterval=setInterval(()=>{this.refreshQrCode()},6e4)}}}],props:{isModal:{type:Boolean,required:!1,default:!1}},data(){return{loading:!0,submitted:!1,emailOrUsername:"",password:"",captcha:"",revealPassword:!1,emailLogin:!0}},computed:{displayFormLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.form_login)&&!this.isModal)??this.emailLogin},displayResetPasswordLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.reset_password)&&!this.isModal)??!0},displayRegisterLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.create_account)&&!this.isModal)??!0}},async mounted(){if(!this.isModal){if(this.$route.path==="/login/callback/okta")return await this.handleOktaRedirect();if(this.$route.path==="/login/callback/saml")return await this.handleSamlRedirect();this.isLoggedIn?this.$router.push(this.home):!this.$route.query.state&&!this.$route.query.oauth&&!this.$route.params.oauth&&c.$emit("ssoEvent",{name:"setLoading",data:!1}),c.$emit("ssoEvent",{name:"setInitialize",data:!0})}},methods:{bum(){console.log("lo",this.$storage),this.$storage.verifyEmail="123123123"},async submit(){if(this.submitted)return;this.submitted=!0,this.emailOrUsername=this.emailOrUsername.trim();let t={response_type:this.$route.query.response_type||"token",isModal:this.isModal,captcha:this.captcha,password:this.password};this.emailOrUsername.indexOf("@")!==-1?t.email=this.emailOrUsername:t.username=this.emailOrUsername;const[n,o]=await _(this.login(t));n&&console.error(n),this.submitted=!1,o===!0&&(this.emailOrUsername="",this.password="")},close(){c.$emit("ssoEvent",{name:"toggleAddAccountModal",data:!0})},createAccountModal(){c.$emit("ssoEvent",{name:"toggleAddAccountModalRegister",data:{}})}},watch:{emailOrUsername(a){a.includes("@")&&(this.$storage.verifyEmail=a)},"$route.path":async function(a){if(a==="/login/callback/okta")return await this.handleOktaRedirect();if(a==="/login/callback/saml")return await this.handleSamlRedirect()}}},je=[e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"35%"}})],-1)],Pe=e.createElementVNode("p",{class:"half-bottom small-top center-text color-black"},null,-1),Ae={key:1},Ie={class:"page-login-field half-top"},Ne=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/user.png",class:"responsive-image",style:{width:"50%"}})],-1),Ve=["placeholder"],Be=e.createElementVNode("em",null,null,-1),xe={class:"page-login-field half-bottom"},Me=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1),qe=["type","placeholder"],De={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},Re={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},Oe={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},Ke={key:0},Ue={key:1,class:"button--loading button__loader"},$e=e.createElementVNode("div",{class:"decoration decoration-lines-thin half-top half-bottom"},null,-1),He=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/apple-logo.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1),Fe={key:0},Qe={key:1,class:"button--loading button__loader"},Ge=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/g-logo.png",style:{position:"absolute","margin-left":"-10px",padding:"8px 0",height:"100%"}},null,-1),We={key:0},Xe={key:1,class:"button--loading-black button__loader"},Ye=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/facebook-blue.png",style:{position:"absolute","margin-left":"-9px",padding:"10px 0",height:"100%"}},null,-1),Ze={key:0},Je={key:1,class:"button--loading-black button__loader"},ea=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/outlook.png",style:{position:"absolute","margin-left":"-8px",padding:"10px 0",height:"100%"}},null,-1),aa={key:0},ta={key:1,class:"button--loading-black button__loader"},na=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/sso-key.png",style:{position:"absolute","margin-left":"-8px",padding:"10px 0",height:"100%"}},null,-1),ia={key:0},oa={key:1,class:"button--loading-black button__loader"},ra=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/sso-key.png",style:{position:"absolute","margin-left":"-8px",padding:"10px 0",height:"100%"}},null,-1),sa={key:0},ca={key:1,class:"button--loading-black button__loader"},la=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",style:{position:"absolute","margin-left":"-8px",padding:"12px 0",height:"100%"}},null,-1),da=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),pa={class:"close-text center-text half-top color-black"},_a=e.createElementVNode("br",null,null,-1),ua={class:"",href:"https://tapni.co/policies/terms-of-service"},ma={href:"https://tapni.co/policies/privacy-policy"},ga=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),ha={key:9,class:"page-login-links"},fa=e.createElementVNode("div",{class:"clear"},null,-1),ka={class:"forgot center-text pointer small-top"},ba=e.createElementVNode("br",null,null,-1),ya=e.createElementVNode("div",{class:"clear"},null,-1);function va(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("form",{class:"page-login content-boxed content-boxed-padding",onSubmit:t[14]||(t[14]=e.withModifiers((...s)=>r.submit&&r.submit(...s),["prevent"])),autocomplete:"on",style:e.normalizeStyle(n.isModal?"max-width: 500px;":"")},[n.isModal?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"0px",position:"absolute",right:"-20px","text-align":"right"}},je)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:"bold no-bottom center-text",style:{"margin-top":"63px"},onClick:t[1]||(t[1]=(...s)=>r.bum&&r.bum(...s))},e.toDisplayString(this.ssoLang[this.appLanguage].login),1),Pe,r.displayFormLogin?(e.openBlock(),e.createElementBlock("span",Ae,[e.createElementVNode("div",Ie,[Ne,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>i.emailOrUsername=s),onKeydown:t[3]||(t[3]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:"text",name:"email",placeholder:a.ssoLang[this.appLanguage].email_username,required:""},null,40,Ve),[[e.vModelText,i.emailOrUsername]]),Be]),e.createElementVNode("div",xe,[Me,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>i.password=s),type:i.revealPassword?"text":"password",placeholder:a.ssoLang[this.appLanguage].password,name:"password",required:"",minlength:"8"},null,8,qe),[[e.vModelDynamic,i.password]]),e.createElementVNode("em",{onClick:t[5]||(t[5]=s=>i.revealPassword=!i.revealPassword),class:"pointer"},[e.withDirectives(e.createElementVNode("img",De,null,512),[[e.vShow,!i.revealPassword]]),e.withDirectives(e.createElementVNode("img",Re,null,512),[[e.vShow,i.revealPassword]])])]),e.createElementVNode("button",Oe,[i.submitted?(e.openBlock(),e.createElementBlock("span",Ue)):(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(a.ssoLang[a.appLanguage].login),1))])])):e.createCommentVNode("",!0),$e,a.displayAppleLogin?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:t[6]||(t[6]=(...s)=>a.appleLogin&&a.appleLogin(...s)),class:"button-center button button-90 google-button pointer"},[He,a.appleLoad?(e.openBlock(),e.createElementBlock("span",Qe)):(e.openBlock(),e.createElementBlock("span",Fe,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Apple",1))])):e.createCommentVNode("",!0),a.displayGoogleLogin?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:t[7]||(t[7]=(...s)=>a.googleLogin&&a.googleLogin(...s)),class:"button-center button button-90 google-button pointer"},[Ge,a.googleLoad?(e.openBlock(),e.createElementBlock("span",Xe)):(e.openBlock(),e.createElementBlock("span",We,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Google",1))])):e.createCommentVNode("",!0),a.displayFacebookLogin?(e.openBlock(),e.createElementBlock("a",{key:4,onClick:t[8]||(t[8]=(...s)=>a.facebookLogin&&a.facebookLogin(...s)),class:"button-center button button-90 google-button pointer"},[Ye,a.facebookLoad?(e.openBlock(),e.createElementBlock("span",Je)):(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Facebook",1))])):e.createCommentVNode("",!0),a.displayMicrosoftSSOLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:5,onClick:t[9]||(t[9]=(...s)=>a.microsoftLogin&&a.microsoftLogin(...s)),class:"button-center button button-90 google-button pointer"},[ea,a.microsoftLoad?(e.openBlock(),e.createElementBlock("span",ta)):(e.openBlock(),e.createElementBlock("span",aa,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Outlook",1))])),a.displayMicrosoftSSOLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:6,onClick:t[10]||(t[10]=(...s)=>a.ssoLogin&&a.ssoLogin(...s)),class:"button-center button button-90 google-button pointer"},[na,a.microsoftSSOLoad?(e.openBlock(),e.createElementBlock("span",oa)):(e.openBlock(),e.createElementBlock("span",ia,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" SSO",1))])),a.displayMicrosoftSSOLogin?(e.openBlock(),e.createElementBlock("a",{key:7,onClick:t[11]||(t[11]=s=>a.microsoftLogin("sso")),class:"button-center button button-90 google-button pointer"},[ra,a.microsoftSSOLoad?(e.openBlock(),e.createElementBlock("span",sa,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" SSO",1)):(e.openBlock(),e.createElementBlock("span",ca))])):e.createCommentVNode("",!0),r.displayFormLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:8,onClick:t[12]||(t[12]=s=>i.emailLogin=!0),class:"button-center button button-90 google-button pointer"},[la,e.createElementVNode("span",null,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Email",1)])),da,e.createElementVNode("p",pa,[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].terms_by_signing_in)+" ",1),_a,e.createElementVNode("a",ua,e.toDisplayString(a.ssoLang[this.appLanguage].terms_of_service),1),e.createTextVNode(" "+e.toDisplayString(a.ssoLang[a.appLanguage].and)+" ",1),e.createElementVNode("a",ma,e.toDisplayString(a.ssoLang[this.appLanguage].privacy_policy),1)]),ga,n.isModal?(e.openBlock(),e.createElementBlock("div",{key:10,class:"page-login-links",onClick:t[13]||(t[13]=(...s)=>r.createAccountModal&&r.createAccountModal(...s))},[e.createElementVNode("a",ka,[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].or)+" ",1),ba,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[a.appLanguage].create_new_account),1)]),ya])):(e.openBlock(),e.createElementBlock("div",ha,[r.displayRegisterLogin?(e.openBlock(),e.createBlock(l,{key:0,class:"forgot float-right",to:"/register"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].create_account),1)]),_:1})):e.createCommentVNode("",!0),r.displayResetPasswordLogin?(e.openBlock(),e.createBlock(l,{key:1,class:"create float-left",to:"/reset"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].reset_password),1)]),_:1})):e.createCommentVNode("",!0),fa]))],36)}const X=k(Te,[["render",va]]),wa={name:"AuthRegister",mixins:[Q,G,W,j,m],props:{isModal:{type:Boolean,required:!1,default:!1}},data(){return{usernameRegister:!1,loading:!0,submitted:!1,formButtonText:"REGISTER",username:"",email:"",password:"",revealPassword:!1,emailLogin:!0,invitationCode:"",referral:""}},mounted(){this.isModal||(this.isLoggedIn?this.$router.push(this.home):!this.$route.query.state&&!this.$route.query.oauth&&!this.$route.params.oauth&&c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.invitationCode=this.$route.query.ic||"",this.$route.query.username&&(this.usernameRegister=!0,this.emailLogin=!0,this.username=this.$route.query.username),this.$route.query.ref?this.referral=this.$route.query.ref:this.$storage.referral&&(this.referral=this.$storage.referral))},methods:{async submit(){if(this.password.length<8)return this.errorSnack(this.ssoLang[this.appLanguage].password_8_chars);if(this.password.search(/[a-z]/)<0)return this.errorSnack(this.ssoLang[this.appLanguage].password_least_one_lowercase);if(this.password.search(/[A-Z]/)<0)return this.errorSnack(this.ssoLang[this.appLanguage].password_least_one_uppercase);if(this.password.search(/[0-9]/)<0)return this.errorSnack(this.ssoLang[this.appLanguage].password_least_one_number);if(this.submitted)return;this.submitted=!0,this.email=this.email.trim(),this.username=this.username.trim();let a={response_type:this.response_type,email:this.email,username:this.username,password:this.password,ic:this.invitationCode,captchaToken:await this.getCaptchaToken("account_verify"),ref:this.referral},t=await this.register(a);this.submitted=!1,t.data&&t.data.success&&(t.data.message==="SUCCESS_REGISTER"?(this.isModal?c.$emit("ssoEvent",{name:"toggleAddAccountModalVerify",data:!1}):this.$router.push("/verify"),this.successSnack(this.ssoLang[this.appLanguage].register_success),this.formButtonText=this.ssoLang[this.appLanguage].check_your_inbox):t.data.message==="SUCCESS_LOGIN"&&(this.display==="npm"&&(await this.loginSetup({...t,isModal:a.isModal}),this.getLoggedInAccounts()),await this.loginSuccess({...t,isModal:a.isModal})))},close(){c.$emit("ssoEvent",{name:"toggleAddAccountModal",data:!0})},loginAccountModal(){c.$emit("ssoEvent",{name:"toggleAddAccountModalLogin",data:!1})}},watch:{email(a){this.$storage.verifyEmail=a},referral(a){this.$storage.referral=a}}},za=[e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"35%"}})],-1)],Sa={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},La={class:"half-bottom small-top center-text color-black"},Ea={key:0},Ca=e.createElementVNode("br",null,null,-1),Ta={key:1},ja={class:"page-login-field half-top"},Pa=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",class:"responsive-image",style:{width:"60%"}})],-1),Aa=["placeholder"],Ia=e.createElementVNode("em",null,null,-1),Na={class:"page-login-field half-top"},Va=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/user.png",class:"responsive-image",style:{width:"50%"}})],-1),Ba=["placeholder","disabled"],xa=e.createElementVNode("em",null,null,-1),Ma={class:"page-login-field half-top half-bottom"},qa=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1),Da=["type","placeholder"],Ra={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},Oa={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},Ka={type:"submit",class:"button black-button google-button bg-tapni-grey pointer button-90 button-center uppercase button-rounded bold full-top"},Ua={key:0},$a={key:1,class:"button--loading button__loader"},Ha=e.createElementVNode("div",{class:"decoration decoration-lines-thin half-top half-bottom"},null,-1),Fa=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/apple-logo.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1),Qa={key:0},Ga={key:1,class:"button--loading button__loader"},Wa=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/g-logo.png",style:{position:"absolute","margin-left":"-9px",padding:"8px 0",height:"100%"}},null,-1),Xa={key:0},Ya={key:1,class:"button--loading button__loader"},Za=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/facebook-blue.png",style:{position:"absolute","margin-left":"-10px",padding:"10px 0",height:"100%"}},null,-1),Ja={key:0},et={key:1,class:"button--loading button__loader"},at=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",style:{position:"absolute","margin-left":"-8px",padding:"12px 0",height:"100%"}},null,-1),tt=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),nt={class:"close-text center-text half-top color-black"},it=e.createElementVNode("br",null,null,-1),ot={class:"",href:"https://tapni.co/policies/terms-of-service"},rt={href:"https://tapni.co/policies/privacy-policy"},st=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),ct={key:5,class:"page-login-links"},lt=e.createElementVNode("div",{class:"clear"},null,-1),dt={class:"forgot center-text pointer small-top"},pt=e.createElementVNode("br",null,null,-1),_t=e.createElementVNode("div",{class:"clear"},null,-1);function ut(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("form",{class:"page-login content-boxed content-boxed-padding",onSubmit:t[12]||(t[12]=e.withModifiers((...s)=>r.submit&&r.submit(...s),["prevent"])),autocomplete:"on",style:e.normalizeStyle(n.isModal?"max-width: 500px;":"")},[n.isModal?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"0px",position:"absolute",right:"-20px","text-align":"right"}},za)):e.createCommentVNode("",!0),e.createElementVNode("h1",Sa,e.toDisplayString(a.ssoLang[this.appLanguage].register),1),e.createElementVNode("p",La,[i.usernameRegister?(e.openBlock(),e.createElementBlock("span",Ea,[e.createTextVNode(" t.link/"+e.toDisplayString(i.username)+" "+e.toDisplayString(a.ssoLang[this.appLanguage].username_is_free)+" ✅ ",1),Ca])):e.createCommentVNode("",!0)]),i.emailLogin?(e.openBlock(),e.createElementBlock("span",Ta,[e.createElementVNode("div",ja,[Pa,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>i.email=s),onKeydown:t[2]||(t[2]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"email",placeholder:a.ssoLang[this.appLanguage].email,name:"email",required:""},null,40,Aa),[[e.vModelText,i.email]]),Ia]),e.createElementVNode("div",Na,[Va,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>i.username=s),onKeydown:t[4]||(t[4]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false",placeholder:a.ssoLang[this.appLanguage].username,name:"username",required:"",disabled:i.usernameRegister,class:e.normalizeClass({"input-disabled":i.usernameRegister})},null,42,Ba),[[e.vModelText,i.username]]),xa]),e.createElementVNode("div",Ma,[qa,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>i.password=s),type:i.revealPassword?"text":"password",placeholder:a.ssoLang[this.appLanguage].password,name:"password",required:"",minlength:"8"},null,8,Da),[[e.vModelDynamic,i.password]]),e.createElementVNode("em",{onClick:t[6]||(t[6]=s=>i.revealPassword=!i.revealPassword),class:"pointer"},[e.withDirectives(e.createElementVNode("img",Ra,null,512),[[e.vShow,!i.revealPassword]]),e.withDirectives(e.createElementVNode("img",Oa,null,512),[[e.vShow,i.revealPassword]])])]),e.createElementVNode("button",Ka,[i.submitted?(e.openBlock(),e.createElementBlock("span",$a)):(e.openBlock(),e.createElementBlock("span",Ua,e.toDisplayString(i.formButtonText),1))])])):e.createCommentVNode("",!0),Ha,a.displayAppleLogin?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:t[7]||(t[7]=(...s)=>a.appleLogin&&a.appleLogin(...s)),class:"button-center button button-90 google-button pointer"},[Fa,a.appleLoad?(e.openBlock(),e.createElementBlock("span",Ga)):(e.openBlock(),e.createElementBlock("span",Qa,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Apple",1))])):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:t[8]||(t[8]=(...s)=>a.googleLogin&&a.googleLogin(...s)),class:"button-center button button-90 google-button pointer"},[Wa,a.googleLoad?(e.openBlock(),e.createElementBlock("span",Ya)):(e.openBlock(),e.createElementBlock("span",Xa,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Google",1))]),a.displayFacebookLogin?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:t[9]||(t[9]=(...s)=>a.facebookLogin&&a.facebookLogin(...s)),class:"button-center button button-90 google-button pointer"},[Za,a.facebookLoad?(e.openBlock(),e.createElementBlock("span",et)):(e.openBlock(),e.createElementBlock("span",Ja,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Facebook",1))])):e.createCommentVNode("",!0),i.emailLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:4,onClick:t[10]||(t[10]=s=>i.emailLogin=!0),class:"button-center button button-90 google-button pointer"},[at,e.createElementVNode("span",null,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Email",1)])),tt,e.createElementVNode("p",nt,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].terms_by_registering)+" ",1),it,e.createElementVNode("a",ot,e.toDisplayString(a.ssoLang[this.appLanguage].terms_of_service),1),e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].and)+" ",1),e.createElementVNode("a",rt,e.toDisplayString(a.ssoLang[this.appLanguage].privacy_policy),1)]),st,n.isModal?(e.openBlock(),e.createElementBlock("div",{key:6,class:"page-login-links",onClick:t[11]||(t[11]=(...s)=>r.loginAccountModal&&r.loginAccountModal(...s))},[e.createElementVNode("a",dt,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].or)+" ",1),pt,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].sign_in_with_new),1)]),_t])):(e.openBlock(),e.createElementBlock("div",ct,[e.createVNode(l,{class:"create float-right",to:"/verify"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1)]),_:1}),e.createVNode(l,{class:"forgot float-left",to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),lt]))],36)}const Y=k(wa,[["render",ut]]),mt={name:"AuthVerify",mixins:[m],props:{isModal:{type:Boolean,required:!1,default:!1}},data(){return{loading:!0,submitted:!1,action:"verify",email:"",code:"",captcha:""}},mounted(){this.$storage.verifyEmail&&(this.email=this.$storage.verifyEmail),this.$route&&this.init()},methods:{init(){this.isLoggedIn?this.$router.push(this.home):(this.$storage.verifyEmail&&(this.email=this.$storage.verifyEmail),this.$route.hash==="#reset"&&(this.action="reset"),this.$route.query.e&&(this.email=this.$route.query.e),this.$route.query.c&&(this.code=this.$route.query.c),c.$emit("ssoEvent",{name:"setLoading",data:!1}))},async submit(){if(this.code.length!==6)return this.errorSnack(this.ssoLang[this.appLanguage].invalid_code);this.email=this.email.trim(),this.code=this.code.trim();let a={code:this.code,email:this.email,captchaToken:await this.getCaptchaToken("account_verify")};if(this.submitted)return!1;this.submitted=!0;let t=await this.verify(a);this.submitted=!1,t&&t.data&&t.data.success===!0?(this.action==="reset"&&(this.$router.push("/reset?c="+this.code+"&e="+this.email),this.successSnack(this.ssoLang[this.appLanguage].verify_account_success)),this.action==="verify"&&(this.isModal&&(this.email="",this.code="",c.$emit("closeModal")),await this.loginSetup(t),this.getLoggedInAccounts(),this.$storage.verifyEmail="",this.$router.push("/"+t.data.data.username+"#edit"),this.successSnack(this.ssoLang[this.appLanguage].verify_account_success2))):this.submitted=!1},registerAccountModal(){c.$emit("ssoEvent",{name:"toggleAddAccountModalRegister",data:!1})},close(){c.$emit("ssoEvent",{name:"toggleAddAccountModal",data:!0})}},watch:{"$storage.verifyEmail"(a){a&&(this.email=a)},"route.name"(a,t){!t&&a&&this.init()},"route.query":{handler(a){this.isEmpty(a)||this.init()},deep:!0}}},h=a=>(e.pushScopeId("data-v-a80e9eb1"),a=a(),e.popScopeId(),a),gt=[h(()=>e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"35%"}})],-1))],ht={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},ft=h(()=>e.createElementVNode("p",{class:"half-bottom half-top center-text color-black"},null,-1)),kt={class:"page-login-field half-top"},bt=h(()=>e.createElementVNode("i",{style:{"padding-top":"15px","margin-left":"10px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",class:"responsive-image",style:{width:"80%"}})],-1)),yt=["placeholder"],vt=h(()=>e.createElementVNode("em",null,null,-1)),wt={class:"page-login-field half-top"},zt=h(()=>e.createElementVNode("i",{style:{"padding-top":"15px","margin-left":"10px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/password2.png",class:"responsive-image",style:{width:"100%"}})],-1)),St=["placeholder"],Lt=h(()=>e.createElementVNode("em",null,null,-1)),Et={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},Ct={key:0,class:"uppercase"},Tt={key:1,class:"button--loading button__loader"},jt=h(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1)),Pt={class:"close-text center-text half-top color-black"},At=["innerHTML"],It=h(()=>e.createElementVNode("a",{href:"mailto:support@tapni.co?subject=Email Verification"}," support@tapni.co",-1)),Nt=h(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1)),Vt={key:1,class:"page-login-links"},Bt=h(()=>e.createElementVNode("div",{class:"clear"},null,-1)),xt={class:"forgot center-text pointer small-top"},Mt=h(()=>e.createElementVNode("br",null,null,-1)),qt=h(()=>e.createElementVNode("div",{class:"clear"},null,-1));function Dt(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("form",{class:"page-login content-boxed content-boxed-padding",onSubmit:t[6]||(t[6]=e.withModifiers((...s)=>r.submit&&r.submit(...s),["prevent"])),style:e.normalizeStyle(n.isModal?"max-width: 500px;":"")},[n.isModal?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"0px",position:"absolute",right:"-20px","text-align":"right"}},gt)):e.createCommentVNode("",!0),e.createElementVNode("h1",ht,e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1),ft,e.createElementVNode("div",kt,[bt,e.withDirectives(e.createElementVNode("input",{id:"emailInput","onUpdate:modelValue":t[1]||(t[1]=s=>i.email=s),onKeydown:t[2]||(t[2]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"email",placeholder:a.ssoLang[this.appLanguage].email,required:""},null,40,yt),[[e.vModelText,i.email]]),vt]),e.createElementVNode("div",wt,[zt,e.withDirectives(e.createElementVNode("input",{id:"codeInput","onUpdate:modelValue":t[3]||(t[3]=s=>i.code=s),onKeydown:t[4]||(t[4]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"tel",placeholder:a.ssoLang[this.appLanguage].code,required:""},null,40,St),[[e.vModelText,i.code]]),Lt]),e.createElementVNode("button",Et,[i.submitted?(e.openBlock(),e.createElementBlock("span",Tt)):(e.openBlock(),e.createElementBlock("span",Ct,e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1))]),jt,e.createElementVNode("p",Pt,[e.createElementVNode("span",{innerHTML:a.ssoLang[this.appLanguage].verify_account_p1},null,8,At),It]),Nt,n.isModal?(e.openBlock(),e.createElementBlock("div",{key:2,class:"page-login-links",onClick:t[5]||(t[5]=(...s)=>r.registerAccountModal&&r.registerAccountModal(...s))},[e.createElementVNode("a",xt,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].or)+" ",1),Mt,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].create_new_account),1)]),qt])):(e.openBlock(),e.createElementBlock("div",Vt,[e.createVNode(l,{class:"create float-right",to:"/register"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].register),1)]),_:1}),e.createVNode(l,{class:"forgot float-left",to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),Bt]))],36)}const Z=k(mt,[["render",Dt],["__scopeId","data-v-a80e9eb1"]]),Rt={name:"AuthReset",mixins:[m],data(){return{loading:!0,submitted:!1,passwordChange:!1,email:"",password:"",passwordRepeat:"",code:"",captcha:"",revealPassword:!1,revealPassword2:!1}},mounted(){this.$storage.verifyEmail&&(this.email=this.$storage.verifyEmail),this.$route.query.c&&(this.code=this.$route.query.c,this.passwordChange=!0),this.$route.query.e&&(this.email=this.$route.query.e),c.$emit("ssoEvent",{name:"setLoading",data:!1})},methods:{async resetEmail(){if(this.submitted)return;this.submitted=!0,this.email=this.email.trim();let a={email:this.email,captchaToken:await this.getCaptchaToken("password_reset")};await this.reset(a),this.submitted=!1,await this.$router.push("/verify?e="+this.email+"#reset")},async changePw(){if(this.code.length!==6)return this.errorSnack(this.ssoLang[this.appLanguage].invalid_code);if(this.password!==this.passwordRepeat)return this.errorSnack(this.ssoLang[this.appLanguage].password_not_match);if(this.submitted)return;this.submitted=!0,this.email=this.email.trim(),this.code=this.code.trim();let a={email:this.email,code:this.code,password:this.password,passwordRepeat:this.passwordRepeat,captchaToken:await this.getCaptchaToken("password_reset")},t=await this.changePassword(a);this.submitted=!1,t===!0&&(this.$router.push("/login"),this.successSnack(this.ssoLang[this.appLanguage].password_reseted_success))}},watch:{email(a){this.$storage.verifyEmail=a}}},b=a=>(e.pushScopeId("data-v-7eff2bb3"),a=a(),e.popScopeId(),a),Ot={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},Kt=b(()=>e.createElementVNode("p",{class:"half-bottom small-top center-text color-black"},null,-1)),Ut={class:"page-login-field half-top color-black"},$t=b(()=>e.createElementVNode("i",{style:{"padding-top":"15px","margin-left":"10px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",class:"responsive-image",style:{width:"80%"}})],-1)),Ht=["placeholder"],Ft=b(()=>e.createElementVNode("em",null,null,-1)),Qt={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},Gt={key:0,class:"uppercase"},Wt={key:1,class:"button--loading button__loader"},Xt=b(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom half-top"},null,-1)),Yt={class:"close-text center-text half-top color-black"},Zt=["innerHTML"],Jt=["href"],en=b(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom half-top"},null,-1)),an={class:"page-login-links"},tn=b(()=>e.createElementVNode("div",{class:"clear"},null,-1)),nn={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},on={class:"half-bottom small-top center-text color-black"},rn={class:"page-login-field half-top"},sn=b(()=>e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1)),cn=["type","placeholder"],ln={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},dn={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},pn={class:"page-login-field half-top"},_n=b(()=>e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1)),un=["type","placeholder"],mn={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},gn={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},hn={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},fn={key:0,class:"uppercase"},kn={key:1,class:"button--loading button__loader"},bn=b(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom half-top"},null,-1)),yn={class:"close-text center-text half-top color-black"},vn=["innerHTML"],wn=["href"];function zn(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return i.passwordChange?(e.openBlock(),e.createElementBlock("form",{key:1,class:"page-login content-boxed content-boxed-padding",onSubmit:t[7]||(t[7]=e.withModifiers((...s)=>r.changePw&&r.changePw(...s),["prevent"]))},[e.createElementVNode("h3",nn,e.toDisplayString(a.ssoLang[this.appLanguage].password_change),1),e.createElementVNode("p",on,e.toDisplayString(a.ssoLang[this.appLanguage].password_new),1),e.createElementVNode("div",rn,[sn,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>i.password=s),type:i.revealPassword?"text":"password",placeholder:a.ssoLang[this.appLanguage].password,required:""},null,8,cn),[[e.vModelDynamic,i.password]]),e.createElementVNode("em",{onClick:t[4]||(t[4]=s=>i.revealPassword=!i.revealPassword)},[e.withDirectives(e.createElementVNode("img",ln,null,512),[[e.vShow,!i.revealPassword]]),e.withDirectives(e.createElementVNode("img",dn,null,512),[[e.vShow,i.revealPassword]])])]),e.createElementVNode("div",pn,[_n,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>i.passwordRepeat=s),type:i.revealPassword2?"text":"password",placeholder:a.ssoLang[this.appLanguage].password_repeat,required:""},null,8,un),[[e.vModelDynamic,i.passwordRepeat]]),e.createElementVNode("em",{onClick:t[6]||(t[6]=s=>i.revealPassword2=!i.revealPassword2)},[e.withDirectives(e.createElementVNode("img",mn,null,512),[[e.vShow,!i.revealPassword2]]),e.withDirectives(e.createElementVNode("img",gn,null,512),[[e.vShow,i.revealPassword2]])])]),e.createElementVNode("button",hn,[i.submitted?(e.openBlock(),e.createElementBlock("span",kn)):(e.openBlock(),e.createElementBlock("span",fn,e.toDisplayString(a.ssoLang[this.appLanguage].password_change),1))]),bn,e.createElementVNode("p",yn,[e.createElementVNode("span",{innerHTML:a.ssoLang[this.appLanguage].reset_password_p2},null,8,vn),e.createTextVNode(),e.createElementVNode("a",{href:"mailto:support@tapni.co?subject="+a.ssoLang[this.appLanguage].password_reset_t}," support@tapni.co",8,wn)])],32)):(e.openBlock(),e.createElementBlock("form",{key:0,class:"page-login content-boxed content-boxed-padding",onSubmit:t[2]||(t[2]=e.withModifiers((...s)=>r.resetEmail&&r.resetEmail(...s),["prevent"])),autocomplete:"on"},[e.createElementVNode("h3",Ot,e.toDisplayString(a.ssoLang[this.appLanguage].reset_password),1),Kt,e.createElementVNode("div",Ut,[$t,e.withDirectives(e.createElementVNode("input",{id:"emailInput","onUpdate:modelValue":t[0]||(t[0]=s=>i.email=s),onKeydown:t[1]||(t[1]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"email",placeholder:a.ssoLang[this.appLanguage].email,required:""},null,40,Ht),[[e.vModelText,i.email]]),Ft]),e.createElementVNode("button",Qt,[i.submitted?(e.openBlock(),e.createElementBlock("span",Wt)):(e.openBlock(),e.createElementBlock("span",Gt,e.toDisplayString(a.ssoLang[this.appLanguage].reset_password),1))]),Xt,e.createElementVNode("p",Yt,[e.createElementVNode("span",{innerHTML:a.ssoLang[this.appLanguage].reset_password_p1},null,8,Zt),e.createElementVNode("a",{href:"mailto:support@tapni.co?subject="+a.ssoLang[this.appLanguage].password_reset_t}," support@tapni.co",8,Jt)]),en,e.createElementVNode("div",an,[e.createVNode(l,{class:"create float-right",to:"/verify"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1)]),_:1}),e.createVNode(l,{class:"forgot float-left",to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),tn])],32))}const J=k(Rt,[["render",zn],["__scopeId","data-v-7eff2bb3"]]),Sn={name:"AuthCallback",mixins:[P,A,m],data(){return{}},async mounted(){if(this.$route.path==="/callback/auth"&&this.exchangeAuthCode({code:this.$route.query.code}),this.$route.path==="/callback/okta")return await this.handleOktaRedirect();if(this.$route.path==="/callback/saml")return await this.handleSamlRedirect()},methods:{inAppRedirect(){let a=pe.sanitizeUrl(location.href);return a=a.replace("http","tapni"),a=a.replace("https","tapni"),window.open(a)}}},Ln={key:0,style:{"text-align":"center",width:"80%",margin:"0 auto","margin-top":"260px"}},En=e.createElementVNode("br",null,null,-1),Cn={key:1,style:{"text-align":"center",width:"80%",margin:"0 auto","margin-top":"260px"}};function Tn(a,t,n,o,i,r){return e.openBlock(),e.createElementBlock("div",null,[(a.$route.query.platform==="android"||a.$route.query.platform==="ios")&&!a.isNative?(e.openBlock(),e.createElementBlock("h5",Ln,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].you_will_be_redirected),1),En,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].if_redirect_not_directly)+", ",1),e.createElementVNode("span",{onClick:t[0]||(t[0]=(...l)=>r.inAppRedirect&&r.inAppRedirect(...l)),style:{color:"blue",cursor:"pointer"}},e.toDisplayString(a.ssoLang[this.appLanguage].click_here),1),e.createTextVNode(".")])):(e.openBlock(),e.createElementBlock("h4",Cn,e.toDisplayString(a.ssoLang[this.appLanguage].please_wait),1))])}const ee=k(Sn,[["render",Tn]]),jn={name:"ModalOverlay",mixins:[m],data(){return{toggle:!1}},mounted(){c.$on("closeModal",()=>{this.toggle=!1,window.document.body.style.overflow="auto",window.document.body.style.height="auto"}),c.$on("openModalOverlay",()=>{this.toggle=!0}),c.$on("toggleLanguageModal",this.toggleModal),c.$on("toggleSSOModal",this.toggleModal),c.$on("toggleSSOPickModal",this.toggleModal)},methods:{toggleModal(a=!0){a&&(this.toggle=!this.toggle,this.toggle?(window.document.body.style.overflow="hidden",window.document.body.style.height="100vh"):(window.document.body.style.overflow="auto",window.document.body.style.height="auto"))},toggleEmit(){var a,t;!this.isLoggedIn&&((t=(a=this.user)==null?void 0:a.lead_form)!=null&&t.forceFilling)||c.$emit("closeModal")}}};function Pn(a,t,n,o,i,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"pointer delete-menu":!0,"delete-menu-active":i.toggle}),onClick:t[0]||(t[0]=(...l)=>r.toggleEmit&&r.toggleEmit(...l))},null,2)}const ae=k(jn,[["render",Pn],["__scopeId","data-v-a128c2fa"]]),An={name:"SSO",mixins:[j,P,A,m],data(){return{toggle:!1,email:"",loading:!1}},mounted(){c.$on("toggleSSOModal",this.toggleModal),c.$on("closeModal",()=>{this.toggle=!1})},beforeDestroy(){c._events.toggleSSOModal.pop()},methods:{forceClose(){c.$emit("closeModal")},close(){this.toggleModal()},async submit(){this.loading=!0;const a=await this.getCompanyBySSOEmail({email:this.email});this.loading=!1;let t;if(!(!a||a.error))if(t=Object.keys(a.sso),t.length)t.length<=1?(t[0]==="azure"&&this.microsoftLogin("sso",a.sso.azure.sso),t[0]==="okta"&&this.oktaLogin(a.sso.okta.sso),t[0]==="saml"&&this.samlLogin(a.sso.saml.sso.loginUrl)):(this.forceClose(),c.$emit("toggleSSOPickModal",{sso:a.sso,email:this.email}));else return this.forceClose(),this.errorSnack(this.ssoLang[this.appLanguage].no_sso_logins)},toggleModal(){this.toggle=!this.toggle}}},In=[(a=>(e.pushScopeId("data-v-11f19a09"),a=a(),e.popScopeId(),a))(()=>e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"45%"}})],-1))],Nn={class:"bold center-text color-black half-top half-bottom"},Vn=["placeholder"],Bn={type:"submit",class:"button black-button white-button button-full",style:{margin:"0 auto","margin-top":"25px","margin-bottom":"30px"}},xn={key:0},Mn={key:1,class:"button--loading button__loader"};function qn(a,t,n,o,i,r){return e.openBlock(),e.createElementBlock("form",{onSubmit:t[3]||(t[3]=e.withModifiers((...l)=>r.submit&&r.submit(...l),["prevent"])),class:e.normalizeClass(["menu-wrapper menu-light menu-modal center-text activate-page",{"active-menu":i.toggle}]),style:{height:"auto","margin-top":"-172.5px"}},[e.createElementVNode("a",{onClick:t[0]||(t[0]=(...l)=>r.forceClose&&r.forceClose(...l)),class:"color-black pull-right pointer",style:{"margin-top":"5px",position:"absolute",right:"5px"}},In),e.createElementVNode("h3",Nn,e.toDisplayString(a.ssoLang[a.appLanguage].enter_company_email),1),e.createElementVNode("div",null,[e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=l=>i.email=l),placeholder:a.ssoLang[this.appLanguage].email,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",class:"edit-input h-40 lh-40",style:{width:"80%"},required:"",onKeydown:t[2]||(t[2]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"]))},null,40,Vn),[[e.vModelText,i.email]])]),e.createElementVNode("button",Bn,[i.loading?(e.openBlock(),e.createElementBlock("span",Mn)):(e.openBlock(),e.createElementBlock("span",xn,e.toDisplayString(a.ssoLang[a.appLanguage].continue),1))])],34)}const te=k(An,[["render",qn],["__scopeId","data-v-11f19a09"]]),Dn={name:"SSOPick",mixins:[j,P,A,m],data(){return{toggle:!1,sso:null,email:null,azureLoad:!1,oktaLoad:!1,samlLoad:!1}},mounted(){c.$on("toggleSSOPickModal",this.toggleModal),c.$on("closeModal",()=>{this.toggle=!1})},beforeDestroy(){c._events.toggleSSOPickModal.pop()},methods:{forceClose(){c.$emit("closeModal")},close(){this.toggleModal()},async ssoLogin(a){a==="azure"&&(this.microsoftLogin("sso",this.sso.azure.sso),this.azureLoad=!0),a==="okta"&&(this.oktaLogin(this.sso.okta.sso),this.oktaLoad=!0),a==="saml"&&(this.samlLogin(this.sso.saml.sso.loginUrl),this.samlLoad=!0)},toggleModal(a){this.azureLoad=!1,this.oktaLoad=!1,this.samlLoad=!1,this.sso=null,this.email=null,a&&(this.sso=a.sso,this.email=a.email),this.toggle=!this.toggle}}},I=a=>(e.pushScopeId("data-v-4f821f65"),a=a(),e.popScopeId(),a),Rn=[I(()=>e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"45%"}})],-1))],On={class:"bold center-text color-black half-top half-bottom"},Kn=I(()=>e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/azure.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1)),Un={key:0},$n={key:1,class:"button--loading button__loader"},Hn=I(()=>e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/okta.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1)),Fn={key:0},Qn={key:1,class:"button--loading button__loader"},Gn=I(()=>e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/saml.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1)),Wn={key:0},Xn={key:1,class:"button--loading button__loader"};function Yn(a,t,n,o,i,r){var l,s,d;return e.openBlock(),e.createElementBlock("form",{onSubmit:t[4]||(t[4]=e.withModifiers(()=>{},["prevent"])),class:e.normalizeClass(["menu-wrapper menu-light menu-modal center-text activate-page",{"active-menu":i.toggle}]),style:{height:"auto","margin-top":"-172.5px"}},[e.createElementVNode("a",{onClick:t[0]||(t[0]=(...f)=>r.forceClose&&r.forceClose(...f)),class:"color-black pull-right pointer",style:{"margin-top":"5px",position:"absolute",right:"5px"}},Rn),e.createElementVNode("h3",On,e.toDisplayString(a.ssoLang[a.appLanguage].select_sign_method),1),(l=i.sso)!=null&&l.azure?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[1]||(t[1]=f=>r.ssoLogin("azure")),class:"button-center button black-button button-90 google-button pointer"},[Kn,i.azureLoad?(e.openBlock(),e.createElementBlock("span",$n)):(e.openBlock(),e.createElementBlock("span",Un,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Azure",1))])):e.createCommentVNode("",!0),(s=i.sso)!=null&&s.okta?(e.openBlock(),e.createElementBlock("a",{key:1,onClick:t[2]||(t[2]=f=>r.ssoLogin("okta")),class:"button-center button black-button button-90 google-button pointer"},[Hn,i.oktaLoad?(e.openBlock(),e.createElementBlock("span",Qn)):(e.openBlock(),e.createElementBlock("span",Fn,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Okta",1))])):e.createCommentVNode("",!0),(d=i.sso)!=null&&d.saml?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:t[3]||(t[3]=f=>r.ssoLogin("saml")),class:"button-center button black-button button-90 google-button pointer"},[Gn,i.samlLoad?(e.openBlock(),e.createElementBlock("span",Xn)):(e.openBlock(),e.createElementBlock("span",Wn,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" SAML",1))])):e.createCommentVNode("",!0)],34)}const ne=k(Dn,[["render",Yn],["__scopeId","data-v-4f821f65"]]),Zn={name:"LinkIcon",mixins:[m],props:{linkAdding:{type:Boolean,required:!1,default:!1},hideExternalIcon:{type:Boolean,required:!1,default:!1},switching:{type:Boolean,required:!1,default:!1},pulse:{type:Boolean,required:!1,default:!1},editing:{type:Boolean,required:!1,default:!0},directPick:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},to:{type:String,required:!1,default:""},linkStyle:{type:String,required:!1,default:"link-grid"},data:{type:Object,required:!0},customLinkStyle:{type:Object,required:!1,default:()=>{}},shareIconStyle:{type:Object,required:!1,default:()=>{}}},computed:{linkText(){return this.appLanguage!=="en"&&this.data.text?this.ssoLang[this.appLanguage]["link_text_"+this.data.text.toLowerCase().trim().replace(/ /g,"_")]||this.data.text:this.data.text}},methods:{}},Jn=["src","alt"],ei=["src","alt"],ai=["src","alt"],ti=["src","alt"];function ni(a,t,n,o,i,r){var l,s;return e.openBlock(),e.createElementBlock("a",{class:e.normalizeClass(["disable-select",n.linkStyle+(n.disabled?" opacity-50":"")]),style:e.normalizeStyle((n.editing?"cursor: move":"cursor: pointer")+"!important; overflow: visible;")},[e.createElementVNode("span",{class:e.normalizeClass({"user-link-img":!0,"pulse pulse-border":n.pulse,"link-drag":n.editing}),style:e.normalizeStyle({...(l=n.customLinkStyle)==null?void 0:l.linkIcon})},[!n.data.custom_icon&&n.data.type!=="customlink"?(e.openBlock(),e.createElementBlock("img",{key:0,src:"https://cdn.tapni.co/icons/"+n.data.type+".png",class:"responsive-image",alt:n.data.text,onLoad:t[0]||(t[0]=d=>a.$emit("loaded")),onError:t[1]||(t[1]=d=>a.$emit("loaded"))},null,40,Jn)):!n.data.custom_icon&&n.data.type==="customlink"&&n.linkAdding?(e.openBlock(),e.createElementBlock("img",{key:1,src:"https://cdn.tapni.co/icons/custom-icon-128.gif",class:"responsive-image",alt:n.data.text,onLoad:t[2]||(t[2]=d=>a.$emit("loaded")),onError:t[3]||(t[3]=d=>a.$emit("loaded"))},null,40,ei)):!n.data.custom_icon&&n.data.type==="customlink"&&!n.linkAdding?(e.openBlock(),e.createElementBlock("img",{key:2,src:"https://cdn.tapni.co/icons/customlink.png",class:"responsive-image",alt:n.data.text,onLoad:t[4]||(t[4]=d=>a.$emit("loaded")),onError:t[5]||(t[5]=d=>a.$emit("loaded"))},null,40,ai)):(e.openBlock(),e.createElementBlock("img",{key:3,src:n.data.style.custom_icon,style:{"border-radius":"22.46%"},class:"responsive-image",alt:n.data.text,onLoad:t[6]||(t[6]=d=>a.$emit("loaded")),onError:t[7]||(t[7]=d=>a.$emit("loaded"))},null,40,ti))],6),e.createElementVNode("span",{class:"link-text link-drag color-black",style:e.normalizeStyle({color:(s=n.customLinkStyle)==null?void 0:s.color})},e.toDisplayString(r.linkText),5)],6)}const ii=k(Zn,[["render",ni]]),oi={ANDROID_VERSION:"5.6",IOS_VERSION:"5.6",WEB_VERSION:"5.6.0",SUPPORTED_LANGUAGES:["en","de","es","kr","it","fr"],METAPIXEL_ID:"1203678696914368",GOOGLE_ANALYTICS_ID:""},ri={name:"Language",mixins:[m],components:{LinkIcon:ii},data(){return{toggle:!1}},async mounted(){c.$on("toggleLanguageModal",this.toggleModal),c.$on("closeModal",()=>{this.toggle=!1});let a=this.isNative?await E.Device.getLanguageCode():v.getFirstBrowserLanguage();a&&oi.SUPPORTED_LANGUAGES.includes(a)&&this.updateLanguage(a)},beforeDestroy(){c._events.toggleLanguageModal.pop()},methods:{forceClose(){c.$emit("closeModal")},close(){this.forceClose()},async updateLanguage(a){c.$emit("updateLang",a),c.$emit("closeModal")},toggleModal(){this.toggle=!this.toggle}}},si=[(a=>(e.pushScopeId("data-v-34a6b7b2"),a=a(),e.popScopeId(),a))(()=>e.createElementVNode("i",{class:"font-17 fa color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"fa responsive-image",style:{width:"45%"}})],-1))],ci={class:"bold center-text color-black small-bottom"};function li(a,t,n,o,i,r){const l=e.resolveComponent("LinkIcon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["menu-wrapper menu-light menu-white menu-modal center-text activate-page",{"active-menu":i.toggle}]),style:{height:"auto","max-height":"92vh","margin-top":"-172.5px"}},[e.createElementVNode("a",{onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"5px",position:"absolute",right:"5px"}},si),e.createElementVNode("h3",ci,e.toDisplayString(a.ssoLang[a.appLanguage].app_language),1),e.createVNode(l,{onClick:t[1]||(t[1]=s=>r.updateLanguage("en")),"link-style":"link-grid",data:{type:"lang/en",text:a.ssoLang[this.appLanguage].english},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[2]||(t[2]=s=>r.updateLanguage("es")),"link-style":"link-grid",data:{type:"lang/es",text:a.ssoLang[this.appLanguage].spanish},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[3]||(t[3]=s=>r.updateLanguage("de")),"link-style":"link-grid",data:{type:"lang/de",text:a.ssoLang[this.appLanguage].german},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[4]||(t[4]=s=>r.updateLanguage("it")),"link-style":"link-grid",data:{type:"lang/it",text:a.ssoLang[this.appLanguage].italian},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[5]||(t[5]=s=>r.updateLanguage("fr")),"link-style":"link-grid",data:{type:"lang/fr",text:a.ssoLang[this.appLanguage].french},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[6]||(t[6]=s=>r.updateLanguage("kr")),"link-style":"link-grid",data:{type:"lang/kr",text:a.ssoLang[this.appLanguage].korean},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[7]||(t[7]=s=>r.updateLanguage("sr")),"link-style":"link-grid",data:{type:"lang/sr",text:a.ssoLang[this.appLanguage].serbian},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[8]||(t[8]=s=>r.updateLanguage("tr")),"link-style":"link-grid",data:{type:"lang/tr",text:a.ssoLang[this.appLanguage].turkish},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"])],2)}const ie=k(ri,[["render",li],["__scopeId","data-v-34a6b7b2"]]);var di={VITE_APP_MODE:"npm",VITE_APP_APP_ROOT:"https://t.link",VITE_APP_API_ROOT:"https://api.tapni.co",VITE_APP_GOOGLE_RECAPTCHA_SITE_KEY:"6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",VITE_APP_SSO_ID:"9cd47053-080a-4df8-8fd8-ca4389163fde",VITE_APP_POPUP_LOGIN_ALLOWED_ORIGIN:"https://auth.tapni.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const pi={id:"ssoapp"},_i={key:0,href:"/",class:"header-logo"},ui=[e.createElementVNode("img",{src:"data:image/png;base64,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",onerror:"this.onerror=null;this.src='https://cdn.tapni.co/images/logo-dark.png';",class:"header-logo-img"},null,-1)],mi={class:"lang-icon"},gi={class:"snackbar snackbar-boxed",id:"snackbar"},hi={class:"snack-body",id:"errorSnack"},fi={id:"errorMessage"},ki=[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/notification-close.png",style:{width:"100%"}},null,-1)],bi={class:"snack-body",id:"successSnack"},yi={id:"successMessage"},vi=[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/notification-close.png",style:{width:"100%"}},null,-1)],oe=Object.assign({name:"TapniAuth",mixins:[m],data(){return{isSetup:!1}},components:{Language:ie,SSOPick:ne,SSO:te,ModalOverlay:ae,AuthCallback:ee,AuthReset:J,AuthVerify:Z,AuthRegister:Y,AuthLogin:X,AuthWelcome:F},props:{view:{type:String,default:""},isModal:{type:Boolean,default:!1}},computed:{initialized(){return this.isSetup||this.isModal}},async mounted(){this.applyBgStyle(),c.$on("ssoEvent",this.ssoOutgoingEvent),c.$on("ssoLogout",a=>this.logout(a)),c.$on("getLoggedInAccounts",a=>this.getLoggedInAccounts(a)),c.$on("refreshTokenAction",a=>this.refreshTokenAction(a))},methods:{async init(){if(this.isSetup)return;this.isSetup=!0,this.setToken(this.$storage.token);const a=this.getRefreshTokens();this.setRefreshToken(a[0]),this.getLoggedInAccounts(),this.$emit("ssoLibraryReady")},ssoOutgoingEvent(a){this.$emit("ssoEvent",a)},ssoIncomingEvent(a){c.$emit(a.name,a.data)},applyBgStyle(){this.display==="redirect"?document.getElementsByTagName("html")[0].style="background: #dfeefe;":document.getElementsByTagName("html")[0].style=""},toggleLanguageModal(){c.$emit("toggleLanguageModal",!0)}},watch:{display(){this.applyBgStyle()}}},{setup(a){return document.addEventListener("DOMContentLoaded",function(){const t=document.createElement("script");t.src=`https://www.google.com/recaptcha/api.js?render=${di.VITE_GOOGLE_RECAPTCHA_SITE_KEY}`,document.head.appendChild(t)}),(t,n)=>(e.openBlock(),e.createElementBlock("div",pi,[t.display==="redirect"?(e.openBlock(),e.createElementBlock("a",_i,ui)):e.createCommentVNode("",!0),t.display==="redirect"?(e.openBlock(),e.createElementBlock("a",{key:1,onClick:n[0]||(n[0]=(...o)=>t.toggleLanguageModal&&t.toggleLanguageModal(...o)),class:"font-18 no-border pointer color-black",style:{position:"absolute",right:"20px",top:"-10px"}},[e.createElementVNode("span",mi,e.toDisplayString(t.appLanguage.toUpperCase()),1)])):e.createCommentVNode("",!0),e.createVNode(ae),e.createVNode(ie),e.createVNode(te),e.createVNode(ne),t.initialized&&t.renderView==="AuthWelcome"?(e.openBlock(),e.createBlock(F,{key:2})):t.initialized&&t.renderView==="AuthLogin"?(e.openBlock(),e.createBlock(X,{key:3,isModal:a.isModal},null,8,["isModal"])):t.initialized&&t.renderView==="AuthRegister"?(e.openBlock(),e.createBlock(Y,{key:4,isModal:a.isModal},null,8,["isModal"])):t.initialized&&t.renderView==="AuthVerify"?(e.openBlock(),e.createBlock(Z,{key:5,isModal:a.isModal},null,8,["isModal"])):t.initialized&&t.renderView==="AuthReset"?(e.openBlock(),e.createBlock(J,{key:6})):t.initialized&&t.renderView==="AuthCallback"?(e.openBlock(),e.createBlock(ee,{key:7})):(e.openBlock(),e.createBlock(e.unref(z.RouterView),{key:8})),e.createElementVNode("div",gi,[e.createElementVNode("p",hi,[e.createElementVNode("span",fi,e.toDisplayString(t.ssoLang[t.appLanguage].error),1),e.createElementVNode("a",{onClick:n[1]||(n[1]=(...o)=>t.closeSnacks&&t.closeSnacks(...o)),style:{position:"absolute",right:"10px",top:"10px",width:"50px",height:"50px"}},ki)]),e.createElementVNode("p",bi,[e.createElementVNode("span",yi,e.toDisplayString(t.ssoLang[t.appLanguage].success),1),e.createElementVNode("a",{onClick:n[2]||(n[2]=(...o)=>t.closeSnacks&&t.closeSnacks(...o)),style:{position:"absolute",right:"10px",top:"10px",width:"50px",height:"50px"}},vi)])])]))}});return{TapniAuth:oe,install:a=>{a.component("TapniAuth",oe)}}});
|
|
102
|
+
웹 사이트 및 소셜 미디어에 공유하여 돈을 버는 동시에 최고의 연결 경험을 제공하십시오.`,referral_p8:"지불 메모",referral_p9:"Paypal (세계적인) 또는 계좌이체 (EU) <br> 최소 지급액은 25€입니다.",referral_p10:"지급 요청",referral_p11:"요청된 지불",your_connections:"나의 연결 기록",connections_p1:"사람들과 만나서 탭을 하세요.",connections_p2:"<br><br>지금까지 연결이 없습니다. <br> 탭을 시작해볼까요💥",connections_p3:"연결을 찾을 수 없습니다.",connection_success:"연결 요청을 보냈습니다.",exchange_success:"연락처를 교환했습니다.",create_free_account:"무료 Tapni 계정을 만들고 연락처를 최신 상태로 유지하십시오!",connection_edit:"연결 편집",connection_edit_success:"성공적으로 업데이트된 연결",connection_delete_success:"연결을 삭제했습니다.",search:"검색",devices_p1:"장치 호환성 목록",devices_p2:"탭니는 대부분의 최신 아이폰 및 안드로이드와 호환이 가능합니다.",devices_p3:"일부 안드로이드 폰은 NFC가 꺼져 있을 수 있습니다. 탭니가 안드로이드 장치에서 작동하지 않는 경우 설정에서 NFC를 검색하고 켜져 있는지 확인합니다.",devices_p4:"제어 센터에 iOS 14 NFC 위젯 포함",download_p1:"탭니 앱 다운로드",download_p2:"애플 및 안드로이드 기기에서 사용 가능",user_not_found:"사용자를 찾을 수 없음",user_not_found_p:"데이터베이스에서 사용자를 찾을 수 없습니다.🤷",taps:"탭",private_profile:"개인 프로필",private_profile_p:"은 개인 프로필입니다. <br> 프로필은 탭니 태그에서만 사용하며 표시됩니다.",profile_bio_p:"자기 소개를 해주세요.",add_to_contacts:"연락처에 추가",drag_and_drop_links:"링크를 원하는 순서대로 끌어서 놓기",no_links:"프로필에 링크가 없습니다.",add_link:"링크 추가",direct_link_p1:"방문자는 다음으로 자동 이동됩니다:",profile_not_active:"프로필이 현재 활성화되지 않았습니다. <br> 로그인을 해야 볼 수 있어요.",profile_not_public:"프로필이 현재 공개되지 않았습니다. <br> 누르신 분들만 볼 수 있습니다.",activate_profile_now:"프로필 활성화 완료",publish_profile_now:"지금 프로필을 공개하십시오.",link_add_p1:"링크 유형 선택",link_add_not_found:"링크를 찾을 수 없습니다. 🤷",link_add_not_found_p2:"즐겨찾는 플랫폼을 놓치셨다면, 저희에게 이메일을 보내주시기 바랍니다. (<b>support@tapni.co</b>) 아니면 소셜 미디어로 DM을 해주세요.(<b>@tapni</b>)",link_add_not_found_p3:"모든 플랫폼을 지원할 수 있도록 최선을 다하겠습니다. 😉",featured:"피처링",social_media:"소셜 미디어",contact:"연락처",finance:"금융",portfolio:"포트폴리오",music:"음악",business:"비지니스",fun:"재미",ecommerce:"전자상거래",more:"더 보기",email_username:"이메일 / 사용자 이름",username:"사용자 이름",password:"비밀번호",sign_in:"로그인",sign_in_with:"로그인",sign_in_with_new:"새 계정으로 로그인",sign_up_with:"등록하기",select_sign_method:"로그인 방법 선택",verify_account:"계정 확인",terms_by_signing_in:"회원님의 동의로 회원가입을 합니다.",terms_by_registering:"동의하시면 등록하여 주십시오.",terms_by_submitting:"이 양식을 제출하면 서비스 약관에 동의하는 것입니다",terms_of_service:"서비스 약관",and:"그리고",refresh:"새로 고침",privacy_policy:"개인 정보 보호 정책",create_account:"계정 만들기",reset_password:"비밀번호 재설정",reset_password_p1:"암호를 재설정할 수 없으면, <br> 언제든지 다음 주소로 연락하십시오.",reset_password_p2:"암호를 재설정할 수 없으면, <br> 언제든지 다음 주소로 연락하십시오.",create_new_account:"새 계정 만들기",maintenance_p1:"우리는 곧 돌아올 것이다.",maintenance_p2:"그동안 탭니 컬렉션 살펴보기",maintenance_p3:"탭니는 예정된 점검으로 인하여 잠시 중단되었습니다. <br> 몇 분 내로 다시 온라인 상태가 될 것입니다.",offline_p1:"인터넷에 연결되지 않음",offline_p2:"연결을 확인한 다음 페이지를 새로 고치십시오.",offline_p3_1:"오프라인일 때 이 QR 코드를 사용하여 연락처 카드를 공유할 수 있습니다.",offline_p3_2:"",products_p1:"만나는 모든 사람에게 깊은 인상을 남깁니다. 😎 <br> 지금 바로 구입하십시오 👇",cards:"카드",stickers:"스티커",keychains:"키 체인",explore_collection:"컬렉션 탐색",register:"등록",register_success:"거의 다 완료하였습니다. 이메일을 확인해 주세요.",register_success_modal:"다른 계정으로 로그인했습니다.",check_your_inbox:"첫 번째 링크를 추가 해 주세요.",tapni_tags:"탭니 태그",tapni_tags_p1:"프로필에 연결된 태그 구성",tapni_tags_p2:"프로필에 연결된 태그가 없습니다. <br> 지금 연결하세요!",verify_account_p1:"코드를 받지 못한 경우 다음을 확인하십시오. <br> 스팸 폴더 또는 연락주세요:",verify_account_success:"계정을 확인했습니다. 지금 비밀번호를 변경해 주세요.",verify_account_success2:"계정을 확인했습니다. 모두 완료 되었습니다.!🥳",welcome:"반갑습니다.",welcome_p1:"비지니스 카드의 미래까지",how_it_works:"작동 방식",already_registered:"이미 등록되어있습니다",error:"오류",success:"성공",copied:"클립보드에 복사됨",connect_validate:"두 개의 연락처 필드 중 하나를 제공해야 합니다.",connect_validate_name:"이름을 입력하십시오.",connect_validate_email:"유효한 이메일을 입력하세요",link_validate:"잘못된 링크 데이터입니다.",link_text_contact_card:"연락처 카드",link_text_custom_link:"사용자 지정 링크",link_text_menu:"메뉴",link_text_phone:"휴대폰",save_to_apple_wallet:"Apple 지갑에 저장",save_to_google_wallet:"Google 지갑에 저장",card:"카드",sticker:"상표",keychain:"키체인",band:"밴드",case:"사례",standee:"서다",decoded:"Decoded",wristbanditz:"Wristbanditz",update_p1:"오래된 앱 버전이 감지되었습니다",update_p2:"업데이트",update_p3:"앱을 최신 버전으로 업데이트하세요",company_domain:"귀하의 회사 도메인",search_company_domain:"회사 도메인 검색",enter_company_email:"회사 이메일을 입력하세요",company_not_found:"회사를 찾을 수 없음",ik_company_domain:"회사 도메인을 알고 있습니다",idk_company_domain:"회사 도메인을 모릅니다",continue:"계속",forbidden_rule:"이 옵션은 비활성화되어 있습니다. 회사 관리자에게 문의하십시오.",companyName:"회사 이름",createMarkerPlaceholder:"마커 생성 또는 선택",clickToCreateMarker:"마커를 만들려면 여기를 클릭하세요.",pleaseInviteUser:"데이터를 동기화하려면 사용자를 Tapni에 가입하도록 초대하세요.",connectionSynchronized:"연결 데이터가 자동으로 동기화됩니다.",viewProfile:"프로필보기",createConnectionHeader:"새 연결 추가",createConnectionButton:"추가하다",createConnectionSuccess:"연결이 생성되었습니다.",allow_company_management:"회사 관리 허용",company_join_request:"이 귀하의 프로필을 관리하고 이를 기업 계정에 연결하도록 요청하고 있습니다.",account_ownership_transfer:"귀하가 요청을 수락하면 귀하의 계정 소유권이 회사로 이전됩니다. 회사는 귀하의 프로필을 수정하고, 링크를 편집 및 추가하고, 연결을 확인하고, 비밀번호를 수정하고, 계정을 삭제하는 등의 작업을 수행할 수 있습니다. 요청을 수락하기 전에 회사에 확인하십시오.",request_expired:"요청이 만료되었습니다. 회사에 새 요청을 보내도록 요청하십시오.",request_expiration_desc:"보안 강화를 위해 요청은 전송된 후 14일 동안만 작동합니다.",invitation_link_not_valid:"초대 링크가 유효하지 않습니다!",invitation_link_not_valid2:"초대 이메일에서 버튼을 다시 클릭하거나 초대 링크를 복사합니다.",accept_request:"요청 수락",close:"닫다",request_accepted:"요청이 성공적으로 수락되었습니다.",companyEmail:"회사 이메일",companyPhone:"회사 전화",addBusinessInformations:"비즈니스 정보 추가",resetFilter:"초기화",selectMarkers:"마커 선택",filterConnectionsHeader:"필터 연결",selectConnectionType:"연결 유형 선택",all:"모두",direct:"직접",form:"형태",manually:"수동으로",scan:"주사",sortOptions:"정렬 옵션",date:"제작 일",fullName:"성명",descending:"내림차순",ascending:"오름차순",selectDateRange:"날짜 범위 선택",follow_up_reminder:"후속 알림",now:"지금",one_hour:"1 토",one_day:"1 일",three_days:"3 일",one_week:"일주",two_weeks:"이주",one_month:"개월",custom:"시간 선택",set_reminder:"알림 설정",select_date_time:"날짜 및 시간 선택",enter_reminder_text:"알림 텍스트 입력",reminder_created:"알림이 생성되었습니다.",connectionNameLabel:"연결 이름 입력",connectionEmailLabel:"개인 이메일 주소 입력",privatePhoneLabel:"개인 전화번호 입력",companyNameLabel:"회사 이름 입력",businessEmail:"비즈니스 이메일 주소",businessEmailLabel:"비즈니스 이메일 주소 입력",businessPhone:"회사 전화번호",businessPhoneLabel:"회사 전화번호 입력",noteLabel:"메모 입력",markersLabel:"연결 마커 추가",showScan:"스캔 표시",hideScan:"스캔 숨기기",create_connection:"연결 추가",create_manually:"수동으로 추가",create_using_scanner:"카드 스캐너를 사용하여 추가",companyTitle:"회사명",companyTitleLabel:"회사명 입력",allConnectionsLabel:"모든 연결 유형",directConnectionsLabel:"Tapni 사용자와 직접 앱 내 연결",formConnectionsLabel:"연결 양식에 채워진 연결",manualConnectionsLabel:"수동으로 생성된 연결",scanConnectionsLabel:"카드 스캐너가 연결을 생성했습니다.",analyticsHeader:"분석",analyticsProfileViews:"프로필 보기",analyticsLinkClicks:"링크 클릭 수",analyticsClickTroughRatio:"트로프 비율 클릭",analyticsTotalConnections:"총 연결 수",analyticsTopLinks:"가장 인기 있는 링크",analyticsProfileVisits:"프로필 방문",analyticsLinkVisits:"링크 방문",analyticsNewConnections:"새로운 연결",analyticsTopCountries:"상위 국가",analyticsTopReferers:"상위 추천인",please_wait:"잠시만 기다려 주세요...",click_here:"여기를 클릭하세요",if_redirect_not_directly:"리디렉션이 자동으로 수행되지 않는 경우",you_will_be_redirected:"Tapni 애플리케이션으로 리디렉션됩니다.",use_tapni_on_the_web:"웹에서 Tapni 사용하기",login_by_scanning_qr_code:"QR 코드 스캔하여 로그인하기",open_tapni_app_on_your_phone:"1. 휴대폰에서 Tapni 앱 열기",go_to_settings_link_a_device:"2. 설정 > 장치 연결로 이동하기",point_your_phone_at_this_qr_code:"3. 휴대폰을 이 QR 코드에 맞추기",choose_other_login_methods:"다른 로그인 방법 선택하기",no_sso_logins:"귀하의 회사는 SSO 로그인을 사용하지 않습니다. 관리자에게 문의하십시오."}},me={computed:{home(){return this.$storage.token&&this.$storage.username?"/"+this.$storage.username:"/welcome"},isAndroid(){return/Android/i.test(navigator.userAgent)||S.Capacitor.getPlatform()==="android"},isiOS(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document||S.Capacitor.getPlatform()==="ios"},isNative(){return S.Capacitor.isNativePlatform()}},methods:{errorHandler(a){return a&&a.response&&a.response.data&&a.response.data.error&&((a.response.data.error==="ACCESS_DENIED"||a.response.data.error==="TOKEN_EXPIRED")&&this.logout(),!a.response.data.error.includes("Network Error")&&!a.response.data.error.includes("Cannot read properties")&&this.errorSnack(a.response.data.error)),a},errorSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("errorMessage"),o=document.getElementById("errorSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},successSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("successMessage"),o=document.getElementById("successSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},closeSnacks(){document.getElementById("snackbar").classList.remove("show-snack"),document.getElementById("successSnack").classList.remove("active-snack"),document.getElementById("errorSnack").classList.remove("active-snack")},tapsEmoji(a){return a<10?"":a<=50?"🔥":a<=100?"💥":a<=300?"💎":a>300?"🚀":""},isEmpty(a){if(!a)return!0;for(let t in a)if(a.hasOwnProperty(t))return!1;return JSON.stringify(a)===JSON.stringify({})},copy(a=""){const t=document.createElement("textarea");t.value=a,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),this.successSnack(this.ssoLang[this.appLanguage].copied)},async getCaptchaToken(a){try{return await window.grecaptcha.execute("6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",{action:a})}catch(t){return console.log(t),null}}}};var ge={VITE_APP_MODE:"npm",VITE_APP_APP_ROOT:"https://t.link",VITE_APP_API_ROOT:"https://api.tapni.co",VITE_APP_GOOGLE_RECAPTCHA_SITE_KEY:"6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",VITE_APP_SSO_ID:"9cd47053-080a-4df8-8fd8-ca4389163fde",VITE_APP_POPUP_LOGIN_ALLOWED_ORIGIN:"https://auth.tapni.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const m={mixins:[me],data(){return{appLanguage:"en",token:"",refreshToken:"",loggedInUserId:"",ssoUser:{},ssoCompany:{},device:{},loggedInAccounts:{},ssoLang:{en:M.state,de:q.state,es:D.state,fr:R.state,it:O.state,sr:K.state,tr:U.state,cn:ue.state,kr:$.state},display:"npm",redirect_uri:"https://t.link/callback/auth",response_type:"token",state:"",allowedOrigins:["https://business.tapni.com","https://business-dev.tapni.com","https://tapni.com","https://tapni.co","https://t.link","https://my.tapni.com","https://my.tapni.co","https://dev.tapni.co","https://dev.tapni.com","https://auth.tapni.com","https://auth.tapni.co","https://mailsign.link","https://sign.tapni.com","https://qrcodetoolkit.com","https://qr.tapni.com","https://designer.tapni.com","https://designer-dev.tapni.com"]}},computed:{isLoggedIn(){return!!this.token&&this.token!==""&&this.token!=="null"},renderView(){return this.display==="redirect"?!1:this.view}},mounted(){this.$route.query.redirect_uri&&(this.redirect_uri=this.$route.query.redirect_uri),this.$route.query.display&&(this.display=this.$route.query.display),this.$route.query.state&&(this.state=this.$route.query.state),this.$route.query.response_type&&(this.response_type=this.$route.query.response_type),this.$route.query.realm&&(this.$storage.realm=this.$route.query.realm),c.$on("updateLang",this.updateLang),ge.NODE_ENV==="development"&&(this.allowedOrigins.push("http://localhost:8082"),this.allowedOrigins.push("http://localhost:7777"),this.allowedOrigins.push("http://localhost:5173"))},methods:{errorHandler(a){if(a&&a.response&&a.response.data&&a.response.data.error){if(a.response.data.error==="ACCESS_DENIED"||a.response.data.error==="TOKEN_EXPIRED")return this.logout();!a.response.data.error.includes("Network Error")&&!a.response.data.error.includes("Cannot read properties")&&this.errorSnack(a.response.data.error)}return a},errorSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("errorMessage"),o=document.getElementById("errorSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},successSnack(a){let t=document.getElementById("snackbar"),n=document.getElementById("successMessage"),o=document.getElementById("successSnack");n.innerHTML=a,t.classList.add("show-snack"),o.classList.add("active-snack"),setTimeout(function(){o.classList.remove("active-snack"),t.classList.remove("show-snack")},3e3)},closeSnacks(){document.getElementById("snackbar").classList.remove("show-snack"),document.getElementById("successSnack").classList.remove("active-snack"),document.getElementById("errorSnack").classList.remove("active-snack")},async eventLog(a){const[t,n]=await _(y.eventLog(a,this.$storage));return t?this.errorHandler(t):n},async maintenance(){const[a,t]=await _(I.get("https://status.tapni.co/data/maintenance.json"));if(a)return console.error(a);if(t){let n=t.data;typeof t.data=="string"&&(n=JSON.parse(t.data)),n.api&&n.api.maintenanceActive&&(location.href="https://t.link/maintenance?msg="+n.api.msg)}},async getUser(a){if(a){let t,n;if(a.username?[t,n]=await _(y.getByUsername(a,this.$storage)):a.serial&&([t,n]=await _(y.getByNumber(a,this.$storage))),t)return this.errorHandler(t);if(n.data.success){if(!n.data.user&&n.data.showDemoProfile){if(this.isLoggedIn)throw this.$router.push("/tags#activate"),new Error("Activate the tag");return this.$router.push("/"+n.data.showDemoProfile)}!n.data.user&&a.login&&this.logout(),this.registerLang(n.data.user?n.data.user.ssoLang:"en"),this.setUser(n.data.user)}}},async loginSetup(a){var t,n;a.data.refreshToken&&this.setRefreshToken(a.data.refreshToken),a.data.token&&this.setToken(a.data.token),((n=(t=a.data)==null?void 0:t.data)==null?void 0:n.ssoLang)!==this.appLanguage&&c.$emit("ssoEvent",{name:"saveProfile",data:{lang:this.appLanguage,username:a.data.data.username}}),this.setLoggedInUserId(a.data.data.id),this.$storage.UserId=a.data.data.id,this.$storage.username=a.data.data.username,a.isModal===!0&&this.setLoggedInAccounts([{id:a.data.data.id,username:a.data.data.username,refreshToken:a.data.refreshToken,photo:a.data.data.photo}])},async refreshTokenAction(a){const[t,n]=await _(u.refreshToken({id:a.id,refreshToken:this.refreshToken,refreshTokenAction:!0},this.$storage));if(t&&t.response&&t.response.data.error==="ACCESS_DENIED")return this.logout(!1),location.reload();n&&n.data?this.setToken(n.data.token):console.error("Invalid response setToken")},async login(a){const[t,n]=await _(u.login(a,this.$storage));if(t)return this.errorHandler(t);if(n.data.success)return this.display==="npm"&&(this.loginSetup({...n,isModal:a.isModal}),this.getLoggedInAccounts()),this.loginSuccess({...n,isModal:a.isModal}),!0},loginSuccess(a){if(this.display==="redirect"){if(this.redirect_uri&&!this.allowedOrigins.some(t=>this.redirect_uri.startsWith(t)))return console.log("Redirect URI not allowed");location.href=this.redirect_uri+"?code="+a.data.auth_code+"&state="+this.state}else this.display==="popup"?this.allowedOrigins.forEach(t=>{var n;(n=window.parent)==null||n.postMessage({code:a.data.auth_code,state:this.$route.query.state},t)}):this.display==="npm"&&(c.$emit("ssoEvent",{name:"setLoading",data:!0}),c.$emit("ssoEvent",{name:"getUser",data:{login:!0,username:a.data.data.username}}),a.isModal&&(c.$emit("closeModal"),this.successSnack(this.ssoLang[this.appLanguage].success_login)),this.$router.push("/"+a.data.data.username+"#edit"))},async register(a){const[t,n]=await _(u.register(a,this.$storage));return t?this.errorHandler(t):n},async verify(a){const[t,n]=await _(u.verify(a,this.$storage));return t?this.errorHandler(t):n},async reset(a){const[t,n]=await _(u.sendResetEmail(a,this.$storage));if(t)return this.errorHandler(t);n.data.success&&this.successSnack(this.ssoLang[this.appLanguage].password_reset_success)},async exchangeAuthCode(a){const[t,n]=await _(u.exchangeAuthCode(a,this.storage));if(t)return this.errorHandler(t);await this.loginSetup(n),await this.getLoggedInAccounts(),this.loginSuccess(n)},async changePassword(a){const[t,n]=await _(u.changePassword(a,this.$storage));return t?this.errorHandler(t):n.data.success},async newPassword(a){const[t,n]=await _(y.newPassword(a,this.$storage));return t?this.errorHandler(t):n.data.success},async deleteAccount(a){const[t,n]=await _(y.deleteAccount(a,this.$storage));return t?this.errorHandler(t):n.data.success},async registerDevice(){const a=await L.Device.getId(),t=await L.Device.getInfo();let n={device_id:a.uuid,platform:t.platform,device_info:{model:t.model,manufacturer:t.manufacturer,operatingSystem:t.operatingSystem,osVersion:t.osVersion,isVirtual:t.isVirtual,webViewVersion:t.webViewVersion}};const[o,i]=await _(x.registerDevice(n,this.$storage));return o?this.errorHandler(o):i},async addFcmToken(a){const[t,n]=await _(x.addFcmToken(a,this.$storage));return t?this.errorHandler(t):n},async acceptCompanyInvitation(a){const[t,n]=await _(N.acceptCompanyInvitation(a,this.$storage));return t?this.errorHandler(t):n},async logout(a=!0){a&&u.logout({token:this.refreshToken},this.$storage),this.$storage.username=null,this.$storage.ssoUser=null,this.$storage.UserId=null,this.setLoggedInUserId(null),this.setToken(null),this.setRefreshToken(null),this.refreshToken?Object.keys(this.loggedInAccounts).forEach(t=>{this.loggedInAccounts[t].refreshToken===this.refreshToken&&this.refreshTokenAction({id:this.loggedInAccounts[t].id}).then(()=>(this.setLoggedInUserId(this.loggedInAccounts[t].id),this.$storage.username=t,this.$storage.UserId=this.loggedInAccounts[t].id,this.getLoggedInAccounts(),this.$router.push("/"+t)))}):this.setUser(null),await this.$router.push("/welcome")},async getCompanyBySSOEmail(a){const[t,n]=await _(N.getBySSOEmail(a.email,this.$storage));if(t)return this.errorHandler(t);if(n.data.success)return n.data},async getLoggedInAccounts(){const a=this.getRefreshTokens(),[t,n]=await _(u.getLoggedInAccounts({refreshTokens:a},this.$storage));if(t)return this.errorHandler(t);n.data.success&&this.setLoggedInAccounts(n.data.accounts)},async loginUsingQR(a){const[t,n]=await _(y.loginUsingQR(a,this.$storage));return t?this.errorHandler(t):n.data.success},setLoggedInAccounts(a){this.loggedInAccounts={},a.forEach(t=>{this.loggedInAccounts[t.username]=t}),c.$emit("ssoEvent",{name:"setLoggedInAccounts",data:a})},setLoggedInUserId(a){this.loggedInUserId=a},setUser(a){this.ssoUser=a,this.$storage&&this.ssoUser&&this.$storage.username===this.ssoUser.username&&(this.appLanguage=a.ssoLang)},getRefreshTokens(){return console.log("getRefreshTokens",this.$storage,this.$storageApp),this.$storage.refreshTokens.split(",")},setRefreshToken(a){let t=this.getRefreshTokens();a&&!t.includes(a)?t.unshift(a):t=t.filter(n=>n!==this.refreshToken),t.length>=1?this.refreshToken=t[0]:this.refreshToken=a,this.$storage.refreshTokens=t.join(","),c.$emit("ssoEvent",{name:"setRefreshToken",data:a})},setToken(a){console.log("setup token"),this.$storage.token=a,this.token=a,c.$emit("ssoEvent",{name:"setToken",data:a})},setUserID(a){this.$storage.UserId=a},updateLang(a){this.appLanguage=a}},watch:{"$route.query":{handler:function(){this.$route.query.redirect_uri&&(this.redirect_uri=this.$route.query.redirect_uri),this.$route.query.display&&(this.display=this.$route.query.display),this.$route.query.state&&(this.state=this.$route.query.state),this.$route.query.response_type&&(this.response_type=this.$route.query.response_type),this.$route.query.realm&&(this.$storage.realm=this.$route.query.realm),this.$route.query.qrLogin&&this.changeLoginToQr()},deep:!0}}},k=(a,t)=>{const n=a.__vccOpts||a;for(const[o,i]of t)n[o]=i;return n},he={name:"AuthWelcome",mixins:[m],data(){return{loading:!0}},async mounted(){document.getElementById("tapniVideo").play(),setTimeout(()=>{this.$storage.token?this.$router.push(this.home):c.$emit("ssoEvent",{name:"setLoading",data:!1})},1500),c.$emit("ssoEvent",{name:"setInitialize",data:!0})},methods:{}},H=a=>(e.pushScopeId("data-v-806183a1"),a=a(),e.popScopeId(),a),fe={class:"page-login content-boxed content-boxed-padding center-text",style:{"margin-top":"-1px",overflow:"hidden",border:"solid 0px #ffffff"}},ke=["autoplay"],be=[H(()=>e.createElementVNode("source",{src:"https://cdn.tapni.co/images/tapni-card-tap-video-white.mp4",type:"video/mp4"},null,-1))],ye={class:"bold full-top no-bottom center-text"},ve={class:"full-bottom half-top center-text color-black font-16"},we={class:"page-login-links center-text"},ze=H(()=>e.createElementVNode("div",{class:"clear"},null,-1)),Se={key:2,style:{display:"flex","flex-direction":"row","justify-content":"space-around",width:"90%",margin:"0 auto","margin-top":"40px"}},Le=[e.createStaticVNode('<a href="https://play.google.com/store/apps/details?id=co.tapni.app" target="_blank" data-v-806183a1><img src="https://cdn.tapni.co/images/playstore.png" class="app-store-icon pointer" style="width:55px;" data-v-806183a1></a><a href="https://apps.apple.com/ag/app/tapni/id1552930233" target="_blank" data-v-806183a1><img src="https://cdn.tapni.co/images/appstore.png" class="app-store-icon pointer" style="width:55px;" data-v-806183a1></a><a href="https://appgallery.huawei.com/#/app/C103931997" target="_blank" data-v-806183a1><img src="https://cdn.tapni.co/images/appgallery.png" class="app-store-icon pointer" style="width:55px;" data-v-806183a1></a>',3)];function Ee(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",fe,[e.createElementVNode("video",{id:"tapniVideo",muted:"",loop:"",playsinline:"",width:"350",style:{margin:"0 auto","max-width":"100%","margin-top":"63px",overflow:"hidden"},autoplay:a.isNative},be,8,ke),e.createElementVNode("h1",ye,e.toDisplayString(a.ssoLang[this.appLanguage].welcome),1),e.createElementVNode("p",ve,e.toDisplayString(a.ssoLang[this.appLanguage].welcome_p1),1),e.createCommentVNode("",!0),e.createCommentVNode("",!0),e.createVNode(l,{to:"register",exact:"",class:"button-center button button-90 google-button bg-tapni-grey pointer"},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.ssoLang[this.appLanguage].create_account),1)]),_:1}),e.createElementVNode("div",we,[e.createVNode(l,{to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].already_registered)+"? ",1),e.createElementVNode("b",null,e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),ze]),this.isNative?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Se,Le))])}const F=k(he,[["render",Ee],["__scopeId","data-v-806183a1"]]),Q={data(){return{googleLoad:!1}},computed:{displayGoogleLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.google_login)&&!this.isModal)??!0}},mounted(){B.GoogleAuth.initialize()},methods:{async googleLogin(){var n;this.googleLoad=!0;let[a,t]=await _(B.GoogleAuth.signIn());if(a)return this.googleLoad=!1;if(this.referral&&(t.ref=this.referral),t.authentication&&(t.authentication.accessToken||t.authentication.idToken)){this.referral&&(t.ref=this.referral),this.display==="popup"&&(t.response_type="code");const[o,i]=await _(u.googleSDK(t,this.$storage));if(o)return this.googleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(o);if(i.data.success){if(this.display==="popup")return(n=window.parent)==null?void 0:n.postMessage({code:i.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(i),this.getLoggedInAccounts(),this.$router.push("/"+i.data.data.username+"#edit"),setTimeout(()=>{this.googleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.googleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})}}};window.fbAsyncInit=function(){FB.init({appId:"202577611527680",cookie:!0,xfbml:!0,version:"v16.0"})},function(a,t,n){var o,i=a.getElementsByTagName(t)[0];a.getElementById(n)||(o=a.createElement(t),o.id=n,o.src="https://connect.facebook.net/en_US/sdk.js",i.parentNode.insertBefore(o,i))}(document,"script","facebook-jssdk");const G={data(){return{facebookLoad:!1}},computed:{fbLoginUrl(){return'https://www.facebook.com/v16.0/dialog/oauth?client_id=202577611527680&state={"oauth":"facebook"}&response_type=code%20granted_scopes&scope=email&redirect_uri=https://'+window.location.host+"/login"},displayFacebookLogin(){return!1}},methods:{async facebookLogin(){var o;this.facebookLoad=!0;const a=["email"],[t,n]=await _(se.FacebookLogin.login({permissions:a}));if(t)return this.facebookLoad=!1;if(this.referral&&(n.ref=this.referral),this.display==="popup"&&(n.response_type="code"),n.accessToken){const[i,r]=await _(u.facebookSDK(n,this.$storage));if(i)return this.facebookLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(i);if(r.data.success){if(this.display==="popup")return(o=window.parent)==null?void 0:o.postMessage({code:r.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(r),this.getLoggedInAccounts(),this.$router.push("/"+r.data.data.username+"#edit"),setTimeout(()=>{this.facebookLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.facebookLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})}}},W={data(){return{appleLoad:!1}},computed:{displayAppleLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.apple_login)&&!this.isModal)??(Capacitor.isNativePlatform()&&Capacitor.getPlatform()==="ios"||!Capacitor.isNativePlatform()&&this.isiOS)}},methods:{async appleLogin(){var n;this.appleLoad=!0;const[a,t]=await _(ce.SignInWithApple.authorize({clientId:"co.tapni.applelogin",redirectURI:"https://"+window.location.host+"/login",scopes:"email name"}));if(a)return this.appleLoad=!1;if(t.response.tokenData=V.jwtDecode(t.response.identityToken),t&&t.response&&t.response.identityToken){this.referral&&(t.response.ref=this.referral),this.display==="popup"&&(t.response_type="code");const[o,i]=await _(u.appleSDK(t.response,this.$storage));if(o)return this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(o);if(i.data.success){if(this.display==="popup")return(n=window.parent)==null?void 0:n.postMessage({code:i.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(i),this.getLoggedInAccounts(),this.$router.push("/"+i.data.data.username+"#edit"),setTimeout(()=>{this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})}}};var Ce={VITE_APP_MODE:"npm",VITE_APP_APP_ROOT:"https://t.link",VITE_APP_API_ROOT:"https://api.tapni.co",VITE_APP_GOOGLE_RECAPTCHA_SITE_KEY:"6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",VITE_APP_SSO_ID:"9cd47053-080a-4df8-8fd8-ca4389163fde",VITE_APP_POPUP_LOGIN_ALLOWED_ORIGIN:"https://auth.tapni.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const T={data(){return{microsoftLoad:!1,microsoftSSOLoad:!1}},computed:{displayMicrosoftSSOLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.microsoft_login)&&!this.isModal)??!1}},methods:{async microsoftLogin(a,t={}){var i,r,l;a==="sso"?this.microsoftSSOLoad=!0:this.microsoftLoad=!0,Object.keys(t).length||(t=((r=(i=this.ssoCompany.sso)==null?void 0:i.azure)==null?void 0:r.sso)||{});const[n,o]=await _(le.MsAuthPlugin.login({clientId:a==="sso"?t.clientID:"9cd47053-080a-4df8-8fd8-ca4389163fde",tenant:a==="sso"?t.tenant:"consumers",scopes:["User.Read"],knownAuthorities:[],keyHash:"4+5wCp8QcLptlO0aeP5RDTTOWyg=",redirectUri:Ce.NODE_ENV==="development"?`${window.location.origin}/login`:"https://"+window.location.host+"/login"}));if(n)return console.log("Error: "+JSON.stringify(n)),this.microsoftLoad=!1;if(this.referral&&(o.ref=this.referral),o.response_type="code",o&&(o.accessToken||o.idToken)){const[s,d]=await _(u.microsoftSDK(o,this.$storage));if(s)return this.microsoftLoad=!1,this.microsoftSSOLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(s);if(d.data.success){if(this.display==="popup")return(l=window.parent)==null?void 0:l.postMessage({code:d.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(d),this.getLoggedInAccounts(),this.$router.push("/"+d.data.data.username+"#edit"),setTimeout(()=>{this.microsoftLoad=!1,this.microsoftSSOLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)}else this.microsoftLoad=!1,this.microsoftSSOLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},ssoLogin(){c.$emit("toggleSSOModal")}}},v={getFirstBrowserLanguage(){let a=window.navigator,t=["language","browserLanguage","systemLanguage","userLanguage"],n,o;if(Array.isArray(a.languages)){for(n=0;n<a.languages.length;n++)if(o=a.languages[n],o&&o.length)return o.slice(0,2)}for(n=0;n<t.length;n++)if(o=a[t[n]],o&&o.length)return o.slice(0,2);return null},compareLangKeys(){const a=Object.keys(M.default.state),t=Object.keys(q.default.state),n=Object.keys(D.default.state),o=Object.keys($.default.state),i=Object.keys(O.default.state),r=Object.keys(R.default.state),l=Object.keys(K.default.state),s=Object.keys(U.default.state);console.log("In en but not in de",a.filter(d=>!t.includes(d))),console.log("In de but not in en",t.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in es",a.filter(d=>!n.includes(d))),console.log("In es but not in en",n.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in kr",a.filter(d=>!o.includes(d))),console.log("In kr but not in en",o.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in it",a.filter(d=>!i.includes(d))),console.log("In it but not in en",i.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in fr",a.filter(d=>!r.includes(d))),console.log("In fr but not in en",r.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in sr",a.filter(d=>!l.includes(d))),console.log("In sr but not in en",l.filter(d=>!a.includes(d))),console.log(),console.log("In en but not in tr",a.filter(d=>!s.includes(d))),console.log("In tr but not in en",s.filter(d=>!a.includes(d))),console.log()},base64ImageToBlob(a){const t=a.split(";base64,"),n=t[0].split(":")[1],o=window.atob(t[1]),i=new Uint8Array(o.length);for(let r=0;r<o.length;++r)i[r]=o.charCodeAt(r);return new Blob([i],{type:n})},blobToBase64(a){const t=new FileReader;return t.readAsDataURL(a),new Promise(n=>{t.onloadend=()=>{n(t.result)}})},base64toFile(a,t){for(var n=a.split(","),o=n[0].match(/:(.*?);/)[1],i=atob(n[1]),r=i.length,l=new Uint8Array(r);r--;)l[r]=i.charCodeAt(r);return new File([l],t,{type:o})},fileToBase64(a){new Promise((t,n)=>{const o=new FileReader;o.readAsDataURL(a),o.onload=()=>t(o.result),o.onerror=i=>n(i)})},getUTMParams(a,t){let n={};return a.utm_source&&(n.utm_source=a.utm_source),a.utm_medium&&(n.utm_medium=a.utm_medium),a.utm_campaign&&(n.utm_campaign=a.utm_campaign),a.utm_term&&(n.utm_term=a.utm_term),a.utm_content&&(n.utm_content=a.utm_content),n},cropCardScan(a,t){const n=new window.Image,o=document.createElement("canvas"),i=o.getContext("2d");n.src="data:image/jpeg;base64,"+a,n.onload=()=>{const r=n.width,l=n.width/1.65,s=0,d=n.height/2-l/2,f=r,w=l;o.width=f,o.height=w,i.drawImage(n,s,d,r,l,0,0,f,w);const re=o.toDataURL();return t(re),re}},generateRandomString(a){let t=new Uint32Array(a);return window.crypto.getRandomValues(t),Array.from(t,n=>("0"+n.toString(16)).substr(-2)).join("")},async pkceChallengeFromVerifier(a){const n=new TextEncoder().encode(a),o=await window.crypto.subtle.digest("SHA-256",n);return btoa(String.fromCharCode.apply(null,new Uint8Array(o))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},encryptAES(a,t,n){let i=new TextEncoder().encode(n,storage);return window.crypto.subtle.encrypt({name:"AES-CBC",iv:t},a,i)},async decryptAES(a,t,n){try{const o=d=>Uint8Array.from(atob(d),f=>f.charCodeAt(0));n=n.replace(/ /g,"+");const i=new TextEncoder,r=new TextDecoder;a=i.encode(a),t=i.encode(t),n=o(n,storage);const l=await window.crypto.subtle.importKey("raw",a,"AES-CBC",!0,["encrypt","decrypt"]);let s=await window.crypto.subtle.decrypt({name:"AES-CBC",iv:t},l,n);return s=r.decode(s),s=s.replace(/ /g,"+"),s=atob(s),s}catch(o){console.log(o)}}},j={data(){return{oktaAuth:null}},computed:{},watch:{},methods:{async exchangeCode(a){var i,r;let[t,n]=await _(I.post(a.domain+"/v1/token",new URLSearchParams({code:a.code,client_id:a.clientID,grant_type:"authorization_code",redirect_uri:this.isNative?"tapni://t.link/callback/okta":location.origin+"/callback/okta",code_verifier:localStorage.getItem("pkce_code_verifier")})));if(t)return this.errorHandler(t);localStorage.removeItem("pkce_code_verifier");let o={accessToken:(i=n.data)==null?void 0:i.access_token,domain:a.domain};if(this.display==="popup"&&(o.response_type="code"),[t,n]=await _(u.oktaSDK(o,this.$storage)),t)return this.oktaLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.errorHandler(t);if(n.data.success){if(this.display==="popup")return(r=window.parent)==null?void 0:r.postMessage({code:n.data.auth_code,state:this.$route.query.state},"*");await this.loginSetup(n),this.getLoggedInAccounts(),this.$router.push("/"+n.data.data.username+"#edit"),setTimeout(()=>{this.appleLoad=!1,c.$emit("ssoEvent",{name:"setLoading",data:!1})},1e3)}else this.errorSnack(this.ssoLang[this.appLanguage].unexpected_err)},async oktaLogin(a){const t=S.Capacitor.getPlatform()||"web";let n=btoa("domain="+a.domain+"&client_id="+a.clientID+"&platform="+t+"&rand="+v.generateRandomString(28)),o=v.generateRandomString(28);localStorage.setItem("pkce_code_verifier",o);let i=await v.pkceChallengeFromVerifier(o),r=a.domain+"/v1/authorize",l;this.isNative?l="tapni://t.link/callback/okta":l=location.origin+"/callback/okta";let s=r+"?response_type=code&client_id="+encodeURIComponent(a.clientID)+"&state="+encodeURIComponent(n)+"&scope="+encodeURIComponent("openid email profile")+"&redirect_uri="+encodeURIComponent(l)+"&code_challenge="+encodeURIComponent(i)+"&code_challenge_method=S256",d=this,f;window.addEventListener("message",async w=>{if(!this.allowedOrigins.includes(w.origin))return console.log("Origin is not allowed!");w.data.type==="okta"&&(f=w.data.code,await d.exchangeCode({domain:a.domain,code:f,clientID:a.clientID}))},{once:!0}),this.isNative?await E.Browser.open({url:s,presentationStyle:"popover"}):window.open(s,"popup","width=600,height=600")},async handleOktaRedirect(){let a=this.$route.query.code,t,n,o,i,r={type:"okta"};if(a&&(r.code=a),this.$route.query.state){t=this.$route.query.state,t=atob(t);const l=new URLSearchParams(t);n=l.get("client_id"),o=l.get("domain"),i=l.get("platform")}window.opener?(window.opener.postMessage(r,location.origin),window.close()):(this.isNative&&this.isIOS&&await E.Browser.close(),c.$emit("ssoEvent",{name:"setLoading",data:!0}),a&&n&&o&&await this.exchangeCode({code:a,clientID:n,domain:o,platform:i}),localStorage.removeItem("pkce_code_verifier"),c.$emit("ssoEvent",{name:"setLoading",data:!1}))}}},P={data(){return{code_verifier:"",code_challenge:""}},computed:{},watch:{},methods:{async samlLogin(a){this.code_verifier=v.generateRandomString(28),localStorage.setItem("pkce_code_verifier",this.code_verifier),this.code_challenge=await v.pkceChallengeFromVerifier(this.code_verifier);const t=S.Capacitor.getPlatform();let n=Buffer.from(`code_challenge=${this.code_challenge}&platform=${t}&redirect_uri=${location.origin+"/callback/saml"}&realm=${this.$storage.realm}`).toString("base64");a=`${a}&RelayState=${n}`;let o=this;window.addEventListener("message",async i=>{var r;if(!this.allowedOrigins.includes(i.origin))return console.log("Origin is not allowed!");if(i.data.type==="saml"&&i.data.code){if(this.display==="popup")return(r=window.parent)==null?void 0:r.postMessage({code:i.data.code,state:this.$route.query.state,code_verifier:localStorage.getItem("pkce_code_verifier")},"*");await o.exchangeAuthCode({code:i.data.code,code_verifier:localStorage.getItem("pkce_code_verifier")}),localStorage.removeItem("pkce_code_verifier")}},{once:!0}),this.isNative?await E.Browser.open({url:a,presentationStyle:"popover"}):window.open(a,"popup","width=600,height=600")},async handleSamlRedirect(){var n;let a,t={type:"saml"};if(this.$route.query.code&&(t.code=this.$route.query.code),window.opener)window.opener.postMessage(t,location.origin),window.close();else{if(this.isNative&&this.isIOS&&await E.Browser.close(),EventBus.$emit("ssoEvent",{name:"setLoading",data:!0}),this.$route.query.code&&(a=this.$route.query.code),a){if(this.display==="popup")return(n=window.parent)==null?void 0:n.postMessage({code:a,state:this.$route.query.state},"*");await this.exchangeAuthCode({code:a,code_verifier:localStorage.getItem("pkce_code_verifier")})}localStorage.removeItem("pkce_code_verifier"),EventBus.$emit("ssoEvent",{name:"setLoading",data:!1})}}}},Te={name:"AuthLogin",mixins:[Q,G,W,T,j,P,m,{data(){return{isQrCodeLogin:!1,qrCode:null,qrCodeHash:null,qrCodeRefreshInterval:null,poolingInterval:null}},props:{isModal:{type:Boolean,required:!1,default:!1}},mounted(){this.$route.name==="AuthQR"&&this.changeLoginToQr()},methods:{async changeLoginToQr(){this.isQrCodeLogin=!0,await e.nextTick(),await this.initQrCodeLogin()},generateRandomHash(){const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=a.length;let n="";const o=new Uint32Array(32);return window.crypto.getRandomValues(o),o.forEach(i=>{n+=a.charAt(i%t)}),n},refreshQrCode(){var a,t;this.qrCode&&((t=(a=document.getElementById("qrCodeContainer"))==null?void 0:a.childNodes[0])==null||t.remove()),this.qrCodeHash=this.generateRandomHash(),this.qrCode=new de({width:300,height:300,type:"png",image:"",imageOptions:{margin:15},data:this.qrCodeHash,dotsOptions:{type:"extra-rounded",color:"#000000"},cornersSquareOptions:{type:"extra-rounded",color:"#000000"},cornersDotOptions:{type:"",color:"#000000"},backgroundOptions:{color:"#ffffff00"}}),this.qrCode.append(document.getElementById("qrCodeContainer"))},async startQrCodePooling(){this.poolingInterval=setInterval(async()=>{const[a,t]=await _(N.qrCodePooling({qrToken:this.qrCodeHash},this.$storage));if(a)return this.errorHandler(a);t.data.auth_code&&(this.display==="npm"&&(this.loginSetup({...t,isModal:this.isModal}),this.getLoggedInAccounts()),this.loginSuccess({...t,isModal:this.isModal}),clearInterval(this.poolingInterval),clearInterval(this.qrCodeRefreshInterval))},2e3)},async initQrCodeLogin(){this.refreshQrCode(),await e.nextTick(),await this.startQrCodePooling(),this.qrCodeRefreshInterval=setInterval(()=>{this.refreshQrCode()},6e4)}}}],props:{isModal:{type:Boolean,required:!1,default:!1}},data(){return{loading:!0,submitted:!1,emailOrUsername:"",password:"",captcha:"",revealPassword:!1,emailLogin:!0}},computed:{displayFormLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.form_login)&&!this.isModal)??this.emailLogin},displayResetPasswordLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.reset_password)&&!this.isModal)??!0},displayRegisterLogin(){var a,t;return(((t=(a=this.ssoCompany)==null?void 0:a.login)==null?void 0:t.create_account)&&!this.isModal)??!0}},async mounted(){if(!this.isModal){if(this.$route.path==="/login/callback/okta")return await this.handleOktaRedirect();if(this.$route.path==="/login/callback/saml")return await this.handleSamlRedirect();this.isLoggedIn?this.$router.push(this.home):!this.$route.query.state&&!this.$route.query.oauth&&!this.$route.params.oauth&&c.$emit("ssoEvent",{name:"setLoading",data:!1}),c.$emit("ssoEvent",{name:"setInitialize",data:!0})}},methods:{bum(){console.log("lo",this.$storage),this.$storage.verifyEmail="123123123"},async submit(){if(this.submitted)return;this.submitted=!0,this.emailOrUsername=this.emailOrUsername.trim();let t={response_type:this.$route.query.response_type||"token",isModal:this.isModal,captcha:this.captcha,password:this.password};this.emailOrUsername.indexOf("@")!==-1?t.email=this.emailOrUsername:t.username=this.emailOrUsername;const[n,o]=await _(this.login(t));n&&console.error(n),this.submitted=!1,o===!0&&(this.emailOrUsername="",this.password="")},close(){c.$emit("ssoEvent",{name:"toggleAddAccountModal",data:!0})},createAccountModal(){c.$emit("ssoEvent",{name:"toggleAddAccountModalRegister",data:{}})}},watch:{emailOrUsername(a){a.includes("@")&&(this.$storage.verifyEmail=a)},"$route.path":async function(a){if(a==="/login/callback/okta")return await this.handleOktaRedirect();if(a==="/login/callback/saml")return await this.handleSamlRedirect()}}},je=[e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"35%"}})],-1)],Pe=e.createElementVNode("p",{class:"half-bottom small-top center-text color-black"},null,-1),Ae={key:1},Ie={class:"page-login-field half-top"},Ne=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/user.png",class:"responsive-image",style:{width:"50%"}})],-1),Ve=["placeholder"],Be=e.createElementVNode("em",null,null,-1),xe={class:"page-login-field half-bottom"},Me=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1),qe=["type","placeholder"],De={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},Re={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},Oe={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},Ke={key:0},Ue={key:1,class:"button--loading button__loader"},$e=e.createElementVNode("div",{class:"decoration decoration-lines-thin half-top half-bottom"},null,-1),He=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/apple-logo.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1),Fe={key:0},Qe={key:1,class:"button--loading button__loader"},Ge=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/g-logo.png",style:{position:"absolute","margin-left":"-10px",padding:"8px 0",height:"100%"}},null,-1),We={key:0},Xe={key:1,class:"button--loading-black button__loader"},Ye=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/facebook-blue.png",style:{position:"absolute","margin-left":"-9px",padding:"10px 0",height:"100%"}},null,-1),Ze={key:0},Je={key:1,class:"button--loading-black button__loader"},ea=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/outlook.png",style:{position:"absolute","margin-left":"-8px",padding:"10px 0",height:"100%"}},null,-1),aa={key:0},ta={key:1,class:"button--loading-black button__loader"},na=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/sso-key.png",style:{position:"absolute","margin-left":"-8px",padding:"10px 0",height:"100%"}},null,-1),ia={key:0},oa={key:1,class:"button--loading-black button__loader"},ra=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/sso-key.png",style:{position:"absolute","margin-left":"-8px",padding:"10px 0",height:"100%"}},null,-1),sa={key:0},ca={key:1,class:"button--loading-black button__loader"},la=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",style:{position:"absolute","margin-left":"-8px",padding:"12px 0",height:"100%"}},null,-1),da=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),pa={class:"close-text center-text half-top color-black"},_a=e.createElementVNode("br",null,null,-1),ua={class:"",href:"https://tapni.co/policies/terms-of-service"},ma={href:"https://tapni.co/policies/privacy-policy"},ga=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),ha={key:9,class:"page-login-links"},fa=e.createElementVNode("div",{class:"clear"},null,-1),ka={class:"forgot center-text pointer small-top"},ba=e.createElementVNode("br",null,null,-1),ya=e.createElementVNode("div",{class:"clear"},null,-1);function va(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("form",{class:"page-login content-boxed content-boxed-padding",onSubmit:t[14]||(t[14]=e.withModifiers((...s)=>r.submit&&r.submit(...s),["prevent"])),autocomplete:"on",style:e.normalizeStyle(n.isModal?"max-width: 500px;":"")},[n.isModal?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"0px",position:"absolute",right:"-20px","text-align":"right"}},je)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:"bold no-bottom center-text",style:{"margin-top":"63px"},onClick:t[1]||(t[1]=(...s)=>r.bum&&r.bum(...s))},e.toDisplayString(this.ssoLang[this.appLanguage].login),1),Pe,r.displayFormLogin?(e.openBlock(),e.createElementBlock("span",Ae,[e.createElementVNode("div",Ie,[Ne,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>i.emailOrUsername=s),onKeydown:t[3]||(t[3]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:"text",name:"email",placeholder:a.ssoLang[this.appLanguage].email_username,required:""},null,40,Ve),[[e.vModelText,i.emailOrUsername]]),Be]),e.createElementVNode("div",xe,[Me,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>i.password=s),type:i.revealPassword?"text":"password",placeholder:a.ssoLang[this.appLanguage].password,name:"password",required:"",minlength:"8"},null,8,qe),[[e.vModelDynamic,i.password]]),e.createElementVNode("em",{onClick:t[5]||(t[5]=s=>i.revealPassword=!i.revealPassword),class:"pointer"},[e.withDirectives(e.createElementVNode("img",De,null,512),[[e.vShow,!i.revealPassword]]),e.withDirectives(e.createElementVNode("img",Re,null,512),[[e.vShow,i.revealPassword]])])]),e.createElementVNode("button",Oe,[i.submitted?(e.openBlock(),e.createElementBlock("span",Ue)):(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(a.ssoLang[a.appLanguage].login),1))])])):e.createCommentVNode("",!0),$e,a.displayAppleLogin?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:t[6]||(t[6]=(...s)=>a.appleLogin&&a.appleLogin(...s)),class:"button-center button button-90 google-button pointer"},[He,a.appleLoad?(e.openBlock(),e.createElementBlock("span",Qe)):(e.openBlock(),e.createElementBlock("span",Fe,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Apple",1))])):e.createCommentVNode("",!0),a.displayGoogleLogin?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:t[7]||(t[7]=(...s)=>a.googleLogin&&a.googleLogin(...s)),class:"button-center button button-90 google-button pointer"},[Ge,a.googleLoad?(e.openBlock(),e.createElementBlock("span",Xe)):(e.openBlock(),e.createElementBlock("span",We,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Google",1))])):e.createCommentVNode("",!0),a.displayFacebookLogin?(e.openBlock(),e.createElementBlock("a",{key:4,onClick:t[8]||(t[8]=(...s)=>a.facebookLogin&&a.facebookLogin(...s)),class:"button-center button button-90 google-button pointer"},[Ye,a.facebookLoad?(e.openBlock(),e.createElementBlock("span",Je)):(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Facebook",1))])):e.createCommentVNode("",!0),a.displayMicrosoftSSOLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:5,onClick:t[9]||(t[9]=(...s)=>a.microsoftLogin&&a.microsoftLogin(...s)),class:"button-center button button-90 google-button pointer"},[ea,a.microsoftLoad?(e.openBlock(),e.createElementBlock("span",ta)):(e.openBlock(),e.createElementBlock("span",aa,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Outlook",1))])),a.displayMicrosoftSSOLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:6,onClick:t[10]||(t[10]=(...s)=>a.ssoLogin&&a.ssoLogin(...s)),class:"button-center button button-90 google-button pointer"},[na,a.microsoftSSOLoad?(e.openBlock(),e.createElementBlock("span",oa)):(e.openBlock(),e.createElementBlock("span",ia,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" SSO",1))])),a.displayMicrosoftSSOLogin?(e.openBlock(),e.createElementBlock("a",{key:7,onClick:t[11]||(t[11]=s=>a.microsoftLogin("sso")),class:"button-center button button-90 google-button pointer"},[ra,a.microsoftSSOLoad?(e.openBlock(),e.createElementBlock("span",sa,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" SSO",1)):(e.openBlock(),e.createElementBlock("span",ca))])):e.createCommentVNode("",!0),r.displayFormLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:8,onClick:t[12]||(t[12]=s=>i.emailLogin=!0),class:"button-center button button-90 google-button pointer"},[la,e.createElementVNode("span",null,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Email",1)])),da,e.createElementVNode("p",pa,[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].terms_by_signing_in)+" ",1),_a,e.createElementVNode("a",ua,e.toDisplayString(a.ssoLang[this.appLanguage].terms_of_service),1),e.createTextVNode(" "+e.toDisplayString(a.ssoLang[a.appLanguage].and)+" ",1),e.createElementVNode("a",ma,e.toDisplayString(a.ssoLang[this.appLanguage].privacy_policy),1)]),ga,n.isModal?(e.openBlock(),e.createElementBlock("div",{key:10,class:"page-login-links",onClick:t[13]||(t[13]=(...s)=>r.createAccountModal&&r.createAccountModal(...s))},[e.createElementVNode("a",ka,[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].or)+" ",1),ba,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[a.appLanguage].create_new_account),1)]),ya])):(e.openBlock(),e.createElementBlock("div",ha,[r.displayRegisterLogin?(e.openBlock(),e.createBlock(l,{key:0,class:"forgot float-right",to:"/register"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].create_account),1)]),_:1})):e.createCommentVNode("",!0),r.displayResetPasswordLogin?(e.openBlock(),e.createBlock(l,{key:1,class:"create float-left",to:"/reset"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[a.appLanguage].reset_password),1)]),_:1})):e.createCommentVNode("",!0),fa]))],36)}const X=k(Te,[["render",va]]),wa={name:"AuthRegister",mixins:[Q,G,W,T,m],props:{isModal:{type:Boolean,required:!1,default:!1}},data(){return{usernameRegister:!1,loading:!0,submitted:!1,formButtonText:"REGISTER",username:"",email:"",password:"",revealPassword:!1,emailLogin:!0,invitationCode:"",referral:""}},mounted(){this.isModal||(this.isLoggedIn?this.$router.push(this.home):!this.$route.query.state&&!this.$route.query.oauth&&!this.$route.params.oauth&&c.$emit("ssoEvent",{name:"setLoading",data:!1}),this.invitationCode=this.$route.query.ic||"",this.$route.query.username&&(this.usernameRegister=!0,this.emailLogin=!0,this.username=this.$route.query.username),this.$route.query.ref?this.referral=this.$route.query.ref:this.$storage.referral&&(this.referral=this.$storage.referral))},methods:{async submit(){if(this.password.length<8)return this.errorSnack(this.ssoLang[this.appLanguage].password_8_chars);if(this.password.search(/[a-z]/)<0)return this.errorSnack(this.ssoLang[this.appLanguage].password_least_one_lowercase);if(this.password.search(/[A-Z]/)<0)return this.errorSnack(this.ssoLang[this.appLanguage].password_least_one_uppercase);if(this.password.search(/[0-9]/)<0)return this.errorSnack(this.ssoLang[this.appLanguage].password_least_one_number);if(this.submitted)return;this.submitted=!0,this.email=this.email.trim(),this.username=this.username.trim();let a={response_type:this.response_type,email:this.email,username:this.username,password:this.password,ic:this.invitationCode,captchaToken:await this.getCaptchaToken("account_verify"),ref:this.referral},t=await this.register(a);this.submitted=!1,t.data&&t.data.success&&(t.data.message==="SUCCESS_REGISTER"?(this.isModal?c.$emit("ssoEvent",{name:"toggleAddAccountModalVerify",data:!1}):this.$router.push("/verify"),this.successSnack(this.ssoLang[this.appLanguage].register_success),this.formButtonText=this.ssoLang[this.appLanguage].check_your_inbox):t.data.message==="SUCCESS_LOGIN"&&(this.display==="npm"&&(await this.loginSetup({...t,isModal:a.isModal}),this.getLoggedInAccounts()),await this.loginSuccess({...t,isModal:a.isModal})))},close(){c.$emit("ssoEvent",{name:"toggleAddAccountModal",data:!0})},loginAccountModal(){c.$emit("ssoEvent",{name:"toggleAddAccountModalLogin",data:!1})}},watch:{email(a){this.$storage.verifyEmail=a},referral(a){this.$storage.referral=a}}},za=[e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"35%"}})],-1)],Sa={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},La={class:"half-bottom small-top center-text color-black"},Ea={key:0},Ca=e.createElementVNode("br",null,null,-1),Ta={key:1},ja={class:"page-login-field half-top"},Pa=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",class:"responsive-image",style:{width:"60%"}})],-1),Aa=["placeholder"],Ia=e.createElementVNode("em",null,null,-1),Na={class:"page-login-field half-top"},Va=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/user.png",class:"responsive-image",style:{width:"50%"}})],-1),Ba=["placeholder","disabled"],xa=e.createElementVNode("em",null,null,-1),Ma={class:"page-login-field half-top half-bottom"},qa=e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1),Da=["type","placeholder"],Ra={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},Oa={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},Ka={type:"submit",class:"button black-button google-button bg-tapni-grey pointer button-90 button-center uppercase button-rounded bold full-top"},Ua={key:0},$a={key:1,class:"button--loading button__loader"},Ha=e.createElementVNode("div",{class:"decoration decoration-lines-thin half-top half-bottom"},null,-1),Fa=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/apple-logo.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1),Qa={key:0},Ga={key:1,class:"button--loading button__loader"},Wa=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/g-logo.png",style:{position:"absolute","margin-left":"-9px",padding:"8px 0",height:"100%"}},null,-1),Xa={key:0},Ya={key:1,class:"button--loading button__loader"},Za=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/facebook-blue.png",style:{position:"absolute","margin-left":"-10px",padding:"10px 0",height:"100%"}},null,-1),Ja={key:0},et={key:1,class:"button--loading button__loader"},at=e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",style:{position:"absolute","margin-left":"-8px",padding:"12px 0",height:"100%"}},null,-1),tt=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),nt={class:"close-text center-text half-top color-black"},it=e.createElementVNode("br",null,null,-1),ot={class:"",href:"https://tapni.co/policies/terms-of-service"},rt={href:"https://tapni.co/policies/privacy-policy"},st=e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1),ct={key:5,class:"page-login-links"},lt=e.createElementVNode("div",{class:"clear"},null,-1),dt={class:"forgot center-text pointer small-top"},pt=e.createElementVNode("br",null,null,-1),_t=e.createElementVNode("div",{class:"clear"},null,-1);function ut(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("form",{class:"page-login content-boxed content-boxed-padding",onSubmit:t[12]||(t[12]=e.withModifiers((...s)=>r.submit&&r.submit(...s),["prevent"])),autocomplete:"on",style:e.normalizeStyle(n.isModal?"max-width: 500px;":"")},[n.isModal?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"0px",position:"absolute",right:"-20px","text-align":"right"}},za)):e.createCommentVNode("",!0),e.createElementVNode("h1",Sa,e.toDisplayString(a.ssoLang[this.appLanguage].register),1),e.createElementVNode("p",La,[i.usernameRegister?(e.openBlock(),e.createElementBlock("span",Ea,[e.createTextVNode(" t.link/"+e.toDisplayString(i.username)+" "+e.toDisplayString(a.ssoLang[this.appLanguage].username_is_free)+" ✅ ",1),Ca])):e.createCommentVNode("",!0)]),i.emailLogin?(e.openBlock(),e.createElementBlock("span",Ta,[e.createElementVNode("div",ja,[Pa,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>i.email=s),onKeydown:t[2]||(t[2]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"email",placeholder:a.ssoLang[this.appLanguage].email,name:"email",required:""},null,40,Aa),[[e.vModelText,i.email]]),Ia]),e.createElementVNode("div",Na,[Va,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>i.username=s),onKeydown:t[4]||(t[4]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false",placeholder:a.ssoLang[this.appLanguage].username,name:"username",required:"",disabled:i.usernameRegister,class:e.normalizeClass({"input-disabled":i.usernameRegister})},null,42,Ba),[[e.vModelText,i.username]]),xa]),e.createElementVNode("div",Ma,[qa,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>i.password=s),type:i.revealPassword?"text":"password",placeholder:a.ssoLang[this.appLanguage].password,name:"password",required:"",minlength:"8"},null,8,Da),[[e.vModelDynamic,i.password]]),e.createElementVNode("em",{onClick:t[6]||(t[6]=s=>i.revealPassword=!i.revealPassword),class:"pointer"},[e.withDirectives(e.createElementVNode("img",Ra,null,512),[[e.vShow,!i.revealPassword]]),e.withDirectives(e.createElementVNode("img",Oa,null,512),[[e.vShow,i.revealPassword]])])]),e.createElementVNode("button",Ka,[i.submitted?(e.openBlock(),e.createElementBlock("span",$a)):(e.openBlock(),e.createElementBlock("span",Ua,e.toDisplayString(i.formButtonText),1))])])):e.createCommentVNode("",!0),Ha,a.displayAppleLogin?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:t[7]||(t[7]=(...s)=>a.appleLogin&&a.appleLogin(...s)),class:"button-center button button-90 google-button pointer"},[Fa,a.appleLoad?(e.openBlock(),e.createElementBlock("span",Ga)):(e.openBlock(),e.createElementBlock("span",Qa,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Apple",1))])):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:t[8]||(t[8]=(...s)=>a.googleLogin&&a.googleLogin(...s)),class:"button-center button button-90 google-button pointer"},[Wa,a.googleLoad?(e.openBlock(),e.createElementBlock("span",Ya)):(e.openBlock(),e.createElementBlock("span",Xa,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Google",1))]),a.displayFacebookLogin?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:t[9]||(t[9]=(...s)=>a.facebookLogin&&a.facebookLogin(...s)),class:"button-center button button-90 google-button pointer"},[Za,a.facebookLoad?(e.openBlock(),e.createElementBlock("span",et)):(e.openBlock(),e.createElementBlock("span",Ja,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Facebook",1))])):e.createCommentVNode("",!0),i.emailLogin?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",{key:4,onClick:t[10]||(t[10]=s=>i.emailLogin=!0),class:"button-center button button-90 google-button pointer"},[at,e.createElementVNode("span",null,e.toDisplayString(a.ssoLang[this.appLanguage].sign_up_with)+" Email",1)])),tt,e.createElementVNode("p",nt,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].terms_by_registering)+" ",1),it,e.createElementVNode("a",ot,e.toDisplayString(a.ssoLang[this.appLanguage].terms_of_service),1),e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].and)+" ",1),e.createElementVNode("a",rt,e.toDisplayString(a.ssoLang[this.appLanguage].privacy_policy),1)]),st,n.isModal?(e.openBlock(),e.createElementBlock("div",{key:6,class:"page-login-links",onClick:t[11]||(t[11]=(...s)=>r.loginAccountModal&&r.loginAccountModal(...s))},[e.createElementVNode("a",dt,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].or)+" ",1),pt,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].sign_in_with_new),1)]),_t])):(e.openBlock(),e.createElementBlock("div",ct,[e.createVNode(l,{class:"create float-right",to:"/verify"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1)]),_:1}),e.createVNode(l,{class:"forgot float-left",to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),lt]))],36)}const Y=k(wa,[["render",ut]]),mt={name:"AuthVerify",mixins:[m],props:{isModal:{type:Boolean,required:!1,default:!1}},data(){return{loading:!0,submitted:!1,action:"verify",email:"",code:"",captcha:""}},mounted(){this.$storage.verifyEmail&&(this.email=this.$storage.verifyEmail),this.$route&&this.init()},methods:{init(){this.isLoggedIn?this.$router.push(this.home):(this.$storage.verifyEmail&&(this.email=this.$storage.verifyEmail),this.$route.hash==="#reset"&&(this.action="reset"),this.$route.query.e&&(this.email=this.$route.query.e),this.$route.query.c&&(this.code=this.$route.query.c),c.$emit("ssoEvent",{name:"setLoading",data:!1}))},async submit(){if(this.code.length!==6)return this.errorSnack(this.ssoLang[this.appLanguage].invalid_code);this.email=this.email.trim(),this.code=this.code.trim();let a={code:this.code,email:this.email,captchaToken:await this.getCaptchaToken("account_verify")};if(this.submitted)return!1;this.submitted=!0;let t=await this.verify(a);this.submitted=!1,t&&t.data&&t.data.success===!0?(this.action==="reset"&&(this.$router.push("/reset?c="+this.code+"&e="+this.email),this.successSnack(this.ssoLang[this.appLanguage].verify_account_success)),this.action==="verify"&&(this.isModal&&(this.email="",this.code="",c.$emit("closeModal")),await this.loginSetup(t),this.getLoggedInAccounts(),this.$storage.verifyEmail="",this.$router.push("/"+t.data.data.username+"#edit"),this.successSnack(this.ssoLang[this.appLanguage].verify_account_success2))):this.submitted=!1},registerAccountModal(){c.$emit("ssoEvent",{name:"toggleAddAccountModalRegister",data:!1})},close(){c.$emit("ssoEvent",{name:"toggleAddAccountModal",data:!0})}},watch:{"$storage.verifyEmail"(a){a&&(this.email=a)},"route.name"(a,t){!t&&a&&this.init()},"route.query":{handler(a){this.isEmpty(a)||this.init()},deep:!0}}},h=a=>(e.pushScopeId("data-v-a80e9eb1"),a=a(),e.popScopeId(),a),gt=[h(()=>e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"35%"}})],-1))],ht={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},ft=h(()=>e.createElementVNode("p",{class:"half-bottom half-top center-text color-black"},null,-1)),kt={class:"page-login-field half-top"},bt=h(()=>e.createElementVNode("i",{style:{"padding-top":"15px","margin-left":"10px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",class:"responsive-image",style:{width:"80%"}})],-1)),yt=["placeholder"],vt=h(()=>e.createElementVNode("em",null,null,-1)),wt={class:"page-login-field half-top"},zt=h(()=>e.createElementVNode("i",{style:{"padding-top":"15px","margin-left":"10px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/password2.png",class:"responsive-image",style:{width:"100%"}})],-1)),St=["placeholder"],Lt=h(()=>e.createElementVNode("em",null,null,-1)),Et={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},Ct={key:0,class:"uppercase"},Tt={key:1,class:"button--loading button__loader"},jt=h(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1)),Pt={class:"close-text center-text half-top color-black"},At=["innerHTML"],It=h(()=>e.createElementVNode("a",{href:"mailto:support@tapni.co?subject=Email Verification"}," support@tapni.co",-1)),Nt=h(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom"},null,-1)),Vt={key:1,class:"page-login-links"},Bt=h(()=>e.createElementVNode("div",{class:"clear"},null,-1)),xt={class:"forgot center-text pointer small-top"},Mt=h(()=>e.createElementVNode("br",null,null,-1)),qt=h(()=>e.createElementVNode("div",{class:"clear"},null,-1));function Dt(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("form",{class:"page-login content-boxed content-boxed-padding",onSubmit:t[6]||(t[6]=e.withModifiers((...s)=>r.submit&&r.submit(...s),["prevent"])),style:e.normalizeStyle(n.isModal?"max-width: 500px;":"")},[n.isModal?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"0px",position:"absolute",right:"-20px","text-align":"right"}},gt)):e.createCommentVNode("",!0),e.createElementVNode("h1",ht,e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1),ft,e.createElementVNode("div",kt,[bt,e.withDirectives(e.createElementVNode("input",{id:"emailInput","onUpdate:modelValue":t[1]||(t[1]=s=>i.email=s),onKeydown:t[2]||(t[2]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"email",placeholder:a.ssoLang[this.appLanguage].email,required:""},null,40,yt),[[e.vModelText,i.email]]),vt]),e.createElementVNode("div",wt,[zt,e.withDirectives(e.createElementVNode("input",{id:"codeInput","onUpdate:modelValue":t[3]||(t[3]=s=>i.code=s),onKeydown:t[4]||(t[4]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"tel",placeholder:a.ssoLang[this.appLanguage].code,required:""},null,40,St),[[e.vModelText,i.code]]),Lt]),e.createElementVNode("button",Et,[i.submitted?(e.openBlock(),e.createElementBlock("span",Tt)):(e.openBlock(),e.createElementBlock("span",Ct,e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1))]),jt,e.createElementVNode("p",Pt,[e.createElementVNode("span",{innerHTML:a.ssoLang[this.appLanguage].verify_account_p1},null,8,At),It]),Nt,n.isModal?(e.openBlock(),e.createElementBlock("div",{key:2,class:"page-login-links",onClick:t[5]||(t[5]=(...s)=>r.registerAccountModal&&r.registerAccountModal(...s))},[e.createElementVNode("a",xt,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].or)+" ",1),Mt,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].create_new_account),1)]),qt])):(e.openBlock(),e.createElementBlock("div",Vt,[e.createVNode(l,{class:"create float-right",to:"/register"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].register),1)]),_:1}),e.createVNode(l,{class:"forgot float-left",to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),Bt]))],36)}const Z=k(mt,[["render",Dt],["__scopeId","data-v-a80e9eb1"]]),Rt={name:"AuthReset",mixins:[m],data(){return{loading:!0,submitted:!1,passwordChange:!1,email:"",password:"",passwordRepeat:"",code:"",captcha:"",revealPassword:!1,revealPassword2:!1}},mounted(){this.$storage.verifyEmail&&(this.email=this.$storage.verifyEmail),this.$route.query.c&&(this.code=this.$route.query.c,this.passwordChange=!0),this.$route.query.e&&(this.email=this.$route.query.e),c.$emit("ssoEvent",{name:"setLoading",data:!1})},methods:{async resetEmail(){if(this.submitted)return;this.submitted=!0,this.email=this.email.trim();let a={email:this.email,captchaToken:await this.getCaptchaToken("password_reset")};await this.reset(a),this.submitted=!1,await this.$router.push("/verify?e="+this.email+"#reset")},async changePw(){if(this.code.length!==6)return this.errorSnack(this.ssoLang[this.appLanguage].invalid_code);if(this.password!==this.passwordRepeat)return this.errorSnack(this.ssoLang[this.appLanguage].password_not_match);if(this.submitted)return;this.submitted=!0,this.email=this.email.trim(),this.code=this.code.trim();let a={email:this.email,code:this.code,password:this.password,passwordRepeat:this.passwordRepeat,captchaToken:await this.getCaptchaToken("password_reset")},t=await this.changePassword(a);this.submitted=!1,t===!0&&(this.$router.push("/login"),this.successSnack(this.ssoLang[this.appLanguage].password_reseted_success))}},watch:{email(a){this.$storage.verifyEmail=a}}},b=a=>(e.pushScopeId("data-v-7eff2bb3"),a=a(),e.popScopeId(),a),Ot={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},Kt=b(()=>e.createElementVNode("p",{class:"half-bottom small-top center-text color-black"},null,-1)),Ut={class:"page-login-field half-top color-black"},$t=b(()=>e.createElementVNode("i",{style:{"padding-top":"15px","margin-left":"10px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/mail.png",class:"responsive-image",style:{width:"80%"}})],-1)),Ht=["placeholder"],Ft=b(()=>e.createElementVNode("em",null,null,-1)),Qt={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},Gt={key:0,class:"uppercase"},Wt={key:1,class:"button--loading button__loader"},Xt=b(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom half-top"},null,-1)),Yt={class:"close-text center-text half-top color-black"},Zt=["innerHTML"],Jt=["href"],en=b(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom half-top"},null,-1)),an={class:"page-login-links"},tn=b(()=>e.createElementVNode("div",{class:"clear"},null,-1)),nn={class:"bold no-bottom center-text",style:{"margin-top":"63px"}},on={class:"half-bottom small-top center-text color-black"},rn={class:"page-login-field half-top"},sn=b(()=>e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1)),cn=["type","placeholder"],ln={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},dn={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},pn={class:"page-login-field half-top"},_n=b(()=>e.createElementVNode("i",{style:{"padding-top":"15px"}},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/padlock.png",class:"responsive-image",style:{width:"50%"}})],-1)),un=["type","placeholder"],mn={src:"https://cdn.tapni.co/icons/reveal-password.png",class:"responsive-image password-reveal-icon"},gn={src:"https://cdn.tapni.co/icons/hide-password.png",class:"responsive-image password-reveal-icon"},hn={type:"submit",class:"button black-button google-button bg-tapni-grey button-90 button-center uppercase bold full-top"},fn={key:0,class:"uppercase"},kn={key:1,class:"button--loading button__loader"},bn=b(()=>e.createElementVNode("div",{class:"decoration decoration-lines-thin no-bottom half-top"},null,-1)),yn={class:"close-text center-text half-top color-black"},vn=["innerHTML"],wn=["href"];function zn(a,t,n,o,i,r){const l=e.resolveComponent("router-link");return i.passwordChange?(e.openBlock(),e.createElementBlock("form",{key:1,class:"page-login content-boxed content-boxed-padding",onSubmit:t[7]||(t[7]=e.withModifiers((...s)=>r.changePw&&r.changePw(...s),["prevent"]))},[e.createElementVNode("h3",nn,e.toDisplayString(a.ssoLang[this.appLanguage].password_change),1),e.createElementVNode("p",on,e.toDisplayString(a.ssoLang[this.appLanguage].password_new),1),e.createElementVNode("div",rn,[sn,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>i.password=s),type:i.revealPassword?"text":"password",placeholder:a.ssoLang[this.appLanguage].password,required:""},null,8,cn),[[e.vModelDynamic,i.password]]),e.createElementVNode("em",{onClick:t[4]||(t[4]=s=>i.revealPassword=!i.revealPassword)},[e.withDirectives(e.createElementVNode("img",ln,null,512),[[e.vShow,!i.revealPassword]]),e.withDirectives(e.createElementVNode("img",dn,null,512),[[e.vShow,i.revealPassword]])])]),e.createElementVNode("div",pn,[_n,e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>i.passwordRepeat=s),type:i.revealPassword2?"text":"password",placeholder:a.ssoLang[this.appLanguage].password_repeat,required:""},null,8,un),[[e.vModelDynamic,i.passwordRepeat]]),e.createElementVNode("em",{onClick:t[6]||(t[6]=s=>i.revealPassword2=!i.revealPassword2)},[e.withDirectives(e.createElementVNode("img",mn,null,512),[[e.vShow,!i.revealPassword2]]),e.withDirectives(e.createElementVNode("img",gn,null,512),[[e.vShow,i.revealPassword2]])])]),e.createElementVNode("button",hn,[i.submitted?(e.openBlock(),e.createElementBlock("span",kn)):(e.openBlock(),e.createElementBlock("span",fn,e.toDisplayString(a.ssoLang[this.appLanguage].password_change),1))]),bn,e.createElementVNode("p",yn,[e.createElementVNode("span",{innerHTML:a.ssoLang[this.appLanguage].reset_password_p2},null,8,vn),e.createTextVNode(),e.createElementVNode("a",{href:"mailto:support@tapni.co?subject="+a.ssoLang[this.appLanguage].password_reset_t}," support@tapni.co",8,wn)])],32)):(e.openBlock(),e.createElementBlock("form",{key:0,class:"page-login content-boxed content-boxed-padding",onSubmit:t[2]||(t[2]=e.withModifiers((...s)=>r.resetEmail&&r.resetEmail(...s),["prevent"])),autocomplete:"on"},[e.createElementVNode("h3",Ot,e.toDisplayString(a.ssoLang[this.appLanguage].reset_password),1),Kt,e.createElementVNode("div",Ut,[$t,e.withDirectives(e.createElementVNode("input",{id:"emailInput","onUpdate:modelValue":t[0]||(t[0]=s=>i.email=s),onKeydown:t[1]||(t[1]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"])),type:"email",placeholder:a.ssoLang[this.appLanguage].email,required:""},null,40,Ht),[[e.vModelText,i.email]]),Ft]),e.createElementVNode("button",Qt,[i.submitted?(e.openBlock(),e.createElementBlock("span",Wt)):(e.openBlock(),e.createElementBlock("span",Gt,e.toDisplayString(a.ssoLang[this.appLanguage].reset_password),1))]),Xt,e.createElementVNode("p",Yt,[e.createElementVNode("span",{innerHTML:a.ssoLang[this.appLanguage].reset_password_p1},null,8,Zt),e.createElementVNode("a",{href:"mailto:support@tapni.co?subject="+a.ssoLang[this.appLanguage].password_reset_t}," support@tapni.co",8,Jt)]),en,e.createElementVNode("div",an,[e.createVNode(l,{class:"create float-right",to:"/verify"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].verify_account),1)]),_:1}),e.createVNode(l,{class:"forgot float-left",to:"/login"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].sign_in),1)]),_:1}),tn])],32))}const J=k(Rt,[["render",zn],["__scopeId","data-v-7eff2bb3"]]),Sn={name:"AuthCallback",mixins:[j,P,m],data(){return{}},async mounted(){if(this.$route.path==="/callback/auth"&&this.exchangeAuthCode({code:this.$route.query.code}),this.$route.path==="/callback/okta")return await this.handleOktaRedirect();if(this.$route.path==="/callback/saml")return await this.handleSamlRedirect()},methods:{inAppRedirect(){let a=pe.sanitizeUrl(location.href);return a=a.replace("http","tapni"),a=a.replace("https","tapni"),window.open(a)}}},Ln={key:0,style:{"text-align":"center",width:"80%",margin:"0 auto","margin-top":"260px"}},En=e.createElementVNode("br",null,null,-1),Cn={key:1,style:{"text-align":"center",width:"80%",margin:"0 auto","margin-top":"260px"}};function Tn(a,t,n,o,i,r){return e.openBlock(),e.createElementBlock("div",null,[(a.$route.query.platform==="android"||a.$route.query.platform==="ios")&&!a.isNative?(e.openBlock(),e.createElementBlock("h5",Ln,[e.createTextVNode(e.toDisplayString(a.ssoLang[this.appLanguage].you_will_be_redirected),1),En,e.createTextVNode(" "+e.toDisplayString(a.ssoLang[this.appLanguage].if_redirect_not_directly)+", ",1),e.createElementVNode("span",{onClick:t[0]||(t[0]=(...l)=>r.inAppRedirect&&r.inAppRedirect(...l)),style:{color:"blue",cursor:"pointer"}},e.toDisplayString(a.ssoLang[this.appLanguage].click_here),1),e.createTextVNode(".")])):(e.openBlock(),e.createElementBlock("h4",Cn,e.toDisplayString(a.ssoLang[this.appLanguage].please_wait),1))])}const ee=k(Sn,[["render",Tn]]),jn={name:"ModalOverlay",mixins:[m],data(){return{toggle:!1}},mounted(){c.$on("closeModal",()=>{this.toggle=!1,window.document.body.style.overflow="auto",window.document.body.style.height="auto"}),c.$on("openModalOverlay",()=>{this.toggle=!0}),c.$on("toggleLanguageModal",this.toggleModal),c.$on("toggleSSOModal",this.toggleModal),c.$on("toggleSSOPickModal",this.toggleModal)},methods:{toggleModal(a=!0){a&&(this.toggle=!this.toggle,this.toggle?(window.document.body.style.overflow="hidden",window.document.body.style.height="100vh"):(window.document.body.style.overflow="auto",window.document.body.style.height="auto"))},toggleEmit(){var a,t;!this.isLoggedIn&&((t=(a=this.user)==null?void 0:a.lead_form)!=null&&t.forceFilling)||c.$emit("closeModal")}}};function Pn(a,t,n,o,i,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"pointer delete-menu":!0,"delete-menu-active":i.toggle}),onClick:t[0]||(t[0]=(...l)=>r.toggleEmit&&r.toggleEmit(...l))},null,2)}const ae=k(jn,[["render",Pn],["__scopeId","data-v-a128c2fa"]]),An={name:"SSO",mixins:[T,j,P,m],data(){return{toggle:!1,email:"",loading:!1}},mounted(){c.$on("toggleSSOModal",this.toggleModal),c.$on("closeModal",()=>{this.toggle=!1})},beforeDestroy(){c._events.toggleSSOModal.pop()},methods:{forceClose(){c.$emit("closeModal")},close(){this.toggleModal()},async submit(){this.loading=!0;const a=await this.getCompanyBySSOEmail({email:this.email});this.loading=!1;let t;if(!(!a||a.error))if(t=Object.keys(a.sso),t.length)t.length<=1?(t[0]==="azure"&&this.microsoftLogin("sso",a.sso.azure.sso),t[0]==="okta"&&this.oktaLogin(a.sso.okta.sso),t[0]==="saml"&&this.samlLogin(a.sso.saml.sso.loginUrl)):(this.forceClose(),c.$emit("toggleSSOPickModal",{sso:a.sso,email:this.email}));else return this.forceClose(),this.errorSnack(this.ssoLang[this.appLanguage].no_sso_logins)},toggleModal(){this.toggle=!this.toggle}}},In=[(a=>(e.pushScopeId("data-v-11f19a09"),a=a(),e.popScopeId(),a))(()=>e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"45%"}})],-1))],Nn={class:"bold center-text color-black half-top half-bottom"},Vn=["placeholder"],Bn={type:"submit",class:"button black-button white-button button-full",style:{margin:"0 auto","margin-top":"25px","margin-bottom":"30px"}},xn={key:0},Mn={key:1,class:"button--loading button__loader"};function qn(a,t,n,o,i,r){return e.openBlock(),e.createElementBlock("form",{onSubmit:t[3]||(t[3]=e.withModifiers((...l)=>r.submit&&r.submit(...l),["prevent"])),class:e.normalizeClass(["menu-wrapper menu-light menu-modal center-text activate-page",{"active-menu":i.toggle}]),style:{height:"auto","margin-top":"-172.5px"}},[e.createElementVNode("a",{onClick:t[0]||(t[0]=(...l)=>r.forceClose&&r.forceClose(...l)),class:"color-black pull-right pointer",style:{"margin-top":"5px",position:"absolute",right:"5px"}},In),e.createElementVNode("h3",Nn,e.toDisplayString(a.ssoLang[a.appLanguage].enter_company_email),1),e.createElementVNode("div",null,[e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=l=>i.email=l),placeholder:a.ssoLang[this.appLanguage].email,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",class:"edit-input h-40 lh-40",style:{width:"80%"},required:"",onKeydown:t[2]||(t[2]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["space"]))},null,40,Vn),[[e.vModelText,i.email]])]),e.createElementVNode("button",Bn,[i.loading?(e.openBlock(),e.createElementBlock("span",Mn)):(e.openBlock(),e.createElementBlock("span",xn,e.toDisplayString(a.ssoLang[a.appLanguage].continue),1))])],34)}const te=k(An,[["render",qn],["__scopeId","data-v-11f19a09"]]),Dn={name:"SSOPick",mixins:[T,j,P,m],data(){return{toggle:!1,sso:null,email:null,azureLoad:!1,oktaLoad:!1,samlLoad:!1}},mounted(){c.$on("toggleSSOPickModal",this.toggleModal),c.$on("closeModal",()=>{this.toggle=!1})},beforeDestroy(){c._events.toggleSSOPickModal.pop()},methods:{forceClose(){c.$emit("closeModal")},close(){this.toggleModal()},async ssoLogin(a){a==="azure"&&(this.microsoftLogin("sso",this.sso.azure.sso),this.azureLoad=!0),a==="okta"&&(this.oktaLogin(this.sso.okta.sso),this.oktaLoad=!0),a==="saml"&&(this.samlLogin(this.sso.saml.sso.loginUrl),this.samlLoad=!0)},toggleModal(a){this.azureLoad=!1,this.oktaLoad=!1,this.samlLoad=!1,this.sso=null,this.email=null,a&&(this.sso=a.sso,this.email=a.email),this.toggle=!this.toggle}}},A=a=>(e.pushScopeId("data-v-4f821f65"),a=a(),e.popScopeId(),a),Rn=[A(()=>e.createElementVNode("i",{class:"font-17 color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"responsive-image",style:{width:"45%"}})],-1))],On={class:"bold center-text color-black half-top half-bottom"},Kn=A(()=>e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/azure.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1)),Un={key:0},$n={key:1,class:"button--loading button__loader"},Hn=A(()=>e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/okta.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1)),Fn={key:0},Qn={key:1,class:"button--loading button__loader"},Gn=A(()=>e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/saml.png",style:{position:"absolute","margin-left":"-11px",padding:"8px 0",height:"100%"}},null,-1)),Wn={key:0},Xn={key:1,class:"button--loading button__loader"};function Yn(a,t,n,o,i,r){var l,s,d;return e.openBlock(),e.createElementBlock("form",{onSubmit:t[4]||(t[4]=e.withModifiers(()=>{},["prevent"])),class:e.normalizeClass(["menu-wrapper menu-light menu-modal center-text activate-page",{"active-menu":i.toggle}]),style:{height:"auto","margin-top":"-172.5px"}},[e.createElementVNode("a",{onClick:t[0]||(t[0]=(...f)=>r.forceClose&&r.forceClose(...f)),class:"color-black pull-right pointer",style:{"margin-top":"5px",position:"absolute",right:"5px"}},Rn),e.createElementVNode("h3",On,e.toDisplayString(a.ssoLang[a.appLanguage].select_sign_method),1),(l=i.sso)!=null&&l.azure?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:t[1]||(t[1]=f=>r.ssoLogin("azure")),class:"button-center button black-button button-90 google-button pointer"},[Kn,i.azureLoad?(e.openBlock(),e.createElementBlock("span",$n)):(e.openBlock(),e.createElementBlock("span",Un,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Azure",1))])):e.createCommentVNode("",!0),(s=i.sso)!=null&&s.okta?(e.openBlock(),e.createElementBlock("a",{key:1,onClick:t[2]||(t[2]=f=>r.ssoLogin("okta")),class:"button-center button black-button button-90 google-button pointer"},[Hn,i.oktaLoad?(e.openBlock(),e.createElementBlock("span",Qn)):(e.openBlock(),e.createElementBlock("span",Fn,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" Okta",1))])):e.createCommentVNode("",!0),(d=i.sso)!=null&&d.saml?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:t[3]||(t[3]=f=>r.ssoLogin("saml")),class:"button-center button black-button button-90 google-button pointer"},[Gn,i.samlLoad?(e.openBlock(),e.createElementBlock("span",Xn)):(e.openBlock(),e.createElementBlock("span",Wn,e.toDisplayString(a.ssoLang[a.appLanguage].sign_in_with)+" SAML",1))])):e.createCommentVNode("",!0)],34)}const ne=k(Dn,[["render",Yn],["__scopeId","data-v-4f821f65"]]),Zn={name:"LinkIcon",mixins:[m],props:{linkAdding:{type:Boolean,required:!1,default:!1},hideExternalIcon:{type:Boolean,required:!1,default:!1},switching:{type:Boolean,required:!1,default:!1},pulse:{type:Boolean,required:!1,default:!1},editing:{type:Boolean,required:!1,default:!0},directPick:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},to:{type:String,required:!1,default:""},linkStyle:{type:String,required:!1,default:"link-grid"},data:{type:Object,required:!0},customLinkStyle:{type:Object,required:!1,default:()=>{}},shareIconStyle:{type:Object,required:!1,default:()=>{}}},computed:{linkText(){return this.appLanguage!=="en"&&this.data.text?this.ssoLang[this.appLanguage]["link_text_"+this.data.text.toLowerCase().trim().replace(/ /g,"_")]||this.data.text:this.data.text}},methods:{}},Jn=["src","alt"],ei=["src","alt"],ai=["src","alt"],ti=["src","alt"];function ni(a,t,n,o,i,r){var l,s;return e.openBlock(),e.createElementBlock("a",{class:e.normalizeClass(["disable-select",n.linkStyle+(n.disabled?" opacity-50":"")]),style:e.normalizeStyle((n.editing?"cursor: move":"cursor: pointer")+"!important; overflow: visible;")},[e.createElementVNode("span",{class:e.normalizeClass({"user-link-img":!0,"pulse pulse-border":n.pulse,"link-drag":n.editing}),style:e.normalizeStyle({...(l=n.customLinkStyle)==null?void 0:l.linkIcon})},[!n.data.custom_icon&&n.data.type!=="customlink"?(e.openBlock(),e.createElementBlock("img",{key:0,src:"https://cdn.tapni.co/icons/"+n.data.type+".png",class:"responsive-image",alt:n.data.text,onLoad:t[0]||(t[0]=d=>a.$emit("loaded")),onError:t[1]||(t[1]=d=>a.$emit("loaded"))},null,40,Jn)):!n.data.custom_icon&&n.data.type==="customlink"&&n.linkAdding?(e.openBlock(),e.createElementBlock("img",{key:1,src:"https://cdn.tapni.co/icons/custom-icon-128.gif",class:"responsive-image",alt:n.data.text,onLoad:t[2]||(t[2]=d=>a.$emit("loaded")),onError:t[3]||(t[3]=d=>a.$emit("loaded"))},null,40,ei)):!n.data.custom_icon&&n.data.type==="customlink"&&!n.linkAdding?(e.openBlock(),e.createElementBlock("img",{key:2,src:"https://cdn.tapni.co/icons/customlink.png",class:"responsive-image",alt:n.data.text,onLoad:t[4]||(t[4]=d=>a.$emit("loaded")),onError:t[5]||(t[5]=d=>a.$emit("loaded"))},null,40,ai)):(e.openBlock(),e.createElementBlock("img",{key:3,src:n.data.style.custom_icon,style:{"border-radius":"22.46%"},class:"responsive-image",alt:n.data.text,onLoad:t[6]||(t[6]=d=>a.$emit("loaded")),onError:t[7]||(t[7]=d=>a.$emit("loaded"))},null,40,ti))],6),e.createElementVNode("span",{class:"link-text link-drag color-black",style:e.normalizeStyle({color:(s=n.customLinkStyle)==null?void 0:s.color})},e.toDisplayString(r.linkText),5)],6)}const ii=k(Zn,[["render",ni]]),oi={ANDROID_VERSION:"5.6",IOS_VERSION:"5.6",WEB_VERSION:"5.6.0",SUPPORTED_LANGUAGES:["en","de","es","kr","it","fr"],METAPIXEL_ID:"1203678696914368",GOOGLE_ANALYTICS_ID:""},ri={name:"Language",mixins:[m],components:{LinkIcon:ii},data(){return{toggle:!1}},async mounted(){c.$on("toggleLanguageModal",this.toggleModal),c.$on("closeModal",()=>{this.toggle=!1});let a=this.isNative?await L.Device.getLanguageCode():v.getFirstBrowserLanguage();a&&oi.SUPPORTED_LANGUAGES.includes(a)&&this.updateLanguage(a)},beforeDestroy(){c._events.toggleLanguageModal.pop()},methods:{forceClose(){c.$emit("closeModal")},close(){this.forceClose()},async updateLanguage(a){c.$emit("updateLang",a),c.$emit("closeModal")},toggleModal(){this.toggle=!this.toggle}}},si=[(a=>(e.pushScopeId("data-v-34a6b7b2"),a=a(),e.popScopeId(),a))(()=>e.createElementVNode("i",{class:"font-17 fa color-black"},[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/down-arrow.png",class:"fa responsive-image",style:{width:"45%"}})],-1))],ci={class:"bold center-text color-black small-bottom"};function li(a,t,n,o,i,r){const l=e.resolveComponent("LinkIcon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["menu-wrapper menu-light menu-white menu-modal center-text activate-page",{"active-menu":i.toggle}]),style:{height:"auto","max-height":"92vh","margin-top":"-172.5px"}},[e.createElementVNode("a",{onClick:t[0]||(t[0]=(...s)=>r.close&&r.close(...s)),class:"color-black pull-right pointer",style:{"margin-top":"5px",position:"absolute",right:"5px"}},si),e.createElementVNode("h3",ci,e.toDisplayString(a.ssoLang[a.appLanguage].app_language),1),e.createVNode(l,{onClick:t[1]||(t[1]=s=>r.updateLanguage("en")),"link-style":"link-grid",data:{type:"lang/en",text:a.ssoLang[this.appLanguage].english},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[2]||(t[2]=s=>r.updateLanguage("es")),"link-style":"link-grid",data:{type:"lang/es",text:a.ssoLang[this.appLanguage].spanish},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[3]||(t[3]=s=>r.updateLanguage("de")),"link-style":"link-grid",data:{type:"lang/de",text:a.ssoLang[this.appLanguage].german},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[4]||(t[4]=s=>r.updateLanguage("it")),"link-style":"link-grid",data:{type:"lang/it",text:a.ssoLang[this.appLanguage].italian},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[5]||(t[5]=s=>r.updateLanguage("fr")),"link-style":"link-grid",data:{type:"lang/fr",text:a.ssoLang[this.appLanguage].french},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[6]||(t[6]=s=>r.updateLanguage("kr")),"link-style":"link-grid",data:{type:"lang/kr",text:a.ssoLang[this.appLanguage].korean},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[7]||(t[7]=s=>r.updateLanguage("sr")),"link-style":"link-grid",data:{type:"lang/sr",text:a.ssoLang[this.appLanguage].serbian},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"]),e.createVNode(l,{onClick:t[8]||(t[8]=s=>r.updateLanguage("tr")),"link-style":"link-grid",data:{type:"lang/tr",text:a.ssoLang[this.appLanguage].turkish},editing:!1,class:e.normalizeClass({"add-button":!0})},null,8,["data"])],2)}const ie=k(ri,[["render",li],["__scopeId","data-v-34a6b7b2"]]);var di={VITE_APP_MODE:"npm",VITE_APP_APP_ROOT:"https://t.link",VITE_APP_API_ROOT:"https://api.tapni.co",VITE_APP_GOOGLE_RECAPTCHA_SITE_KEY:"6LenkC0mAAAAADWBxPOhpmwXCwzCJd7cilNgtOLk",VITE_APP_SSO_ID:"9cd47053-080a-4df8-8fd8-ca4389163fde",VITE_APP_POPUP_LOGIN_ALLOWED_ORIGIN:"https://auth.tapni.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const pi={id:"ssoapp"},_i={key:0,href:"/",class:"header-logo"},ui=[e.createElementVNode("img",{src:"data:image/png;base64,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",onerror:"this.onerror=null;this.src='https://cdn.tapni.co/images/logo-dark.png';",class:"header-logo-img"},null,-1)],mi={class:"lang-icon"},gi={class:"snackbar snackbar-boxed",id:"snackbar"},hi={class:"snack-body",id:"errorSnack"},fi={id:"errorMessage"},ki=[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/notification-close.png",style:{width:"100%"}},null,-1)],bi={class:"snack-body",id:"successSnack"},yi={id:"successMessage"},vi=[e.createElementVNode("img",{src:"https://cdn.tapni.co/icons/notification-close.png",style:{width:"100%"}},null,-1)],oe=Object.assign({name:"TapniAuth",mixins:[m],data(){return{isSetup:!1}},components:{Language:ie,SSOPick:ne,SSO:te,ModalOverlay:ae,AuthCallback:ee,AuthReset:J,AuthVerify:Z,AuthRegister:Y,AuthLogin:X,AuthWelcome:F},props:{view:{type:String,default:""},isModal:{type:Boolean,default:!1}},computed:{initialized(){return this.isSetup||this.isModal}},async mounted(){this.applyBgStyle(),c.$on("ssoEvent",this.ssoOutgoingEvent),c.$on("ssoLogout",a=>this.logout(a)),c.$on("getLoggedInAccounts",a=>this.getLoggedInAccounts(a)),c.$on("refreshTokenAction",a=>this.refreshTokenAction(a))},methods:{async init(){if(this.isSetup)return;this.isSetup=!0,this.setToken(this.$storage.token);const a=this.getRefreshTokens();this.setRefreshToken(a[0]),this.getLoggedInAccounts(),this.$emit("ssoLibraryReady")},ssoOutgoingEvent(a){this.$emit("ssoEvent",a)},ssoIncomingEvent(a){c.$emit(a.name,a.data)},applyBgStyle(){this.display==="redirect"?document.getElementsByTagName("html")[0].style="background: #dfeefe;":document.getElementsByTagName("html")[0].style=""},toggleLanguageModal(){c.$emit("toggleLanguageModal",!0)}},watch:{display(){this.applyBgStyle()}}},{setup(a){return document.addEventListener("DOMContentLoaded",function(){const t=document.createElement("script");t.src=`https://www.google.com/recaptcha/api.js?render=${di.VITE_GOOGLE_RECAPTCHA_SITE_KEY}`,document.head.appendChild(t)}),(t,n)=>(e.openBlock(),e.createElementBlock("div",pi,[t.display==="redirect"?(e.openBlock(),e.createElementBlock("a",_i,ui)):e.createCommentVNode("",!0),t.display==="redirect"?(e.openBlock(),e.createElementBlock("a",{key:1,onClick:n[0]||(n[0]=(...o)=>t.toggleLanguageModal&&t.toggleLanguageModal(...o)),class:"font-18 no-border pointer color-black",style:{position:"absolute",right:"20px",top:"-10px"}},[e.createElementVNode("span",mi,e.toDisplayString(t.appLanguage.toUpperCase()),1)])):e.createCommentVNode("",!0),e.createVNode(ae),e.createVNode(ie),e.createVNode(te),e.createVNode(ne),t.initialized&&t.renderView==="AuthWelcome"?(e.openBlock(),e.createBlock(F,{key:2})):t.initialized&&t.renderView==="AuthLogin"?(e.openBlock(),e.createBlock(X,{key:3,isModal:a.isModal},null,8,["isModal"])):t.initialized&&t.renderView==="AuthRegister"?(e.openBlock(),e.createBlock(Y,{key:4,isModal:a.isModal},null,8,["isModal"])):t.initialized&&t.renderView==="AuthVerify"?(e.openBlock(),e.createBlock(Z,{key:5,isModal:a.isModal},null,8,["isModal"])):t.initialized&&t.renderView==="AuthReset"?(e.openBlock(),e.createBlock(J,{key:6})):t.initialized&&t.renderView==="AuthCallback"?(e.openBlock(),e.createBlock(ee,{key:7})):(e.openBlock(),e.createBlock(e.unref(z.RouterView),{key:8})),e.createElementVNode("div",gi,[e.createElementVNode("p",hi,[e.createElementVNode("span",fi,e.toDisplayString(t.ssoLang[t.appLanguage].error),1),e.createElementVNode("a",{onClick:n[1]||(n[1]=(...o)=>t.closeSnacks&&t.closeSnacks(...o)),style:{position:"absolute",right:"10px",top:"10px",width:"50px",height:"50px"}},ki)]),e.createElementVNode("p",bi,[e.createElementVNode("span",yi,e.toDisplayString(t.ssoLang[t.appLanguage].success),1),e.createElementVNode("a",{onClick:n[2]||(n[2]=(...o)=>t.closeSnacks&&t.closeSnacks(...o)),style:{position:"absolute",right:"10px",top:"10px",width:"50px",height:"50px"}},vi)])])]))}});return{TapniAuth:oe,install:a=>{a.component("TapniAuth",oe)}}});
|
package/package.json
CHANGED
package/src/mixins/auth.mixin.js
CHANGED
|
@@ -329,12 +329,7 @@ export default {
|
|
|
329
329
|
}
|
|
330
330
|
},
|
|
331
331
|
async exchangeAuthCode(data) {
|
|
332
|
-
const [err, response] = await to(
|
|
333
|
-
axios.post(import.meta.env.VITE_APP_API_ROOT + "/v1/users/auth-code", {
|
|
334
|
-
code: data.code,
|
|
335
|
-
code_verifier: data.code_verifier,
|
|
336
|
-
})
|
|
337
|
-
);
|
|
332
|
+
const [err, response] = await to(AuthService.exchangeAuthCode(data, this.storage));
|
|
338
333
|
if (err) return this.errorHandler(err);
|
|
339
334
|
await this.loginSetup(response);
|
|
340
335
|
await this.getLoggedInAccounts();
|
package/src/services/Api.js
CHANGED
|
@@ -4,9 +4,15 @@ import { version } from "../../package.json"
|
|
|
4
4
|
import AuthMixin from "../mixins/auth.mixin"
|
|
5
5
|
|
|
6
6
|
export default (storage, refreshTokenAction = false) => {
|
|
7
|
-
const appInfo = version
|
|
7
|
+
const appInfo = version;
|
|
8
|
+
let baseURL = import.meta.env.VITE_APP_API_ROOT + '/v1/';
|
|
9
|
+
|
|
10
|
+
if (location.hostname.includes('dev.')) {
|
|
11
|
+
baseURL = 'https://api-dev.tapni.co'
|
|
12
|
+
}
|
|
13
|
+
|
|
8
14
|
let apiInstance = axios.create({
|
|
9
|
-
baseURL
|
|
15
|
+
baseURL,
|
|
10
16
|
headers: {
|
|
11
17
|
Authorization: `Bearer ${storage.token}`,
|
|
12
18
|
"X-Client-Name": "sso-" + appInfo.platform,
|