@credenza3/passport-evm 0.3.16 → 0.3.17
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/{App-tKHSD4Kn.js → App-CanFU0id.js} +18 -18
- package/dist/{App-tKHSD4Kn.js.map → App-CanFU0id.js.map} +1 -1
- package/dist/{Button-DCiKyboZ.js → Button-CxIvDvFK.js} +4 -4
- package/dist/{Button-DCiKyboZ.js.map → Button-CxIvDvFK.js.map} +1 -1
- package/dist/{ButtonBack-l2pouuyt.js → ButtonBack-DSwOaTcC.js} +4 -4
- package/dist/{ButtonBack-l2pouuyt.js.map → ButtonBack-DSwOaTcC.js.map} +1 -1
- package/dist/{ButtonLink-CUjPS0bz.js → ButtonLink-CCxv4UWh.js} +3 -3
- package/dist/{ButtonLink-CUjPS0bz.js.map → ButtonLink-CCxv4UWh.js.map} +1 -1
- package/dist/{ConfirmAccount-BRg5PYpD.js → ConfirmAccount-AjJ81eO0.js} +9 -9
- package/dist/{ConfirmAccount-BRg5PYpD.js.map → ConfirmAccount-AjJ81eO0.js.map} +1 -1
- package/dist/{ContentHeader-CayTg8kM.js → ContentHeader-Ch9zGhC2.js} +3 -3
- package/dist/{ContentHeader-CayTg8kM.js.map → ContentHeader-Ch9zGhC2.js.map} +1 -1
- package/dist/{Error-Bpaw-9z0.js → Error-B6pgND_C.js} +5 -5
- package/dist/{Error-Bpaw-9z0.js.map → Error-B6pgND_C.js.map} +1 -1
- package/dist/{Input-C97TgXQB.js → Input-Cgo8a7CN.js} +4 -4
- package/dist/{Input-C97TgXQB.js.map → Input-Cgo8a7CN.js.map} +1 -1
- package/dist/{Label-Ds2N1teB.js → Label-CeKxLCHz.js} +3 -3
- package/dist/{Label-Ds2N1teB.js.map → Label-CeKxLCHz.js.map} +1 -1
- package/dist/{Loader-C-zgzLck.js → Loader-CSmxivr0.js} +3 -3
- package/dist/{Loader-C-zgzLck.js.map → Loader-CSmxivr0.js.map} +1 -1
- package/dist/{Login-C2d4VKkK.js → Login-Cs3-BL_H.js} +9 -9
- package/dist/{Login-C2d4VKkK.js.map → Login-Cs3-BL_H.js.map} +1 -1
- package/dist/{Logout-DvRWxjDS.js → Logout-CkFfClrM.js} +6 -6
- package/dist/{Logout-DvRWxjDS.js.map → Logout-CkFfClrM.js.map} +1 -1
- package/dist/{Nav-B97guiir.js → Nav-C_prox_b.js} +216 -217
- package/dist/{Nav-B97guiir.js.map → Nav-C_prox_b.js.map} +1 -1
- package/dist/{PassportId-C3ZQeGRX.js → PassportId-Bo-HFYek.js} +6 -6
- package/dist/{PassportId-C3ZQeGRX.js.map → PassportId-Bo-HFYek.js.map} +1 -1
- package/dist/{Payment-5Z6W2S2Z.js → Payment-DmFa9B8g.js} +212 -213
- package/dist/Payment-DmFa9B8g.js.map +1 -0
- package/dist/{PaymentResult-C81tCa8j.js → PaymentResult-D4RCY13e.js} +4 -4
- package/dist/{PaymentResult-C81tCa8j.js.map → PaymentResult-D4RCY13e.js.map} +1 -1
- package/dist/{Profile-D7zQzJwn.js → Profile-CX_eMAiA.js} +7 -7
- package/dist/{Profile-D7zQzJwn.js.map → Profile-CX_eMAiA.js.map} +1 -1
- package/dist/{ProgressVideo-b9Pq9OEy.js → ProgressVideo-CLqVP33y.js} +5 -5
- package/dist/{ProgressVideo-b9Pq9OEy.js.map → ProgressVideo-CLqVP33y.js.map} +1 -1
- package/dist/{RichAlert-D3-5Qi7t.js → RichAlert-D6u_Mwz4.js} +5 -5
- package/dist/{RichAlert-D3-5Qi7t.js.map → RichAlert-D6u_Mwz4.js.map} +1 -1
- package/dist/{Scanner-I4xN822J.js → Scanner-BLy2sDRu.js} +6 -6
- package/dist/{Scanner-I4xN822J.js.map → Scanner-BLy2sDRu.js.map} +1 -1
- package/dist/SendTokens-BIN9i14X.js +360 -0
- package/dist/SendTokens-BIN9i14X.js.map +1 -0
- package/dist/{Sign-uEMO_pgj.js → Sign-CNg2p87X.js} +6 -6
- package/dist/{Sign-uEMO_pgj.js.map → Sign-CNg2p87X.js.map} +1 -1
- package/dist/{Stripe.service-Dnkm5UnA.js → Stripe.service-NHf-uI1F.js} +3 -3
- package/dist/{Stripe.service-Dnkm5UnA.js.map → Stripe.service-NHf-uI1F.js.map} +1 -1
- package/dist/{UpdateProfile-BkzMoTSd.js → UpdateProfile-Em1EcHJp.js} +10 -10
- package/dist/{UpdateProfile-BkzMoTSd.js.map → UpdateProfile-Em1EcHJp.js.map} +1 -1
- package/dist/{UserInfo-DqEWseCA.js → UserInfo-DkUmsLYp.js} +4 -4
- package/dist/{UserInfo-DqEWseCA.js.map → UserInfo-DkUmsLYp.js.map} +1 -1
- package/dist/{Wallet-DVDaKNLv.js → Wallet-HGVIOJHc.js} +7 -7
- package/dist/{Wallet-DVDaKNLv.js.map → Wallet-HGVIOJHc.js.map} +1 -1
- package/dist/{each-CspjR91w.js → each-9VZsbwex.js} +2 -2
- package/dist/{each-CspjR91w.js.map → each-9VZsbwex.js.map} +1 -1
- package/dist/{html-COPb0vI7.js → html-C0FHk8Xg.js} +3 -3
- package/dist/{html-COPb0vI7.js.map → html-C0FHk8Xg.js.map} +1 -1
- package/dist/{index-CQrnbnoz.js → index-DNQhfOgj.js} +1858 -1858
- package/dist/{index-CQrnbnoz.js.map → index-DNQhfOgj.js.map} +1 -1
- package/dist/{index-client-DfEPCtKn.js → index-client-la_93dBE.js} +2 -2
- package/dist/{index-client-DfEPCtKn.js.map → index-client-la_93dBE.js.map} +1 -1
- package/dist/{input-Dy2lLICW.js → input-BbeLOXf2.js} +2 -2
- package/dist/{input-Dy2lLICW.js.map → input-BbeLOXf2.js.map} +1 -1
- package/dist/{legacy-Cs2YMqnj.js → legacy-emYZq_hG.js} +2 -2
- package/dist/{legacy-Cs2YMqnj.js.map → legacy-emYZq_hG.js.map} +1 -1
- package/dist/passport.es.js +1 -1
- package/dist/passport.umd.js +73 -73
- package/dist/passport.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/Payment-5Z6W2S2Z.js.map +0 -1
- package/dist/SendTokens-D-GXxLSW.js +0 -365
- package/dist/SendTokens-D-GXxLSW.js.map +0 -1
- package/dist/strings-B-rKL311.js +0 -5
- package/dist/strings-B-rKL311.js.map +0 -1
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { c as xe, p as pe, h as ke, f as ce, i as ae, k as je, r as fe, o as ie, s as Fe, e as ze, b as Z, d as Be, u as Te, n as Re, t as Xe } from "./legacy-emYZq_hG.js";
|
|
2
|
+
import { z as Ee, v as h, I as n, m as i, A as x, w as Ie, x as qe, J as e, Z as X, E as p, B as w, C as _, D as me, G as oe, y as Pe, u as ge, a5 as De, N as se, M as ye, Q as Ge, a3 as z, a1 as Se, R as Je, a2 as Ke, T as he, V as Ce, bg as Qe, O as Ae, P as we, bh as We, bi as Ye } from "./index-DNQhfOgj.js";
|
|
3
|
+
import "./scanner.es-DK9KxX60.js";
|
|
4
|
+
import { C as Ze } from "./ContentHeader-Ch9zGhC2.js";
|
|
5
|
+
import { B as et } from "./ButtonBack-DSwOaTcC.js";
|
|
6
|
+
import { B as _e } from "./Button-CxIvDvFK.js";
|
|
7
|
+
import { I as $e } from "./Input-Cgo8a7CN.js";
|
|
8
|
+
import { S as tt } from "./scanner-Bm3Pvpfs.js";
|
|
9
|
+
var nt = ce('<div>ChainId: <span class="crtw-font-bold"> </span></div>'), rt = ce('<label class="crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message" for="recipientAddress">Provided address is not valid.</label>'), at = ce('<div class="crtw-ml-2.5 crtw-w-16 crtw-min-w-16"><!></div>'), st = ce('<!> <div class="crtw-w-full crtw-p-0 crtw-relative"><div id="cpuiCredScanner"></div> <!> <div>Your balance: <span class="crtw-font-bold"><!> </span></div> <div class="crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full"><div class="crtw-flex crtw-flex-col crtw-w-full"><!> <!></div> <div class="crtw-ml-2.5 crtw-cursor-pointer"><img width="53px" alt="" class="crtw-h-[53px]"/></div></div> <div class="crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full"><!> <div class="crtw-ml-2.5 crtw-w-16 crtw-min-w-16"><!></div> <!></div> <!></div> <div class="crtw-mt-0.5 crtw-mb-3 crtw-w-full"><!></div>', 1);
|
|
10
|
+
function Le(q, R) {
|
|
11
|
+
if (new.target) return xe({ component: Le, ...q });
|
|
12
|
+
Ee(R, !1);
|
|
13
|
+
const [G, de] = Re(), U = () => ie(De, "$clientPublicStore", G), H = i(), J = i(), E = i(), M = i(), k = i(), I = i(), ee = i(), K = i();
|
|
14
|
+
let P = pe(R, "recipientAddress", 12), b = pe(R, "amount", 12), a = pe(R, "options", 12), {
|
|
15
|
+
onChangeCurrency: l,
|
|
16
|
+
onSetMaxAmount: f,
|
|
17
|
+
onBackClicked: V,
|
|
18
|
+
onSendTokens: g,
|
|
19
|
+
title: B,
|
|
20
|
+
chainId: N,
|
|
21
|
+
onScannerClicked: D,
|
|
22
|
+
isNativeCurrecyTransferAllowed: C = !0
|
|
23
|
+
} = a();
|
|
24
|
+
const L = (t) => Math.floor(t * 100) / 100;
|
|
25
|
+
h(() => x(a()), () => {
|
|
26
|
+
n(H, a().balance);
|
|
27
|
+
}), h(() => x(a()), () => {
|
|
28
|
+
n(J, a().isLoading);
|
|
29
|
+
}), h(() => x(a()), () => {
|
|
30
|
+
n(E, a().isSubmitDisabled);
|
|
31
|
+
}), h(() => x(a()), () => {
|
|
32
|
+
n(M, a().isRecipientAddressValid);
|
|
33
|
+
}), h(() => x(a()), () => {
|
|
34
|
+
n(k, a().isScannerHidden);
|
|
35
|
+
}), h(() => x(a()), () => {
|
|
36
|
+
n(I, a().activeCurrency);
|
|
37
|
+
}), h(() => x(a()), () => {
|
|
38
|
+
n(ee, a().nativeSymbol);
|
|
39
|
+
}), h(() => x(a()), () => {
|
|
40
|
+
n(K, a().nativeBalance);
|
|
41
|
+
}), Ie(), ke();
|
|
42
|
+
var T = st(), O = qe(T);
|
|
43
|
+
{
|
|
44
|
+
let t = X(() => e(k) ? "" : "Scan Passport Id");
|
|
45
|
+
Ze(O, {
|
|
46
|
+
get text() {
|
|
47
|
+
return B;
|
|
48
|
+
},
|
|
49
|
+
get description() {
|
|
50
|
+
return e(t);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
var j = p(O, 2), A = w(j);
|
|
55
|
+
let te;
|
|
56
|
+
var ne = p(A, 2);
|
|
57
|
+
{
|
|
58
|
+
var le = (t) => {
|
|
59
|
+
var o = nt(), F = p(w(o)), ve = w(F, !0);
|
|
60
|
+
_(F), _(o), me(() => fe(ve, N)), Z(t, o);
|
|
61
|
+
};
|
|
62
|
+
ae(ne, (t) => {
|
|
63
|
+
N && t(le);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
var Q = p(ne, 2), s = p(w(Q)), r = w(s);
|
|
67
|
+
{
|
|
68
|
+
var c = (t) => {
|
|
69
|
+
var o = Xe();
|
|
70
|
+
me((F) => fe(o, `${F ?? ""} ${e(ee) ?? ""} /`), [
|
|
71
|
+
() => (e(K), oe(() => L(+e(K))))
|
|
72
|
+
]), Z(t, o);
|
|
73
|
+
};
|
|
74
|
+
ae(r, (t) => {
|
|
75
|
+
C && t(c);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
var u = p(r);
|
|
79
|
+
_(s), _(Q);
|
|
80
|
+
var y = p(Q, 2), m = w(y), v = w(m);
|
|
81
|
+
$e(v, {
|
|
82
|
+
name: "recipientAddress",
|
|
83
|
+
type: "text",
|
|
84
|
+
placeholder: "Address 0x...",
|
|
85
|
+
get value() {
|
|
86
|
+
return P();
|
|
87
|
+
},
|
|
88
|
+
set value(t) {
|
|
89
|
+
P(t);
|
|
90
|
+
},
|
|
91
|
+
$$legacy: !0
|
|
92
|
+
});
|
|
93
|
+
var W = p(v, 2);
|
|
94
|
+
{
|
|
95
|
+
var Y = (t) => {
|
|
96
|
+
var o = rt();
|
|
97
|
+
Z(t, o);
|
|
98
|
+
};
|
|
99
|
+
ae(W, (t) => {
|
|
100
|
+
P() && !e(M) && t(Y);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
_(m);
|
|
104
|
+
var $ = p(m, 2), d = w($);
|
|
105
|
+
_($), _(y);
|
|
106
|
+
var S = p(y, 2), re = w(S);
|
|
107
|
+
{
|
|
108
|
+
let t = X(() => `${e(I)} amount`);
|
|
109
|
+
$e(re, {
|
|
110
|
+
type: "number",
|
|
111
|
+
min: "0",
|
|
112
|
+
step: "0.001",
|
|
113
|
+
get placeholder() {
|
|
114
|
+
return e(t);
|
|
115
|
+
},
|
|
116
|
+
get value() {
|
|
117
|
+
return b();
|
|
118
|
+
},
|
|
119
|
+
set value(o) {
|
|
120
|
+
b(o);
|
|
121
|
+
},
|
|
122
|
+
$$legacy: !0
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
var ue = p(re, 2), Oe = w(ue);
|
|
126
|
+
{
|
|
127
|
+
let t = X(() => +e(H) <= 0);
|
|
128
|
+
_e(Oe, {
|
|
129
|
+
get onClick() {
|
|
130
|
+
return f;
|
|
131
|
+
},
|
|
132
|
+
text: "MAX",
|
|
133
|
+
get disabled() {
|
|
134
|
+
return e(t);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
_(ue);
|
|
139
|
+
var Ue = p(ue, 2);
|
|
140
|
+
{
|
|
141
|
+
var He = (t) => {
|
|
142
|
+
var o = at(), F = w(o);
|
|
143
|
+
{
|
|
144
|
+
let ve = X(() => !e(I));
|
|
145
|
+
_e(F, {
|
|
146
|
+
get onClick() {
|
|
147
|
+
return l;
|
|
148
|
+
},
|
|
149
|
+
get text() {
|
|
150
|
+
return e(I);
|
|
151
|
+
},
|
|
152
|
+
get disabled() {
|
|
153
|
+
return e(ve);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
_(o), Z(t, o);
|
|
158
|
+
};
|
|
159
|
+
ae(Ue, (t) => {
|
|
160
|
+
C && t(He);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
_(S);
|
|
164
|
+
var Ne = p(S, 2);
|
|
165
|
+
{
|
|
166
|
+
let t = X(() => `Send ${b() || ""} ${e(I)}`);
|
|
167
|
+
_e(Ne, {
|
|
168
|
+
get onClick() {
|
|
169
|
+
return g;
|
|
170
|
+
},
|
|
171
|
+
get text() {
|
|
172
|
+
return e(t);
|
|
173
|
+
},
|
|
174
|
+
get isLoading() {
|
|
175
|
+
return e(J);
|
|
176
|
+
},
|
|
177
|
+
get disabled() {
|
|
178
|
+
return e(E);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
_(j);
|
|
183
|
+
var be = p(j, 2), Me = w(be);
|
|
184
|
+
et(Me, {
|
|
185
|
+
get onClick() {
|
|
186
|
+
return V;
|
|
187
|
+
}
|
|
188
|
+
}), _(be), me(
|
|
189
|
+
(t, o) => {
|
|
190
|
+
te = je(A, 1, "crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg", null, te, t), fe(u, ` ${o ?? ""} $${U(), oe(() => U()?.ui_settings.cred_alias || "cred") ?? ""}`), Fe(d, "src", tt);
|
|
191
|
+
},
|
|
192
|
+
[
|
|
193
|
+
() => ({
|
|
194
|
+
"crtw-hidden": e(k),
|
|
195
|
+
"crtw-z-[-1]": e(k)
|
|
196
|
+
}),
|
|
197
|
+
() => (e(H), oe(() => L(+e(H))))
|
|
198
|
+
]
|
|
199
|
+
), ze("click", d, D), Z(q, T);
|
|
200
|
+
var Ve = Pe({
|
|
201
|
+
get recipientAddress() {
|
|
202
|
+
return P();
|
|
203
|
+
},
|
|
204
|
+
set recipientAddress(t) {
|
|
205
|
+
P(t), ge();
|
|
206
|
+
},
|
|
207
|
+
get amount() {
|
|
208
|
+
return b();
|
|
209
|
+
},
|
|
210
|
+
set amount(t) {
|
|
211
|
+
b(t), ge();
|
|
212
|
+
},
|
|
213
|
+
get options() {
|
|
214
|
+
return a();
|
|
215
|
+
},
|
|
216
|
+
set options(t) {
|
|
217
|
+
a(t), ge();
|
|
218
|
+
},
|
|
219
|
+
$set: Te,
|
|
220
|
+
$on: (t, o) => Be(R, t, o)
|
|
221
|
+
});
|
|
222
|
+
return de(), Ve;
|
|
223
|
+
}
|
|
224
|
+
function it(q, R) {
|
|
225
|
+
if (new.target) return xe({ component: it, ...q });
|
|
226
|
+
Ee(R, !1);
|
|
227
|
+
const [G, de] = Re(), U = () => ie(ye, "$configStore", G), H = () => ie(Se, "$providerStore", G), J = () => ie(De, "$clientPublicStore", G), E = i(), M = i();
|
|
228
|
+
var k = this && this.__awaiter || function(s, r, c, u) {
|
|
229
|
+
function y(m) {
|
|
230
|
+
return m instanceof c ? m : new c(function(v) {
|
|
231
|
+
v(m);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
return new (c || (c = Promise))(function(m, v) {
|
|
235
|
+
function W(d) {
|
|
236
|
+
try {
|
|
237
|
+
$(u.next(d));
|
|
238
|
+
} catch (S) {
|
|
239
|
+
v(S);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
function Y(d) {
|
|
243
|
+
try {
|
|
244
|
+
$(u.throw(d));
|
|
245
|
+
} catch (S) {
|
|
246
|
+
v(S);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
function $(d) {
|
|
250
|
+
d.done ? m(d.value) : y(d.value).then(W, Y);
|
|
251
|
+
}
|
|
252
|
+
$((u = u.apply(s, r || [])).next());
|
|
253
|
+
});
|
|
254
|
+
};
|
|
255
|
+
const I = se(ye), { sendTokens: ee, getCREDContract: K, toastAlert: P } = se(Ge);
|
|
256
|
+
let b = "", a = i(""), l = i(), f = i(""), V = 18, g = i("-"), B = i(""), N = 18, D = i("-"), C = i(""), L = i(!0), T = i(!1), O, j, A;
|
|
257
|
+
const te = () => k(void 0, void 0, void 0, function* () {
|
|
258
|
+
const { Scanner: s } = yield import("./scanner.es-DK9KxX60.js");
|
|
259
|
+
A = new s({ target: "#cpuiCredScanner" }), We(we.UI_CLOSED, A.close), yield A.scan(), A.on(s.events.CAPTURE, (r) => k(void 0, [r], void 0, function* ({ sub: c }) {
|
|
260
|
+
const { address: u } = yield Ye(c);
|
|
261
|
+
n(a, u), A.close();
|
|
262
|
+
})), A.on(s.events.CANCEL, () => n(L, !0)), A.on(s.events.ERROR, (r) => {
|
|
263
|
+
(r?.message || r).includes("Permission") && alert("In order to scan please allow the current page to access your camera and try again."), n(L, !0);
|
|
264
|
+
}), n(L, !1);
|
|
265
|
+
}), ne = () => k(void 0, void 0, void 0, function* () {
|
|
266
|
+
const s = e(f) === e(g);
|
|
267
|
+
n(T, !0);
|
|
268
|
+
try {
|
|
269
|
+
const r = z.parseUnits(String(e(l)), s ? V : N), c = yield ee({
|
|
270
|
+
address: e(a),
|
|
271
|
+
amount: r,
|
|
272
|
+
instance: s ? O : void 0
|
|
273
|
+
});
|
|
274
|
+
P(`<a href="${Qe(c.hash)}" target="_blank">Send TX</a> was created`), n(a, ""), n(l, void 0);
|
|
275
|
+
const [u, y] = yield Promise.all([
|
|
276
|
+
O.balanceOf(b),
|
|
277
|
+
j.provider.getBalance(b)
|
|
278
|
+
]);
|
|
279
|
+
n(B, z.formatUnits(u, V)), n(C, parseFloat(z.formatUnits(y, N)).toFixed(4)), Ae(we.RECHECK_BALANCE, [c.hash]);
|
|
280
|
+
} catch (r) {
|
|
281
|
+
P(r?.message || r || "An error occurred while sending tokens", "failure"), Ae(we.ERROR, { error: r });
|
|
282
|
+
}
|
|
283
|
+
n(T, !1);
|
|
284
|
+
}), le = () => k(void 0, void 0, void 0, function* () {
|
|
285
|
+
var s, r, c, u, y, m;
|
|
286
|
+
const v = se(Je);
|
|
287
|
+
n(a, v?.to || ""), n(l, v?.amount || void 0);
|
|
288
|
+
const { decimals: W, contract: Y } = yield K();
|
|
289
|
+
V = W, O = Y;
|
|
290
|
+
const $ = se(Se);
|
|
291
|
+
if (!$) return;
|
|
292
|
+
j = yield $.getSigner(), b = yield Ke();
|
|
293
|
+
const d = yield Promise.all([
|
|
294
|
+
O.symbol(),
|
|
295
|
+
O.balanceOf(b),
|
|
296
|
+
$.getBalance(b),
|
|
297
|
+
fetch("https://chainid.network/chains.json").then((S) => S.json()).then((S) => S.find((re) => String(re.chainId) === I.chainId))
|
|
298
|
+
]);
|
|
299
|
+
n(g, d[0]), n(B, z.formatUnits(d[1], V)), N = (c = (r = (s = d[3]) === null || s === void 0 ? void 0 : s.nativeCurrency) === null || r === void 0 ? void 0 : r.decimals) !== null && c !== void 0 ? c : 18, n(C, parseFloat(z.formatUnits(d[2], N)).toFixed(4)), n(D, (m = (y = (u = d[3]) === null || u === void 0 ? void 0 : u.nativeCurrency) === null || y === void 0 ? void 0 : y.symbol) !== null && m !== void 0 ? m : "ETH"), n(f, e(g));
|
|
300
|
+
});
|
|
301
|
+
h(() => (U(), H()), () => {
|
|
302
|
+
U().chainId && H() && le();
|
|
303
|
+
}), h(() => e(a), () => {
|
|
304
|
+
n(E, !!z.isAddress(e(a)));
|
|
305
|
+
}), h(
|
|
306
|
+
() => (e(T), e(l), e(E), e(f), e(g), e(B), e(D), e(C)),
|
|
307
|
+
() => {
|
|
308
|
+
n(M, e(T) || !e(l) || !e(E) || e(f) === e(g) && e(l) > +e(B) || e(f) === e(D) && e(l) > +e(C));
|
|
309
|
+
}
|
|
310
|
+
), Ie(), ke();
|
|
311
|
+
{
|
|
312
|
+
let s = X(() => (U(), e(L), e(B), e(E), x(he), x(Ce), e(f), e(g), e(D), e(l), e(C), e(T), e(M), J(), oe(() => ({
|
|
313
|
+
title: "Send stored value",
|
|
314
|
+
isNativeCurrecyTransferAllowed: U().transferTokens?.nativeCurrency !== !1,
|
|
315
|
+
isScannerHidden: e(L),
|
|
316
|
+
balance: e(B),
|
|
317
|
+
chainId: I.chainId,
|
|
318
|
+
isRecipientAddressValid: e(E),
|
|
319
|
+
onScannerClicked: te,
|
|
320
|
+
onSendTokens: ne,
|
|
321
|
+
onBackClicked: () => he.set(Ce.WALLET),
|
|
322
|
+
onChangeCurrency: () => e(f) === e(g) ? n(f, e(D)) : n(f, e(g)),
|
|
323
|
+
onSetMaxAmount: () => e(f) === e(g) ? n(l, +e(B)) : n(l, +e(C)),
|
|
324
|
+
isLoading: e(T),
|
|
325
|
+
isSubmitDisabled: e(M),
|
|
326
|
+
credAlias: J()?.ui_settings.cred_alias,
|
|
327
|
+
activeCurrency: e(f),
|
|
328
|
+
symbol: e(g),
|
|
329
|
+
nativeSymbol: e(D),
|
|
330
|
+
nativeBalance: e(C)
|
|
331
|
+
}))));
|
|
332
|
+
Le(q, {
|
|
333
|
+
get options() {
|
|
334
|
+
return e(s);
|
|
335
|
+
},
|
|
336
|
+
get recipientAddress() {
|
|
337
|
+
return e(a);
|
|
338
|
+
},
|
|
339
|
+
set recipientAddress(r) {
|
|
340
|
+
n(a, r);
|
|
341
|
+
},
|
|
342
|
+
get amount() {
|
|
343
|
+
return e(l);
|
|
344
|
+
},
|
|
345
|
+
set amount(r) {
|
|
346
|
+
n(l, r);
|
|
347
|
+
},
|
|
348
|
+
$$legacy: !0
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
var Q = Pe({
|
|
352
|
+
$set: Te,
|
|
353
|
+
$on: (s, r) => Be(R, s, r)
|
|
354
|
+
});
|
|
355
|
+
return de(), Q;
|
|
356
|
+
}
|
|
357
|
+
export {
|
|
358
|
+
it as default
|
|
359
|
+
};
|
|
360
|
+
//# sourceMappingURL=SendTokens-BIN9i14X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SendTokens-BIN9i14X.js","sources":["../../ui/main/send-tokens/SendTokens.svelte","../src/app/pages/send-tokens/SendTokens.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ScanIcon from \"../../images/scanner.svg\";\n import { clientPublicStore } from \"../../../stores\";\n\n export let recipientAddress: string;\n export let amount: number | undefined;\n\n export let options: {\n title: string;\n isScannerHidden: boolean;\n balance: string;\n chainId?: string;\n isRecipientAddressValid: boolean;\n onScannerClicked: () => void;\n onSendTokens: () => void;\n onBackClicked: () => void;\n onChangeCurrency: () => void;\n onSetMaxAmount: () => void;\n isLoading: boolean;\n isSubmitDisabled: boolean;\n credAlias: string;\n activeCurrency: string;\n symbol: string;\n nativeSymbol: string;\n nativeBalance: string;\n isNativeCurrecyTransferAllowed?: boolean;\n };\n\n let {\n onChangeCurrency,\n onSetMaxAmount,\n onBackClicked,\n onSendTokens,\n title,\n chainId,\n onScannerClicked,\n isNativeCurrecyTransferAllowed = true\n } = options;\n\n $: balance = options.balance;\n $: isLoading = options.isLoading;\n $: isSubmitDisabled = options.isSubmitDisabled;\n $: isRecipientAddressValid = options.isRecipientAddressValid;\n $: isScannerHidden = options.isScannerHidden;\n $: activeCurrency = options.activeCurrency;\n $: nativeSymbol = options.nativeSymbol;\n $: nativeBalance = options.nativeBalance;\n\n const round = (num: number) => Math.floor(num * 100) / 100\n</script>\n\n<ContentHeader\n text={title}\n description={isScannerHidden\n ? ``\n : \"Scan Passport Id\"}\n/>\n<div class=\"crtw-w-full crtw-p-0 crtw-relative\">\n <div\n id=\"cpuiCredScanner\"\n class=\"crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg\"\n class:crtw-hidden={isScannerHidden}\n class:crtw-z-[-1]={isScannerHidden}\n ></div>\n {#if chainId}\n <div>ChainId: <span class=\"crtw-font-bold\">{chainId}</span></div>\n {/if}\n <div>\n Your balance: \n <span class=\"crtw-font-bold\">\n {#if isNativeCurrecyTransferAllowed}\n {round(+nativeBalance)} {nativeSymbol} / \n {/if}\n\n {round(+balance)} ${$clientPublicStore?.ui_settings.cred_alias || 'cred'}\n </span>\n </div>\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <div class=\"crtw-flex crtw-flex-col crtw-w-full\">\n <Input\n name=\"recipientAddress\"\n type=\"text\"\n placeholder=\"Address 0x...\"\n bind:value={recipientAddress}\n />\n {#if recipientAddress && !isRecipientAddressValid}\n <label\n class=\"crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message\"\n for=\"recipientAddress\">Provided address is not valid.</label\n >\n {/if}\n </div>\n\n <div class=\"crtw-ml-2.5 crtw-cursor-pointer\">\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->\n <img\n src={ScanIcon}\n on:click={onScannerClicked}\n width=\"53px\"\n alt=\"\"\n class=\"crtw-h-[53px]\"\n />\n </div>\n </div>\n\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <Input\n type=\"number\"\n min=\"0\"\n step=\"0.001\"\n placeholder={`${activeCurrency} amount`}\n bind:value={amount}\n />\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button onClick={onSetMaxAmount} text={`MAX`} disabled={+balance <= 0} />\n </div>\n\n {#if isNativeCurrecyTransferAllowed}\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button\n onClick={onChangeCurrency}\n text={activeCurrency}\n disabled={!activeCurrency}\n />\n </div>\n {/if}\n </div>\n <Button\n onClick={onSendTokens}\n text={`Send ${amount || \"\"} ${activeCurrency}`}\n {isLoading}\n disabled={isSubmitDisabled}\n />\n</div>\n<div class=\"crtw-mt-0.5 crtw-mb-3 crtw-w-full\">\n <ButtonBack onClick={onBackClicked} />\n</div>\n","<script lang=\"ts\">\n import { ethers } from '@credenza3/core-web-evm-ext'\n import { get } from 'svelte/store'\n import { type Scanner } from '@credenza3/scanner-lib'\n\n import { clientPublicStore, fn, pageOptsStore, pageStore } from '@packages/stores'\n import { dispatch, once, PassportEvents } from '@lib/events/events'\n import { Pages } from '@packages/utils/enums'\n import { getTxScanAddress } from '@src/lib/tx/tx'\n import { SendTokens } from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n import type { TEvmContract } from '@packages/utils/types'\n import { providerStore } from '@src/stores'\n import { getUserAddressBySub } from '@src/Passport.service'\n\n const config = get(configStore)\n const { sendTokens, getCREDContract, toastAlert } = get(fn)\n\n let userAddress = ''\n let recipientAddress = ''\n let amount: number | undefined\n\n let activeCurrency = ''\n\n let decimals = 18\n let symbol = '-'\n let balance = ''\n\n let nativeDecimals = 18\n let nativeSymbol = '-'\n let nativeBalance = ''\n\n let isScannerHidden = true\n let isLoading = false\n\n let contract: ethers.Contract\n let signer: ethers.JsonRpcSigner\n let scanner: Scanner\n\n const onScannerClicked = async () => {\n const { Scanner } = await import('@credenza3/scanner-lib')\n scanner = new Scanner({ target: '#cpuiCredScanner' })\n once(PassportEvents.UI_CLOSED, scanner.close)\n await scanner.scan()\n scanner.on(Scanner.events.CAPTURE, async ({ sub }: { sub: string }) => {\n const { address } = await getUserAddressBySub(sub)\n recipientAddress = address\n scanner.close()\n })\n scanner.on(Scanner.events.CANCEL, () => (isScannerHidden = true))\n scanner.on(Scanner.events.ERROR, (err) => {\n const message = err?.message || err\n if (message.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n isScannerHidden = true\n })\n isScannerHidden = false\n }\n\n const sendTokensToRecipient = async () => {\n const isTCRED = activeCurrency === symbol\n isLoading = true\n try {\n const weiBn = ethers.parseUnits(String(amount), isTCRED ? decimals : nativeDecimals)\n const result = (await sendTokens({\n address: recipientAddress,\n amount: weiBn,\n instance: isTCRED ? contract : undefined,\n })) as { hash: string; wait: () => Promise<void> }\n toastAlert(\n `<a href=\"${getTxScanAddress(result.hash)}\" target=\"_blank\">Send TX</a> was created`,\n )\n recipientAddress = ''\n amount = undefined\n\n const [weiBalance, weiNativeBalance] = await Promise.all([\n contract.balanceOf(userAddress),\n signer.provider.getBalance(userAddress),\n ])\n\n balance = ethers.formatUnits(weiBalance, decimals)\n nativeBalance = parseFloat(ethers.formatUnits(weiNativeBalance, nativeDecimals)).toFixed(4)\n dispatch(PassportEvents.RECHECK_BALANCE, [result.hash])\n } catch (err) {\n toastAlert(err?.message || err || 'An error occurred while sending tokens', 'failure')\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n }\n\n const init = async () => {\n const pageOpts = get(pageOptsStore)\n recipientAddress = pageOpts?.to || ''\n amount = pageOpts?.amount || undefined\n const { decimals: contractDecimals, contract: credContract } = (await getCREDContract()) as TEvmContract\n decimals = contractDecimals\n contract = credContract\n const provider = get(providerStore)\n if(!provider) return\n signer = await provider.getSigner()\n userAddress = await getAddress()\n const results = await Promise.all([\n contract.symbol(),\n contract.balanceOf(userAddress),\n provider.getBalance(userAddress),\n fetch('https://chainid.network/chains.json')\n .then((result) => result.json())\n .then((networks) =>\n networks.find((network: { chainId: number }) => String(network.chainId) === config.chainId),\n ),\n ])\n symbol = results[0]\n balance = ethers.formatUnits(results[1], decimals)\n nativeDecimals = results[3]?.nativeCurrency?.decimals ?? 18\n nativeBalance = parseFloat(ethers.formatUnits(results[2], nativeDecimals)).toFixed(4)\n nativeSymbol = results[3]?.nativeCurrency?.symbol ?? 'ETH'\n activeCurrency = symbol\n }\n\n $: $configStore.chainId && $providerStore && init()\n $: isRecipientAddressValid = !!ethers.isAddress(recipientAddress)\n $: isSubmitDisabled =\n isLoading ||\n !amount ||\n !isRecipientAddressValid ||\n (activeCurrency === symbol && amount > +balance) ||\n (activeCurrency === nativeSymbol && amount > +nativeBalance)\n</script>\n\n<SendTokens\n bind:recipientAddress\n bind:amount\n options={{\n title: `Send stored value`,\n isNativeCurrecyTransferAllowed: $configStore.transferTokens?.nativeCurrency !== false,\n isScannerHidden,\n balance,\n chainId: config.chainId,\n isRecipientAddressValid,\n onScannerClicked,\n onSendTokens: sendTokensToRecipient,\n onBackClicked: () => pageStore.set(Pages.WALLET),\n onChangeCurrency: () => (activeCurrency === symbol ? (activeCurrency = nativeSymbol) : (activeCurrency = symbol)),\n onSetMaxAmount: () => (activeCurrency === symbol ? (amount = +balance) : (amount = +nativeBalance)),\n isLoading,\n isSubmitDisabled,\n credAlias: $clientPublicStore?.ui_settings.cred_alias,\n activeCurrency,\n symbol,\n nativeSymbol,\n nativeBalance,\n }}\n/>\n"],"names":["recipientAddress","$.prop","$$props","options","onChangeCurrency","onSetMaxAmount","onBackClicked","onSendTokens","title","chainId","onScannerClicked","isNativeCurrecyTransferAllowed","round","num","isLoading","isSubmitDisabled","isRecipientAddressValid","isScannerHidden","activeCurrency","nativeSymbol","nativeBalance","$0","$.derived_safe_equal","$.get","$$render","consequent","$.untrack","consequent_1","$$value","$clientPublicStore","ScanIcon","balance","__awaiter","thisArg","_arguments","P","generator","config","get","configStore","sendTokens","getCREDContract","toastAlert","fn","userAddress","amount","$.mutable_source","decimals","symbol","nativeDecimals","contract","signer","scanner","Scanner","once","PassportEvents","_a","sub","address","getUserAddressBySub","$.set","sendTokensToRecipient","isTCRED","weiBn","ethers","result","getTxScanAddress","weiBalance","weiNativeBalance","dispatch","err","init","pageOpts","pageOptsStore","contractDecimals","credContract","provider","providerStore","getAddress","networks","network","_c","_b","results","_f","_e","_d","$configStore","$providerStore","pageStore","Pages"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as k, p as R, f as E, b as C, d as q, u as O, h as T, n as j, o as w } from "./legacy-
|
|
2
|
-
import { z, x as y, E as $, y as B, u as A, N as x, Q as F, J, Z as N, a1 as Q, bc as U, R as W, M as Z } from "./index-
|
|
3
|
-
import { C as G } from "./App-
|
|
4
|
-
import { C as I } from "./ContentHeader-
|
|
5
|
-
import { B as b } from "./Button-
|
|
1
|
+
import { c as k, p as R, f as E, b as C, d as q, u as O, h as T, n as j, o as w } from "./legacy-emYZq_hG.js";
|
|
2
|
+
import { z, x as y, E as $, y as B, u as A, N as x, Q as F, J, Z as N, a1 as Q, bc as U, R as W, M as Z } from "./index-DNQhfOgj.js";
|
|
3
|
+
import { C as G } from "./App-CanFU0id.js";
|
|
4
|
+
import { C as I } from "./ContentHeader-Ch9zGhC2.js";
|
|
5
|
+
import { B as b } from "./Button-CxIvDvFK.js";
|
|
6
6
|
var K = E("<!> <!>", 1), L = E("<!> <!>", 1);
|
|
7
7
|
function D(i, r) {
|
|
8
8
|
if (new.target) return k({ component: D, ...i });
|
|
@@ -108,4 +108,4 @@ function P(i, r) {
|
|
|
108
108
|
export {
|
|
109
109
|
P as default
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=Sign-
|
|
111
|
+
//# sourceMappingURL=Sign-CNg2p87X.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sign-
|
|
1
|
+
{"version":3,"file":"Sign-CNg2p87X.js","sources":["../../ui/main/passport-id/Sign.svelte","../src/app/pages/sign/Sign.svelte"],"sourcesContent":["<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n title: string;\n description: string;\n onConfirm: () => Promise<void>;\n onCancel: () => void;\n };\n\n let { title, description, onConfirm, onCancel } = options;\n</script>\n\n<ContentHeader text={title} {description} />\n\n<Container class=\"crtw-flex crtw-justify-between crtw-gap-10\">\n <Button text=\"Cancel\" onClick={onCancel}></Button>\n <Button text=\"Sign the message\" onClick={onConfirm} />\n</Container>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { fn } from '@packages/stores'\n import { Sign } from '@packages/ui'\n import { pageOptsStore } from '@packages/stores'\n import { providerStore, configStore } from '@src/stores'\n import socketFn from '@lib/ws/socket-io'\n\n const { close } = get(fn)\n\n const handleSignTransaction = async () => {\n const provider = get(providerStore)\n if(!provider) return\n const signer = await provider.getSigner()\n const signature = await signer.signMessage($pageOptsStore.message)\n socketFn.signDataAndEmitEvent($configStore.credenza.generalWssUrl, signature, $pageOptsStore.socketEventDataHeaders)\n close()\n }\n</script>\n\n<Sign\n options={{\n title: 'Sign Transaction Request',\n description: 'Please sign the requested transaction.',\n onCancel: close,\n onConfirm: handleSignTransaction,\n }}\n/>\n"],"names":["options","$.prop","$$props","title","description","onConfirm","onCancel","__awaiter","thisArg","_arguments","P","generator","handleSignTransaction","provider","get","providerStore","signature","$pageOptsStore","socketFn","$configStore","close"],"mappings":";;;;;;iBAAA;;;MAaQA,IAKLC,EAAAC,GAAA,WAAA,EAAA,GAED,EAAA,OAAAC,GAAS,aAAAC,GAAA,WAAAC,GAAA,UAAAC,EAAA,IAAAN,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCpBX;;;;AAAiB,MAAAO,IAAA,QAAA,KAAA,aAAA,SAAAC,GAAAC,GAAAC,GAAAC,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAERC,IAAY,MAAkBL,EAAA,QAAA,QAAA,QAAA,aAAA;UAC5BM,IAAYC,EAAAC,CAAc;SAC5BF,EAAE;AAEF,UAAAG,WADE,MAAeH,EAAA,UAAmB,GACrB,YAAmBI,EAAA,EAAA,OAAA;AAEzC,IAAAC,EAAa,qBAAYC,IAAA,SAAA,eAAAH,GAAAC,EAAA,EAAA,sBAAA,GAEzBG,EAAM;AAAA,EACJ,CAAA;;;;MAIA,OAAA;AAAA,MACA,aAAO;AAAA,MACR,UAAAA;AAAA,MACD,WAAMR;AAAA;;;;;;;;;;;;AANJ;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as a, R as y, M as h, bd as g, O as _, P as b, bM as u, b9 as k, a2 as P, bq as f } from "./index-
|
|
2
|
-
import { g as O, r as w } from "./Payment-
|
|
1
|
+
import { N as a, R as y, M as h, bd as g, O as _, P as b, bM as u, b9 as k, a2 as P, bq as f } from "./index-DNQhfOgj.js";
|
|
2
|
+
import { g as O, r as w } from "./Payment-DmFa9B8g.js";
|
|
3
3
|
const I = async (r) => {
|
|
4
4
|
const t = a(y), s = t.licenses?.map(
|
|
5
5
|
({
|
|
@@ -68,4 +68,4 @@ const I = async (r) => {
|
|
|
68
68
|
export {
|
|
69
69
|
D as processPayment
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=Stripe.service-
|
|
71
|
+
//# sourceMappingURL=Stripe.service-NHf-uI1F.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stripe.service-
|
|
1
|
+
{"version":3,"file":"Stripe.service-NHf-uI1F.js","sources":["../src/app/pages/payment/order.service.ts","../src/app/pages/payment/stripe/Stripe.service.ts"],"sourcesContent":["import { get } from 'svelte/store'\nimport { pageOptsStore, accessTokenStore } from '@packages/stores'\nimport { requestReceipt } from './Payment.service'\nimport { attachMetadataToItems } from '@src/passport/blockchain'\nimport { configStore } from '@src/stores/config'\nimport { PassportEvents, dispatch } from '@lib/events/events'\nimport { getCompmletedOrderDetails } from '@lib/orders'\nimport { type TPaymentReturn } from '@packages/utils/types'\nimport type { TMembershipPaymentData, TBasicPaymentData, TTokenPaymentData, TLicensePaymentData } from './oders.types'\n\n\nexport const createOrder = async (body: TBasicPaymentData): Promise<string> => {\n const paymentOpts = get(pageOptsStore)\n\n const licensesPaymentData: TLicensePaymentData[] = paymentOpts.licenses?.map(\n ({\n contentTokenId,\n licenseContractAddress,\n licenseType,\n }: {\n contentTokenId: number\n licenseContractAddress: string\n licenseType: number\n }) => ({\n contract_address: licenseContractAddress,\n content_token_id: +contentTokenId,\n license_type: +licenseType,\n }),\n ) || []\n\n const tokensPaymentData: TTokenPaymentData[] =\n paymentOpts.tokens?.map(\n ({\n contractAddress,\n tokenId,\n amount,\n }: {\n contractAddress: string\n tokenId: number\n amount: string | number\n }) => ({\n contract_address: contractAddress,\n token_id: +tokenId,\n amount,\n }),\n ) || []\n\n const membershipsPaymentData: TMembershipPaymentData[] =\n paymentOpts.memberships?.map(({ contractAddress }: { contractAddress: string }) => ({\n contract_address: contractAddress,\n })) || []\n\n const payload = {\n ...body,\n tokens: tokensPaymentData,\n memberships: membershipsPaymentData,\n licenses: licensesPaymentData\n }\n\n\n const config = get(configStore)\n const res = await fetch(config.credenza.evmApiUrl + '/contracts/buy-assets', {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: 'POST',\n body: JSON.stringify(payload),\n })\n if (!res.ok) throw new Error('Failed to create order')\n const { _id }: { _id: string } = await res.json()\n\n return _id\n}\n\nexport const processOrder = async (orderId: string): Promise<TPaymentReturn> => {\n const config = get(configStore)\n const paymentOpts = get(pageOptsStore)\n\n const data = (await getCompmletedOrderDetails(config.credenza.generalApiUrl, orderId)) as TPaymentReturn\n\n if (data.payment_provider_tx) {\n await requestReceipt({\n stripeChargeId: data.payment_provider_tx,\n title: paymentOpts.title,\n subtitle: paymentOpts.subtitle,\n })\n dispatch(PassportEvents.RECEIPT, { stripeChargeId: data.payment_provider_tx })\n }\n \n await attachMetadataToItems(data.items)\n return data\n}","import { get } from 'svelte/store'\nimport { userStore, pageOptsStore } from '@packages/stores'\nimport { getAddress } from '@src/passport/blockchain'\nimport { configStore } from '@src/stores/config'\nimport { getClientConfigByClientId } from '@lib/clients'\nimport { processOrder, createOrder } from '../order.service'\nimport type { TBasicPaymentData } from '../oders.types'\n\n\nexport const processPayment = async (stripeTokenId: string) => {\n const config = get(configStore)\n const paymentOpts = get(pageOptsStore)\n const user = get(userStore)\n const userAddress = await getAddress()\n\n const email = user?.email || user?.pending?.email\n const phone = user?.phone || user?.pending?.phone\n const description =\n 'Passport Payment: ' +\n `(${JSON.stringify({\n ...paymentOpts.tokens,\n ...paymentOpts.memberships,\n ...paymentOpts.licenses,\n userAddress,\n chainId: config.chainId,\n email,\n phone,\n })})`\n\n const clientName = getClientConfigByClientId(config.clientId).name\n const stripePK = config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT\n const basicPaymentData: TBasicPaymentData = {\n card_token: stripePK.includes('pk_live') ? stripeTokenId : 'tok_visa',\n client: clientName,\n description,\n address: userAddress,\n chain_id: Number(config.chainId),\n currency: 'USD',\n }\n\n const order = await createOrder(basicPaymentData)\n return await processOrder(order)\n}\n"],"names":["createOrder","body","paymentOpts","get","pageOptsStore","licensesPaymentData","contentTokenId","licenseContractAddress","licenseType","tokensPaymentData","contractAddress","tokenId","amount","membershipsPaymentData","payload","config","configStore","res","accessTokenStore","_id","processOrder","orderId","data","getCompmletedOrderDetails","requestReceipt","dispatch","PassportEvents","attachMetadataToItems","processPayment","stripeTokenId","user","userStore","userAddress","getAddress","email","phone","description","clientName","getClientConfigByClientId","basicPaymentData","order"],"mappings":";;AAWO,MAAMA,IAAc,OAAOC,MAA6C;AAC7E,QAAMC,IAAcC,EAAIC,CAAa,GAE/BC,IAA6CH,EAAY,UAAU;AAAA,IACrE,CAAC;AAAA,MACC,gBAAAI;AAAA,MACA,wBAAAC;AAAA,MACA,aAAAC;AAAA,IAAA,OAKK;AAAA,MACL,kBAAkBD;AAAA,MAClB,kBAAkB,CAACD;AAAA,MACnB,cAAc,CAACE;AAAA,IAAA;AAAA,EACjB,KACG,CAAA,GAEDC,IACJP,EAAY,QAAQ;AAAA,IAClB,CAAC;AAAA,MACC,iBAAAQ;AAAA,MACA,SAAAC;AAAA,MACA,QAAAC;AAAA,IAAA,OAKK;AAAA,MACL,kBAAkBF;AAAA,MAClB,UAAU,CAACC;AAAA,MACX,QAAAC;AAAA,IAAA;AAAA,EACF,KACG,CAAA,GAEDC,IACJX,EAAY,aAAa,IAAI,CAAC,EAAE,iBAAAQ,SAAoD;AAAA,IAClF,kBAAkBA;AAAA,EAAA,EAClB,KAAK,CAAA,GAEHI,IAAU;AAAA,IACd,GAAGb;AAAA,IACH,QAAQQ;AAAA,IACR,aAAaI;AAAA,IACb,UAAUR;AAAA,EAAA,GAINU,IAASZ,EAAIa,CAAW,GACxBC,IAAM,MAAM,MAAMF,EAAO,SAAS,YAAY,yBAAyB;AAAA,IAC3E,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,eAAe,UAAUZ,EAAIe,CAAgB,CAAC;AAAA,IAAA;AAAA,IAEhD,QAAQ;AAAA,IACR,MAAM,KAAK,UAAUJ,CAAO;AAAA,EAAA,CAC7B;AACD,MAAI,CAACG,EAAI,GAAI,OAAM,IAAI,MAAM,wBAAwB;AACrD,QAAM,EAAE,KAAAE,EAAA,IAAyB,MAAMF,EAAI,KAAA;AAE3C,SAAOE;AACT,GAEaC,IAAe,OAAOC,MAA6C;AAC9E,QAAMN,IAASZ,EAAIa,CAAW,GACxBd,IAAcC,EAAIC,CAAa,GAE/BkB,IAAQ,MAAMC,EAA0BR,EAAO,SAAS,eAAeM,CAAO;AAEpF,SAAIC,EAAK,wBACP,MAAME,EAAe;AAAA,IACnB,gBAAgBF,EAAK;AAAA,IACrB,OAAOpB,EAAY;AAAA,IACnB,UAAUA,EAAY;AAAA,EAAA,CACvB,GACDuB,EAASC,EAAe,SAAS,EAAE,gBAAgBJ,EAAK,qBAAqB,IAG/E,MAAMK,EAAsBL,EAAK,KAAK,GAC/BA;AACT,GCnFaM,IAAiB,OAAOC,MAA0B;AAC7D,QAAMd,IAASZ,EAAIa,CAAW,GACxBd,IAAcC,EAAIC,CAAa,GAC/B0B,IAAO3B,EAAI4B,CAAS,GACpBC,IAAc,MAAMC,EAAA,GAEpBC,IAAQJ,GAAM,SAASA,GAAM,SAAS,OACtCK,IAAQL,GAAM,SAASA,GAAM,SAAS,OACtCM,IACJ,sBACI,KAAK,UAAU;AAAA,IACjB,GAAGlC,EAAY;AAAA,IACf,GAAGA,EAAY;AAAA,IACf,GAAGA,EAAY;AAAA,IACf,aAAA8B;AAAA,IACA,SAASjB,EAAO;AAAA,IAChB,OAAAmB;AAAA,IACA,OAAAC;AAAA,EAAA,CACD,CAAC,KAEEE,IAAaC,EAA0BvB,EAAO,QAAQ,EAAE,MAExDwB,IAAsC;AAAA,IAC1C,aAFexB,EAAO,OAAO,GAAGsB,CAAU,KAAKtB,EAAO,OAAO,GAAG,SAE3C,SAAS,SAAS,IAAIc,IAAgB;AAAA,IAC3D,QAAQQ;AAAA,IACR,aAAAD;AAAA,IACA,SAASJ;AAAA,IACT,UAAU,OAAOjB,EAAO,OAAO;AAAA,IAC/B,UAAU;AAAA,EAAA,GAGNyB,IAAQ,MAAMxC,EAAYuC,CAAgB;AAChD,SAAO,MAAMnB,EAAaoB,CAAK;AACjC;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { c as ee, m as Ee, p as h, h as fe, f as A, i as J, w as me, r as X, b as D, k as Pe, e as Se, d as te, u as ae, t as Ce, o as ge, n as De } from "./legacy-
|
|
2
|
-
import { o as Ie } from "./index-client-
|
|
3
|
-
import { z as re, B as U, E as C, C as B, D as Q, G as Z, A as Y, J as e, y as ne, u as w, I as s, m as x, v as _e, w as be, x as ie, F as se, N as pe, Q as Ve, b9 as ke, b8 as M, ba as oe, Z as Ue, M as Be, V as de, T as Ae } from "./index-
|
|
1
|
+
import { c as ee, m as Ee, p as h, h as fe, f as A, i as J, w as me, r as X, b as D, k as Pe, e as Se, d as te, u as ae, t as Ce, o as ge, n as De } from "./legacy-emYZq_hG.js";
|
|
2
|
+
import { o as Ie } from "./index-client-la_93dBE.js";
|
|
3
|
+
import { z as re, B as U, E as C, C as B, D as Q, G as Z, A as Y, J as e, y as ne, u as w, I as s, m as x, v as _e, w as be, x as ie, F as se, N as pe, Q as Ve, b9 as ke, b8 as M, ba as oe, Z as Ue, M as Be, V as de, T as Ae } from "./index-DNQhfOgj.js";
|
|
4
4
|
import { v as he, P as Re } from "./validation-DaZvZUPL.js";
|
|
5
|
-
import { C as ze } from "./App-
|
|
6
|
-
import { L as ue } from "./Label-
|
|
7
|
-
import { I as ve } from "./Input-
|
|
8
|
-
import { B as Le } from "./ButtonBack-
|
|
9
|
-
import { B as Ne } from "./Button-
|
|
10
|
-
import { e as Oe, i as Te } from "./each-
|
|
5
|
+
import { C as ze } from "./App-CanFU0id.js";
|
|
6
|
+
import { L as ue } from "./Label-CeKxLCHz.js";
|
|
7
|
+
import { I as ve } from "./Input-Cgo8a7CN.js";
|
|
8
|
+
import { B as Le } from "./ButtonBack-DSwOaTcC.js";
|
|
9
|
+
import { B as Ne } from "./Button-CxIvDvFK.js";
|
|
10
|
+
import { e as Oe, i as Te } from "./each-9VZsbwex.js";
|
|
11
11
|
var Fe = A('<label class="crtw-font-medium" for="credenzaSelect"> </label>'), je = A("<option> </option>"), $e = A("<option> </option>"), qe = A('<div><!> <select name="credenzaSelect"><!><!></select></div>');
|
|
12
12
|
const Ge = {
|
|
13
13
|
hash: "svelte-1dzo0ix",
|
|
@@ -522,4 +522,4 @@ function Ye(I, n) {
|
|
|
522
522
|
export {
|
|
523
523
|
Ye as default
|
|
524
524
|
};
|
|
525
|
-
//# sourceMappingURL=UpdateProfile-
|
|
525
|
+
//# sourceMappingURL=UpdateProfile-Em1EcHJp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateProfile-BkzMoTSd.js","sources":["../../ui/main/shared/inputs/select/Select.svelte","../../ui/main/shared/inputs/phone/PhoneInput.constants.ts","../../ui/main/shared/inputs/phone/PhoneInput.svelte","../../ui/main/update-profile/UpdateProfile.svelte","../src/app/pages/update-profile/UpdateProfile.svelte"],"sourcesContent":["<style>\n .simple {\n background-image: none;\n padding: 0 10px;\n text-align: center; \n }\n .simple:focus {\n background-image: none;\n }\n</style>\n\n<script lang=\"ts\">\n export let options: { value: string; name?: string }[]\n export let placeholder: string | undefined = undefined\n export let label: string | undefined = undefined\n export let selected: string | undefined = undefined\n export let onChange: undefined | ((...args: unknown[]) => unknown) = undefined\n export let simple: boolean = false\n export let disabled: boolean = false\n\n const handleChange = (e: Event) => {\n const target = e.target as HTMLSelectElement\n if (selected !== undefined) selected = target.value\n if (onChange) onChange(e)\n }\n</script>\n\n<div>\n {#if label}\n <label class=\"crtw-font-medium\" for=\"credenzaSelect\">{label}</label>\n {/if}\n <select\n class=\"crtw-w-full crtw-h-[53px] crtw-px-5 crtw-appearance-none crtw-text-base crtw-rounded crtw-border crtw-border-gray-300\n crtw-cursor-pointer crtw-text-gray-500 focus:crtw-outline-none focus:crtw-border-blue-900 focus:crtw-text-blue-900\n {simple ? 'simple' : ''}\"\n name=\"credenzaSelect\"\n on:change={handleChange}\n {disabled}\n >\n {#if placeholder}\n <option disabled={true} selected={!selected} hidden={true}>{placeholder}</option>\n {/if}\n {#each options as item}\n <option value={item.value} selected={selected === item.value}> {item.name ?? item.value} </option>\n {/each}\n </select>\n</div>\n","export const countryCodes = [\n { value: '+1', name: 'US/CA +1' },\n { value: '+49', name: 'DE +49' },\n { value: '+33', name: 'FR +33' },\n { value: '+44', name: 'UK +44' },\n { value: '+380', name: 'UA +380' },\n { value: '+48', name: 'PL +48' },\n { value: '+233', name: 'GH +233' },\n]\n","<script lang=\"ts\">\n import Select from '../select/Select.svelte'\n import Input from '../input/Input.svelte'\n import { PHONE_PATTERN, validate } from '../../../../../utils/lib/validation/validation'\n import { countryCodes } from './PhoneInput.constants'\n\n export let phone: string\n export let isValid: boolean = true\n export let disabled: boolean = false\n\n let selectedCountryCode: string = countryCodes[0].value\n let number: number | null\n\n if (phone) {\n for (const countryCode of countryCodes) {\n if (phone.indexOf(countryCode.value) === 0) {\n number = parseInt(phone.slice(countryCode.value.length))\n selectedCountryCode = countryCode.value\n break\n }\n }\n }\n\n $: {\n isValid = !number || validate(String(number), PHONE_PATTERN)\n isValid && selectedCountryCode && number ? (phone = selectedCountryCode + String(number).trim()) : ''\n }\n</script>\n\n<div class=\"crtw-flex crtw-justify-center crtw-flex-row\">\n <div class=\"crtw-w-40 crtw-mr-0.5\">\n <Select options={countryCodes} simple bind:selected={selectedCountryCode} {disabled} />\n </div>\n <Input\n type=\"number\"\n min=\"0\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n placeholder=\"Phone Number\"\n bind:value={number}\n name=\"phone\"\n {disabled}\n />\n</div>\n","<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import Label from \"../shared/inputs/input/Label.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import PhoneInput from \"../shared/inputs/phone/PhoneInput.svelte\";\n\n export let name: string;\n export let email: string;\n export let phone: string;\n export let isSubmitDisabled: boolean;\n export let error: string | null;\n export let isEmailInputValid: boolean;\n export let options: {\n isExtendedRegistration: boolean | undefined;\n onProfileUpdate: () => void;\n onBackClick: () => void;\n shouldShowBackButton: boolean;\n isEmailChangeDisabled: boolean;\n isPhoneChangeDisabled: boolean;\n };\n\n let {\n isExtendedRegistration,\n onProfileUpdate,\n onBackClick,\n shouldShowBackButton,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n } = options;\n</script>\n\n<Container class=\"crtw-flex crtw-justify-center crtw-flex-col crtw-gap-2.5\">\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"NameInput\"\n >First and last name\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"NameInput\"\n type=\"text\"\n placeholder=\"First and last name\"\n bind:value={name}\n name=\"name\"\n required={isExtendedRegistration}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"EmailInput\"\n >Email address\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"EmailInput\"\n type=\"email\"\n bind:isValid={isEmailInputValid}\n placeholder=\"Email address\"\n bind:value={email}\n name=\"email\"\n disabled={isEmailChangeDisabled}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"PhoneInput\">Phone number</Label>\n <PhoneInput bind:phone disabled={isPhoneChangeDisabled} />\n </div>\n\n <Button\n text=\"Update profile\"\n onClick={onProfileUpdate}\n disabled={isSubmitDisabled}\n />\n\n {#if error}\n <div class=\"crtw-text-xs crtw-text-[#990008]\">\n - {error}\n </div>\n {/if}\n\n {#if shouldShowBackButton}\n <div class=\"crtw-text-left crtw-mt-2.5 crtw-w-full\">\n <ButtonBack onClick={onBackClick} />\n </div>\n {/if}\n</Container>\n","<script lang=\"ts\">\n import { onDestroy } from 'svelte'\n import { get } from 'svelte/store'\n import { validate } from '@lib/validation/validation'\n import { fn, userStore, pageStore, forcedPageStore } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { UpdateProfile } from '@packages/ui'\n import { type TUser } from '@packages/utils/types'\n import { configStore } from '@src/stores/config'\n\n const { updateProfile, close, toastAlert } = get(fn)\n\n let email: string\n let name: string\n let phone: string\n\n let currentUser: TUser\n\n let isEmailChangeDisabled: boolean\n let isPhoneChangeDisabled: boolean\n let isSubmitDisabled: boolean\n\n const unsubscribeUserStore = userStore.subscribe((user) => {\n if (!user) {\n forcedPageStore.set(null)\n close()\n return\n }\n\n name = user.name || ''\n email = user.email || ''\n phone = user.phone || ''\n currentUser = user\n\n \n const isSocialLoginType =\n user.login_type !== 'credentials' && user.login_type !== 'passwordless'\n isEmailChangeDisabled = !!user.pending?.email || isSocialLoginType\n isPhoneChangeDisabled = !!user.pending?.phone || isSocialLoginType\n })\n\n let isLoading = false\n let isEmailValid: boolean = false\n let isEmailInputValid: boolean = true\n let isNameValid: boolean = true\n let error: string = ''\n\n const executeProfileUpdate = async () => {\n error = ''\n isLoading = true\n try {\n const newData = {\n ...(currentUser.email !== email ? { email } : {}),\n ...(currentUser.name !== name ? { name } : {}),\n ...(currentUser.phone !== phone ? { phone } : {}),\n }\n const updatedUser = await updateProfile(newData)\n forcedPageStore.set(null)\n\n toastAlert(\n 'Account has been updated successfully. Email or phone should be confirmed by entering one-time code.',\n 'success',\n )\n const page = get(pageStore)\n if (!updatedUser?.pending?.phone && !updatedUser?.pending?.email && (!page || page === Pages.UPDATE_PROFILE))\n close()\n } catch (err) {\n const errorText = err?.message || 'Error while updating your account details.'\n toastAlert(errorText, 'failure')\n error = errorText\n }\n isLoading = false\n }\n\n $: {\n isEmailValid = validate(email)\n isEmailInputValid = !email || isEmailValid\n\n $configStore.auth?.extendedRegistration && (isNameValid = !!name)\n\n isSubmitDisabled = isLoading || !isEmailInputValid || !isNameValid\n }\n\n onDestroy(unsubscribeUserStore)\n</script>\n\n<UpdateProfile\n bind:error\n bind:name\n bind:email\n bind:phone\n bind:isSubmitDisabled\n bind:isEmailInputValid\n options={{\n isExtendedRegistration: $configStore.auth?.extendedRegistration,\n onProfileUpdate: executeProfileUpdate,\n onBackClick: () => forcedPageStore.set(null),\n shouldShowBackButton: $forcedPageStore === Pages.UPDATE_PROFILE,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n }}\n/>\n"],"names":["options","$.prop","$$props","placeholder","label","selected","onChange","simple","disabled","handleChange","e","target","$$render","consequent","consequent_1","$.each","node_2","item","$.get","$.untrack","countryCodes","phone","selectedCountryCode","$.mutable_source","countryCode","number","isValid","validate","PHONE_PATTERN","$$value","name","email","isSubmitDisabled","error","isEmailInputValid","isExtendedRegistration","onProfileUpdate","onBackClick","shouldShowBackButton","isEmailChangeDisabled","isPhoneChangeDisabled","__awaiter","thisArg","_arguments","P","generator","updateProfile","close","toastAlert","get","fn","currentUser","unsubscribeUserStore","userStore","user","forcedPageStore","$.set","isSocialLoginType","_a","_b","isLoading","isEmailValid","isNameValid","newData","updatedUser","page","pageStore","Pages","err","errorText","onDestroy","$.safe_get"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpdateProfile-Em1EcHJp.js","sources":["../../ui/main/shared/inputs/select/Select.svelte","../../ui/main/shared/inputs/phone/PhoneInput.constants.ts","../../ui/main/shared/inputs/phone/PhoneInput.svelte","../../ui/main/update-profile/UpdateProfile.svelte","../src/app/pages/update-profile/UpdateProfile.svelte"],"sourcesContent":["<style>\n .simple {\n background-image: none;\n padding: 0 10px;\n text-align: center; \n }\n .simple:focus {\n background-image: none;\n }\n</style>\n\n<script lang=\"ts\">\n export let options: { value: string; name?: string }[]\n export let placeholder: string | undefined = undefined\n export let label: string | undefined = undefined\n export let selected: string | undefined = undefined\n export let onChange: undefined | ((...args: unknown[]) => unknown) = undefined\n export let simple: boolean = false\n export let disabled: boolean = false\n\n const handleChange = (e: Event) => {\n const target = e.target as HTMLSelectElement\n if (selected !== undefined) selected = target.value\n if (onChange) onChange(e)\n }\n</script>\n\n<div>\n {#if label}\n <label class=\"crtw-font-medium\" for=\"credenzaSelect\">{label}</label>\n {/if}\n <select\n class=\"crtw-w-full crtw-h-[53px] crtw-px-5 crtw-appearance-none crtw-text-base crtw-rounded crtw-border crtw-border-gray-300\n crtw-cursor-pointer crtw-text-gray-500 focus:crtw-outline-none focus:crtw-border-blue-900 focus:crtw-text-blue-900\n {simple ? 'simple' : ''}\"\n name=\"credenzaSelect\"\n on:change={handleChange}\n {disabled}\n >\n {#if placeholder}\n <option disabled={true} selected={!selected} hidden={true}>{placeholder}</option>\n {/if}\n {#each options as item}\n <option value={item.value} selected={selected === item.value}> {item.name ?? item.value} </option>\n {/each}\n </select>\n</div>\n","export const countryCodes = [\n { value: '+1', name: 'US/CA +1' },\n { value: '+49', name: 'DE +49' },\n { value: '+33', name: 'FR +33' },\n { value: '+44', name: 'UK +44' },\n { value: '+380', name: 'UA +380' },\n { value: '+48', name: 'PL +48' },\n { value: '+233', name: 'GH +233' },\n]\n","<script lang=\"ts\">\n import Select from '../select/Select.svelte'\n import Input from '../input/Input.svelte'\n import { PHONE_PATTERN, validate } from '../../../../../utils/lib/validation/validation'\n import { countryCodes } from './PhoneInput.constants'\n\n export let phone: string\n export let isValid: boolean = true\n export let disabled: boolean = false\n\n let selectedCountryCode: string = countryCodes[0].value\n let number: number | null\n\n if (phone) {\n for (const countryCode of countryCodes) {\n if (phone.indexOf(countryCode.value) === 0) {\n number = parseInt(phone.slice(countryCode.value.length))\n selectedCountryCode = countryCode.value\n break\n }\n }\n }\n\n $: {\n isValid = !number || validate(String(number), PHONE_PATTERN)\n isValid && selectedCountryCode && number ? (phone = selectedCountryCode + String(number).trim()) : ''\n }\n</script>\n\n<div class=\"crtw-flex crtw-justify-center crtw-flex-row\">\n <div class=\"crtw-w-40 crtw-mr-0.5\">\n <Select options={countryCodes} simple bind:selected={selectedCountryCode} {disabled} />\n </div>\n <Input\n type=\"number\"\n min=\"0\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n placeholder=\"Phone Number\"\n bind:value={number}\n name=\"phone\"\n {disabled}\n />\n</div>\n","<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import Label from \"../shared/inputs/input/Label.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import PhoneInput from \"../shared/inputs/phone/PhoneInput.svelte\";\n\n export let name: string;\n export let email: string;\n export let phone: string;\n export let isSubmitDisabled: boolean;\n export let error: string | null;\n export let isEmailInputValid: boolean;\n export let options: {\n isExtendedRegistration: boolean | undefined;\n onProfileUpdate: () => void;\n onBackClick: () => void;\n shouldShowBackButton: boolean;\n isEmailChangeDisabled: boolean;\n isPhoneChangeDisabled: boolean;\n };\n\n let {\n isExtendedRegistration,\n onProfileUpdate,\n onBackClick,\n shouldShowBackButton,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n } = options;\n</script>\n\n<Container class=\"crtw-flex crtw-justify-center crtw-flex-col crtw-gap-2.5\">\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"NameInput\"\n >First and last name\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"NameInput\"\n type=\"text\"\n placeholder=\"First and last name\"\n bind:value={name}\n name=\"name\"\n required={isExtendedRegistration}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"EmailInput\"\n >Email address\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"EmailInput\"\n type=\"email\"\n bind:isValid={isEmailInputValid}\n placeholder=\"Email address\"\n bind:value={email}\n name=\"email\"\n disabled={isEmailChangeDisabled}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"PhoneInput\">Phone number</Label>\n <PhoneInput bind:phone disabled={isPhoneChangeDisabled} />\n </div>\n\n <Button\n text=\"Update profile\"\n onClick={onProfileUpdate}\n disabled={isSubmitDisabled}\n />\n\n {#if error}\n <div class=\"crtw-text-xs crtw-text-[#990008]\">\n - {error}\n </div>\n {/if}\n\n {#if shouldShowBackButton}\n <div class=\"crtw-text-left crtw-mt-2.5 crtw-w-full\">\n <ButtonBack onClick={onBackClick} />\n </div>\n {/if}\n</Container>\n","<script lang=\"ts\">\n import { onDestroy } from 'svelte'\n import { get } from 'svelte/store'\n import { validate } from '@lib/validation/validation'\n import { fn, userStore, pageStore, forcedPageStore } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { UpdateProfile } from '@packages/ui'\n import { type TUser } from '@packages/utils/types'\n import { configStore } from '@src/stores/config'\n\n const { updateProfile, close, toastAlert } = get(fn)\n\n let email: string\n let name: string\n let phone: string\n\n let currentUser: TUser\n\n let isEmailChangeDisabled: boolean\n let isPhoneChangeDisabled: boolean\n let isSubmitDisabled: boolean\n\n const unsubscribeUserStore = userStore.subscribe((user) => {\n if (!user) {\n forcedPageStore.set(null)\n close()\n return\n }\n\n name = user.name || ''\n email = user.email || ''\n phone = user.phone || ''\n currentUser = user\n\n \n const isSocialLoginType =\n user.login_type !== 'credentials' && user.login_type !== 'passwordless'\n isEmailChangeDisabled = !!user.pending?.email || isSocialLoginType\n isPhoneChangeDisabled = !!user.pending?.phone || isSocialLoginType\n })\n\n let isLoading = false\n let isEmailValid: boolean = false\n let isEmailInputValid: boolean = true\n let isNameValid: boolean = true\n let error: string = ''\n\n const executeProfileUpdate = async () => {\n error = ''\n isLoading = true\n try {\n const newData = {\n ...(currentUser.email !== email ? { email } : {}),\n ...(currentUser.name !== name ? { name } : {}),\n ...(currentUser.phone !== phone ? { phone } : {}),\n }\n const updatedUser = await updateProfile(newData)\n forcedPageStore.set(null)\n\n toastAlert(\n 'Account has been updated successfully. Email or phone should be confirmed by entering one-time code.',\n 'success',\n )\n const page = get(pageStore)\n if (!updatedUser?.pending?.phone && !updatedUser?.pending?.email && (!page || page === Pages.UPDATE_PROFILE))\n close()\n } catch (err) {\n const errorText = err?.message || 'Error while updating your account details.'\n toastAlert(errorText, 'failure')\n error = errorText\n }\n isLoading = false\n }\n\n $: {\n isEmailValid = validate(email)\n isEmailInputValid = !email || isEmailValid\n\n $configStore.auth?.extendedRegistration && (isNameValid = !!name)\n\n isSubmitDisabled = isLoading || !isEmailInputValid || !isNameValid\n }\n\n onDestroy(unsubscribeUserStore)\n</script>\n\n<UpdateProfile\n bind:error\n bind:name\n bind:email\n bind:phone\n bind:isSubmitDisabled\n bind:isEmailInputValid\n options={{\n isExtendedRegistration: $configStore.auth?.extendedRegistration,\n onProfileUpdate: executeProfileUpdate,\n onBackClick: () => forcedPageStore.set(null),\n shouldShowBackButton: $forcedPageStore === Pages.UPDATE_PROFILE,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n }}\n/>\n"],"names":["options","$.prop","$$props","placeholder","label","selected","onChange","simple","disabled","handleChange","e","target","$$render","consequent","consequent_1","$.each","node_2","item","$.get","$.untrack","countryCodes","phone","selectedCountryCode","$.mutable_source","countryCode","number","isValid","validate","PHONE_PATTERN","$$value","name","email","isSubmitDisabled","error","isEmailInputValid","isExtendedRegistration","onProfileUpdate","onBackClick","shouldShowBackButton","isEmailChangeDisabled","isPhoneChangeDisabled","__awaiter","thisArg","_arguments","P","generator","updateProfile","close","toastAlert","get","fn","currentUser","unsubscribeUserStore","userStore","user","forcedPageStore","$.set","isSocialLoginType","_a","_b","isLoading","isEmailValid","isNameValid","newData","updatedUser","page","pageStore","Pages","err","errorText","onDestroy","$.safe_get"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as Q, p as R, h as T, f as g, i as f, r as m, b as i, d as W, u as X, t as k, a as G } from "./legacy-
|
|
2
|
-
import { z as Y, v as J, I as L, m as P, A as S, w as Z, B as n, J as a, G as c, E as d, C as v, D as x, y as $, u as aa, x as V } from "./index-
|
|
3
|
-
import { a as ea } from "./App-
|
|
1
|
+
import { c as Q, p as R, h as T, f as g, i as f, r as m, b as i, d as W, u as X, t as k, a as G } from "./legacy-emYZq_hG.js";
|
|
2
|
+
import { z as Y, v as J, I as L, m as P, A as S, w as Z, B as n, J as a, G as c, E as d, C as v, D as x, y as $, u as aa, x as V } from "./index-DNQhfOgj.js";
|
|
3
|
+
import { a as ea } from "./App-CanFU0id.js";
|
|
4
4
|
var ta = g('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">User name:</p> <p class="crtw-text-sm"> </p></div>'), ra = g('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">Email address:</p> <p class="crtw-text-sm"><!></p></div>'), sa = g('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">Phone number:</p> <p class="crtw-text-sm"><!></p></div>'), la = g('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">Logged in address:</p> <p class="crtw-text-sm"> </p></div>'), ia = g('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium"> </p> <p class="crtw-text-sm"> </p></div>'), na = g('<div class="crtw-flex crtw-justify-center crtw-flex-col crtw-items-start crtw-gap-[22px] crtw-w-full crtw-px-2.5 crtw-py-0"><!> <!> <!> <!> <!></div>');
|
|
5
5
|
function ca(E, y) {
|
|
6
6
|
if (new.target) return Q({ component: ca, ...E });
|
|
@@ -125,4 +125,4 @@ function ca(E, y) {
|
|
|
125
125
|
export {
|
|
126
126
|
ca as U
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=UserInfo-
|
|
128
|
+
//# sourceMappingURL=UserInfo-DkUmsLYp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserInfo-
|
|
1
|
+
{"version":3,"file":"UserInfo-DkUmsLYp.js","sources":["../../ui/main/shared/UserInfo.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { TUser } from \"../../../utils/types\";\n\n export let options: {\n storedValueAlias: string;\n balance?: string | null;\n userData: TUser | null;\n userAddress: Promise<string>;\n };\n\n let { storedValueAlias, userAddress } = options;\n $: balance = options.balance\n $: userData = options.userData\n</script>\n\n<div\n class=\"crtw-flex crtw-justify-center crtw-flex-col crtw-items-start crtw-gap-[22px] crtw-w-full crtw-px-2.5 crtw-py-0\"\n>\n {#if userData?.name}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">User name:</p>\n <p class=\"crtw-text-sm\">\n {userData.name}\n </p>\n </div>\n {/if}\n {#if userData?.email || userData?.pending?.email}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">Email address:</p>\n <p class=\"crtw-text-sm\">\n {#if userData?.email}\n {userData.email}\n {:else if userData?.pending?.email}\n {userData.pending?.email} (Unconfirmed)\n {/if}\n </p>\n </div>\n {/if}\n\n {#if userData?.phone || userData?.pending?.phone}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">Phone number:</p>\n <p class=\"crtw-text-sm\">\n {#if userData?.phone}\n {userData.phone}\n {:else if userData?.pending?.phone}\n {userData.pending?.phone} (Unconfirmed)\n {/if}\n </p>\n </div>\n {/if}\n\n {#await userAddress then address}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">Logged in address:</p>\n <p class=\"crtw-text-sm\">\n {address}\n </p>\n </div>\n {/await}\n \n\n {#if balance}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">{storedValueAlias} available:</p>\n <p class=\"crtw-text-sm\">{balance}</p>\n </div>\n {/if}\n</div>\n"],"names":["options","$.prop","$$props","storedValueAlias","userAddress","balance","userData","$$render","consequent","$.untrack","$.get","$.await","node_7","address"],"mappings":";;;;kBAAA;;;;MAWeA,IAKbC,EAAAC,GAAA,WAAA,EAAA,KAEK,kBAAAC,GAAc,aAAAC,EAAA,IAAAJ,EAAA;;MAChBK,GAAUL,EAAO,EAAC,OAAK;AAAA;MAC5BM,GAAgBN,EAAK,EAAA,QAAW;AAAA;;;;;kCAAhCM,cAUSA,CAAI,EAAA,IAAS,EAAA,CAAA;;;QAVtBA,cAMOA,CAAQ,GAAE,IAAA,KAAAC,EAAAC,CAAA;AAAA;;;;;;;;;0BANjBF,cAmBOA,CAAU,EAAA,KAAQ,EAAA,CAAA;;;;;;gCAnBzBA,iBAqBoB,SAAM,KAAQ;;;;;kBArBlCA,cAoBgBA,IAAY,SAAK,KAAS;;;;;;;;YApB1CA;;;;;;QAAAA,IAcAG,EAAA,MAAAC,EAAAJ,CAAY,GAAA,SAAAI,EAAAJ,CAAA,GAAA,SAAA,KAAA;;;;;;;;;;0BAdZA,sBAgCsB,EAAA,CAAA;;;;;;gCAhCtBA,cAkCSA,CAAO,EAAI,cAAc;;;;;kBAlClCA,cAiCgBA,IAAY,SAAK,KAAS;;;;;;;;YAjC1CA;;;;;;QAAAA,IA2BAG,EAAA,MAAAC,EAAAJ,CAAY,GAAA,SAAAI,EAAAJ,CAAA,GAAA,SAAA,KAAA;;;;AAaZK,EAAAA,GAAAC,GAAA,MAAAR,aAAAS,MAAA;;+BAISA,CAAO,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA3ChB;"}
|