@tinyrack/tinyauth-server 0.6.1 → 0.8.0
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/services/account-selection.service.d.ts.map +1 -1
- package/dist/services/account-selection.service.js +5 -2
- package/dist/services/account-selection.service.js.map +1 -1
- package/dist/services/oauth-authorize.service.d.ts.map +1 -1
- package/dist/services/oauth-authorize.service.js +3 -1
- package/dist/services/oauth-authorize.service.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/2fa-DZSOQLyd.js +2 -0
- package/public/assets/{2fa-Cteolf9l.js.map → 2fa-DZSOQLyd.js.map} +1 -1
- package/public/assets/2fa-DvD9N_wj.js +2 -0
- package/public/assets/{2fa-BMEIiDXv.js.map → 2fa-DvD9N_wj.js.map} +1 -1
- package/public/assets/{2fa-BhCgCfEc.js → 2fa-P8YqnDXC.js} +2 -2
- package/public/assets/{2fa-BhCgCfEc.js.map → 2fa-P8YqnDXC.js.map} +1 -1
- package/public/assets/{2fa-E0x3Samn.js → 2fa-fLX-LED8.js} +2 -2
- package/public/assets/{2fa-E0x3Samn.js.map → 2fa-fLX-LED8.js.map} +1 -1
- package/public/assets/{admin-CXJ0z2QN.js → admin-BLPp8bT8.js} +2 -2
- package/public/assets/{admin-CXJ0z2QN.js.map → admin-BLPp8bT8.js.map} +1 -1
- package/public/assets/{consent-C-h_pWHQ.js → consent-CjXe4bU5.js} +2 -2
- package/public/assets/{consent-C-h_pWHQ.js.map → consent-CjXe4bU5.js.map} +1 -1
- package/public/assets/consent-Cq6tCfwA.js +2 -0
- package/public/assets/{consent-B17hGrta.js.map → consent-Cq6tCfwA.js.map} +1 -1
- package/public/assets/{email-DjE7mqnX.js → email-CpOX6Ig_.js} +2 -2
- package/public/assets/email-CpOX6Ig_.js.map +1 -0
- package/public/assets/email-DvD9N_wj.js +2 -0
- package/public/assets/email-DvD9N_wj.js.map +1 -0
- package/public/assets/{error-BKXsXhdR.js → error-DMzYyopT.js} +2 -2
- package/public/assets/{error-BKXsXhdR.js.map → error-DMzYyopT.js.map} +1 -1
- package/public/assets/forgot-DvD9N_wj.js +2 -0
- package/public/assets/{forgot-BMEIiDXv.js.map → forgot-DvD9N_wj.js.map} +1 -1
- package/public/assets/{forgot-C9zSfaX9.js → forgot-RbSzzjWF.js} +2 -2
- package/public/assets/{forgot-C9zSfaX9.js.map → forgot-RbSzzjWF.js.map} +1 -1
- package/public/assets/{index-BmfaaNx6.js → index-CgkA6nnx.js} +3 -3
- package/public/assets/index-CgkA6nnx.js.map +1 -0
- package/public/assets/{login-DG1Yfmb8.js → login-BQI7QY9W.js} +2 -2
- package/public/assets/login-BQI7QY9W.js.map +1 -0
- package/public/assets/login-DvD9N_wj.js +2 -0
- package/public/assets/login-DvD9N_wj.js.map +1 -0
- package/public/assets/{passkey-BDrX3jVg.js → passkey-C0BKdldQ.js} +2 -2
- package/public/assets/passkey-C0BKdldQ.js.map +1 -0
- package/public/assets/{passkey-C-h8Fvqn.js → passkey-D9qQ8xoR.js} +2 -2
- package/public/assets/passkey-D9qQ8xoR.js.map +1 -0
- package/public/assets/password-CqjbZggE.js +2 -0
- package/public/assets/password-CqjbZggE.js.map +1 -0
- package/public/assets/password-DvD9N_wj.js +2 -0
- package/public/assets/password-DvD9N_wj.js.map +1 -0
- package/public/assets/{profile-8buOY6GT.js → profile-B5qQlPwW.js} +2 -2
- package/public/assets/{profile-8buOY6GT.js.map → profile-B5qQlPwW.js.map} +1 -1
- package/public/assets/profile-fwH7_EJ0.js +2 -0
- package/public/assets/{profile-DcpL_XUt.js.map → profile-fwH7_EJ0.js.map} +1 -1
- package/public/assets/{recovery-Csf6dtvj.js → recovery-DqEhUHzv.js} +2 -2
- package/public/assets/{recovery-Csf6dtvj.js.map → recovery-DqEhUHzv.js.map} +1 -1
- package/public/assets/{register-X6dycne4.js → register-CntgI-rd.js} +2 -2
- package/public/assets/register-CntgI-rd.js.map +1 -0
- package/public/assets/register-DvD9N_wj.js +2 -0
- package/public/assets/register-DvD9N_wj.js.map +1 -0
- package/public/assets/{reset-1nsqPlxL.js → reset-BK1XYJiv.js} +2 -2
- package/public/assets/{reset-1nsqPlxL.js.map → reset-BK1XYJiv.js.map} +1 -1
- package/public/assets/reset-DvD9N_wj.js +2 -0
- package/public/assets/{reset-BMEIiDXv.js.map → reset-DvD9N_wj.js.map} +1 -1
- package/public/assets/{select-CDdb3jyc.js → select-DeUoTgDw.js} +2 -2
- package/public/assets/{select-CDdb3jyc.js.map → select-DeUoTgDw.js.map} +1 -1
- package/public/assets/select-DvD9N_wj.js +2 -0
- package/public/assets/{select-BMEIiDXv.js.map → select-DvD9N_wj.js.map} +1 -1
- package/public/assets/{terms-CUhvMN9k.js → terms-CPEuXMaO.js} +2 -2
- package/public/assets/{terms-CUhvMN9k.js.map → terms-CPEuXMaO.js.map} +1 -1
- package/public/assets/terms-fwH7_EJ0.js +2 -0
- package/public/assets/{terms-DcpL_XUt.js.map → terms-fwH7_EJ0.js.map} +1 -1
- package/public/assets/{totp-DB9WqW4V.js → totp-B1ebEiOW.js} +2 -2
- package/public/assets/totp-B1ebEiOW.js.map +1 -0
- package/public/assets/{totp-UDT2P91H.js → totp-DWWZe-tJ.js} +2 -2
- package/public/assets/totp-DWWZe-tJ.js.map +1 -0
- package/public/assets/{use-totp-setup-9fktn_he.js → use-totp-setup-Z96pOMXt.js} +2 -2
- package/public/assets/{use-totp-setup-9fktn_he.js.map → use-totp-setup-Z96pOMXt.js.map} +1 -1
- package/public/assets/{useMutation-Iu4AJCB4.js → useMutation-Biy2-pH_.js} +2 -2
- package/public/assets/{useMutation-Iu4AJCB4.js.map → useMutation-Biy2-pH_.js.map} +1 -1
- package/public/assets/{users-Bi7gjreq.js → users-YtDGJlDl.js} +2 -2
- package/public/assets/{users-Bi7gjreq.js.map → users-YtDGJlDl.js.map} +1 -1
- package/public/index.html +1 -1
- package/public/assets/2fa-BMEIiDXv.js +0 -2
- package/public/assets/2fa-Cteolf9l.js +0 -2
- package/public/assets/consent-B17hGrta.js +0 -2
- package/public/assets/email-BMEIiDXv.js +0 -2
- package/public/assets/email-BMEIiDXv.js.map +0 -1
- package/public/assets/email-DjE7mqnX.js.map +0 -1
- package/public/assets/forgot-BMEIiDXv.js +0 -2
- package/public/assets/index-BmfaaNx6.js.map +0 -1
- package/public/assets/login-BMEIiDXv.js +0 -2
- package/public/assets/login-BMEIiDXv.js.map +0 -1
- package/public/assets/login-DG1Yfmb8.js.map +0 -1
- package/public/assets/passkey-BDrX3jVg.js.map +0 -1
- package/public/assets/passkey-C-h8Fvqn.js.map +0 -1
- package/public/assets/password-86C-hCze.js +0 -2
- package/public/assets/password-86C-hCze.js.map +0 -1
- package/public/assets/password-BMEIiDXv.js +0 -2
- package/public/assets/password-BMEIiDXv.js.map +0 -1
- package/public/assets/profile-DcpL_XUt.js +0 -2
- package/public/assets/register-BMEIiDXv.js +0 -2
- package/public/assets/register-BMEIiDXv.js.map +0 -1
- package/public/assets/register-X6dycne4.js.map +0 -1
- package/public/assets/reset-BMEIiDXv.js +0 -2
- package/public/assets/select-BMEIiDXv.js +0 -2
- package/public/assets/terms-DcpL_XUt.js +0 -2
- package/public/assets/totp-DB9WqW4V.js.map +0 -1
- package/public/assets/totp-UDT2P91H.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-selection.service.d.ts","sourceRoot":"","sources":["../../src/services/account-selection.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAOnE,KAAK,iBAAiB,GAAG,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAE5B,MAAM,EAAE,qBAAqB;IAIzC,MAAM,CACX,MAAM,EAAE,8BAA8B,GACrC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"account-selection.service.d.ts","sourceRoot":"","sources":["../../src/services/account-selection.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAOnE,KAAK,iBAAiB,GAAG,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAE5B,MAAM,EAAE,qBAAqB;IAIzC,MAAM,CACX,MAAM,EAAE,8BAA8B,GACrC,wBAAwB;IAqE3B,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,kCAAkC;CAa3C"}
|
|
@@ -15,13 +15,16 @@ export class AccountSelectionService {
|
|
|
15
15
|
(params.prompts.includes('login') || params.maxAge === 0)) {
|
|
16
16
|
return { type: 'reauthenticate' };
|
|
17
17
|
}
|
|
18
|
+
const explicitlyRequestsAccountSelection = params.prompts.includes('select_account');
|
|
18
19
|
if (mode === 'disabled' ||
|
|
19
20
|
params.accountSelected ||
|
|
20
|
-
(params.freshReauthentication &&
|
|
21
|
+
(params.freshReauthentication &&
|
|
22
|
+
params.prompts.includes('login') &&
|
|
23
|
+
!explicitlyRequestsAccountSelection)) {
|
|
21
24
|
return { type: 'continue', selectedSub: activeUserSub };
|
|
22
25
|
}
|
|
23
26
|
const hintedAccount = this.findLoginHintMatch(params.rememberedAccounts, params.loginHint);
|
|
24
|
-
const explicitlyRequiresChooser =
|
|
27
|
+
const explicitlyRequiresChooser = explicitlyRequestsAccountSelection || mode === 'always';
|
|
25
28
|
if (explicitlyRequiresChooser) {
|
|
26
29
|
return this.promptNoneOrChooser(params, globalConfig.prompt_none_error);
|
|
27
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-selection.service.js","sourceRoot":"","sources":["../../src/services/account-selection.service.ts"],"names":[],"mappings":"AA6BA,MAAM,OAAO,uBAAuB;IACjB,MAAM,CAAwB;IAE/C,YAAmB,MAA6B;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM,CACX,MAAsC;QAEtC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAC7C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,QAAQ,CACjD,EAAE,iBAAiB,CAAC;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAC3B,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,IAAI,EACjB,cAAc,EAAE,IAAI,CACrB,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAE3C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,IACE,CAAC,MAAM,CAAC,qBAAqB;YAC7B,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EACzD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACpC,CAAC;QAED,IACE,IAAI,KAAK,UAAU;YACnB,MAAM,CAAC,eAAe;YACtB,CAAC,MAAM,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"account-selection.service.js","sourceRoot":"","sources":["../../src/services/account-selection.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorize.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-authorize.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oauth-authorize.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-authorize.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -296,7 +296,9 @@ export class OAuthAuthorizeService {
|
|
|
296
296
|
now - session.created_at <=
|
|
297
297
|
ACCOUNT_SELECTION_CONTINUATION_MAX_AGE_SECONDS;
|
|
298
298
|
if (!session || !matchesExisting) {
|
|
299
|
-
const freshSelectedAccount = params.freshReauthentication &&
|
|
299
|
+
const freshSelectedAccount = params.freshReauthentication &&
|
|
300
|
+
query.account_selected === '1' &&
|
|
301
|
+
!query.prompt?.split(' ').includes('select_account');
|
|
300
302
|
return {
|
|
301
303
|
trusted: freshSelectedAccount,
|
|
302
304
|
matchesExisting: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorize.service.js","sourceRoot":"","sources":["../../src/services/oauth-authorize.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauth-authorize.service.js","sourceRoot":"","sources":["../../src/services/oauth-authorize.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AASzE,MAAM,6CAA6C,GAAG,EAAE,CAAC;AACzD,MAAM,8CAA8C,GAAG,GAAG,CAAC;AAwD3D,MAAM,OAAO,qBAAqB;IACf,MAAM,CAAwB;IAC9B,KAAK,CAAe;IACpB,kBAAkB,CAAqB;IACvC,kBAAkB,CAAqB;IACvC,eAAe,CAAkB;IACjC,UAAU,CAAa;IACxC,YACE,MAA6B,EAC7B,KAAmB,EACnB,kBAAsC,EACtC,kBAAsC,EACtC,eAAgC,EAChC,UAAsB;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,MAmBtB;QACC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAE9B,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CACzD,QAAQ,CAAC,SAAS,CACnB,CAAC;QAEF,gCAAgC;QAChC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE3E,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG;YACZ,GAAG,QAAQ;YACX,aAAa,EAAE,YAAY;SAC5B,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAE1E,8BAA8B;QAC9B,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAE1E,qDAAqD;QACrD,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,6BAA6B,CACtC,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,qBAAqB,CAC5B,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,wBAAwB,GAAG,WAAW;YAC1C,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAC3B,KAAK,CAAC,eAAe,EACrB,WAAW,CAAC,gBAAgB,CAC7B;YACH,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,iBAAiB,GACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACzD,MAAM,oBAAoB,GACxB,WAAW;YACX,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;QAErD,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;YACnE,0DAA0D;YAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,6BAA6B,CAAC;oBACxC,WAAW,EAAE,KAAK,CAAC,YAAY;oBAC/B,KAAK,EAAE,gBAAgB;oBACvB,gBAAgB,EACd,4DAA4D;oBAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,YAAY,EAAE,KAAK,CAAC,aAAa;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,QAAQ;aACd,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAC5D,MAAM,CAAC,kBAAkB,EAAE,MAAM;YAC/B,CAAC,CAAC,MAAM,CAAC,kBAAkB;YAC3B,CAAC,CAAC;gBACE;oBACE,GAAG,EAAE,WAAW,CAAC,GAAG;oBACpB,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;oBAC9C,YAAY,EAAE,WAAW,CAAC,gBAAgB;iBAC3C;aACF,CACN,CAAC;QACF,MAAM,4BAA4B,GAChC,IAAI,CAAC,sCAAsC,CAAC;YAC1C,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,uBAAuB;YACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,WAAW,CAAC,GAAG;YAC9B,qBAAqB,EAAE,wBAAwB;SAChD,CAAC,CAAC;QACL,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YACvE,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO;YACP,aAAa,EAAE,WAAW,CAAC,GAAG;YAC9B,kBAAkB;YAClB,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,eAAe,EAAE,4BAA4B,CAAC,OAAO;YACrD,qBAAqB,EAAE,wBAAwB;SAChD,CAAC,CAAC;QAEH,IAAI,gBAAgB,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,6BAA6B,CAAC;gBACxC,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,KAAK,EAAE,gBAAgB,CAAC,KAAK;gBAC7B,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;gBACnD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,YAAY,EAAE,KAAK,CAAC,aAAa;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,IAAI,qBAAqB,GAAG,4BAA4B,CAAC,EAAE,CAAC;YAC5D,IACE,CAAC,4BAA4B,CAAC,eAAe;gBAC7C,CAAC,qBAAqB,EACtB,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,6BAA6B,CAAC;oBACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,KAAK;oBACL,kBAAkB;iBACnB,CAAC,CAAC;gBACH,MAAM,CAAC,0BAA0B,EAAE,CAAC,YAAY,CAAC,CAAC;gBAClD,qBAAqB,GAAG,YAAY,CAAC,EAAE,CAAC;YAC1C,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,qBAAqB,CAAC;aACtE,CAAC;QACJ,CAAC;QAED,IAAI,gBAAgB,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC/C,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;aACvC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GACnB,kBAAkB,CAAC,IAAI,CACrB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,gBAAgB,CAAC,WAAW,CAC1D,IAAI,WAAW,CAAC;QAEnB,IACE,4BAA4B,CAAC,OAAO;YACpC,CAAC,4BAA4B,CAAC,eAAe;YAC7C,CAAC,4BAA4B,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EACvE,CAAC;YACD,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,eAAe,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC;YACpE,OAAO,EAAE,eAAe,CAAC,GAAG;YAC5B,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,eAAe;YACf,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC3D,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;QAEH,IAAI,eAAe,EAAE,CAAC;YACpB,gEAAgE;YAChE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,6BAA6B,CAAC;oBACxC,WAAW,EAAE,KAAK,CAAC,YAAY;oBAC/B,KAAK,EAAE,kBAAkB;oBACzB,gBAAgB,EACd,qDAAqD;oBACvD,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,YAAY,EAAE,KAAK,CAAC,aAAa;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACvD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,UAAU;aAChB,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;YAClD,CAAC;YAED,MAAM,CAAC,4BAA4B,EAAE,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,4BAA4B,CAAC;gBACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,eAAe,CAAC,GAAG;gBAC5B,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,eAAe,CAAC,gBAAgB;gBAC1C,YAAY,EAAE,KAAK,CAAC,aAAa;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GASZ;YACF,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,OAAO,EAAE,eAAe,CAAC,GAAG;YAC5B,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,KAAK,EAAE,eAAe;SACvB,CAAC;QAEF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,UAAU,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC;QAC/D,CAAC;QACD,oDAAoD;QACpD,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,CAAC,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,CAAC,4BAA4B,EAAE,EAAE,CAAC;QAExC,sDAAsD;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CACvC,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,CACpB,CAAC;QAEF,IAAI,KAAK,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,MAAM,GAA2B,EAAE,IAAI,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAChC,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,KAAK,CAAC,YAAY;gBACvB,MAAM;aACP,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,WAAW;SACjB,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,YAAgC;QAEhC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IACE,YAAY,KAAK,OAAO;YACxB,YAAY,KAAK,UAAU;YAC3B,YAAY,KAAK,WAAW,EAC5B,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;IAEO,6BAA6B,CAAC,MAIrC;QACC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAC7C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,QAAQ,CACjD,EAAE,iBAAiB,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACnC,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,IAAI,CAAC,uCAAuC,CAC/D,MAAM,CAAC,KAAK,CACb;YACD,iBAAiB,EACf,cAAc,EAAE,iBAAiB;gBACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB;YACtD,YAAY,EAAE,KAAK,CAAC,IAAI,CACtB,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CACjE;YACD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC;IAEO,uCAAuC,CAC7C,KAAsB;QAEtB,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC;YACpC,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;YACtC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC;YACxC,CAAC,uBAAuB,EAAE,KAAK,CAAC,qBAAqB,CAAC;YACtD;gBACE,QAAQ;gBACR,IAAI,CAAC,6CAA6C,CAAC,KAAK,CAAC,MAAM,CAAC;aACjE;YACD,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;YACtC,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;YAChC,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;YAChC,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;YACtC,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;SACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC7C,CAAC;IACJ,CAAC;IAEO,6CAA6C,CACnD,MAA0B;QAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM;aAClB,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAEO,sCAAsC,CAAC,MAM9C;QAOC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,MAAM,eAAe,GACnB,OAAO,EAAE,SAAS,KAAK,MAAM,CAAC,QAAQ;YACtC,OAAO,CAAC,mBAAmB;gBACzB,IAAI,CAAC,uCAAuC,CAAC,KAAK,CAAC;YACrD,OAAO,CAAC,UAAU,IAAI,GAAG;YACzB,GAAG,GAAG,OAAO,CAAC,UAAU;gBACtB,8CAA8C,CAAC;QAEnD,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,oBAAoB,GACxB,MAAM,CAAC,qBAAqB;gBAC5B,KAAK,CAAC,gBAAgB,KAAK,GAAG;gBAC9B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE,oBAAoB;gBAC7B,eAAe,EAAE,KAAK;gBACtB,eAAe,EAAE,oBAAoB;gBACrC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;aAChE,CAAC;QACJ,CAAC;QAED,IACE,CAAC,OAAO,CAAC,iBAAiB;YAC1B,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EACpD,CAAC;YACD,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QAED,OAAO;YACL,OAAO,EACL,KAAK,CAAC,gBAAgB,KAAK,GAAG;gBAC9B,KAAK,CAAC,uBAAuB,KAAK,OAAO,CAAC,EAAE;YAC9C,eAAe,EAAE,IAAI;YACrB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,eAAe,EAAE,OAAO,CAAC,iBAAiB;YAC1C,WAAW,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,QAKE;QASF,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gBACzC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,MAA0B;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACpC,CAAC;YAED,IACE,KAAK,KAAK,MAAM;gBAChB,KAAK,KAAK,OAAO;gBACjB,KAAK,KAAK,SAAS;gBACnB,KAAK,KAAK,gBAAgB,EAC1B,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,cAAc,CACpB,eAAuB,EACvB,MAA0B;QAE1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC;IAClE,CAAC;IAEO,wBAAwB,CAC9B,eAAgC,EAChC,eAAuB;QAEvB,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,OAAO,CACL,eAAe,IAAI,GAAG;YACtB,GAAG,GAAG,eAAe,IAAI,6CAA6C,CACvE,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,YAAoB;QAChD,OAAO,YAAY,KAAK,UAAU,CAAC;IACrC,CAAC;IAEO,8BAA8B,CACpC,KAAsB,EACtB,eAAyB;QAEzB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,6BAA6B,CACzC,QAAgB,EAChB,aAAiC,EACjC,mBAAuC;QAEvC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;YACjD,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;YACjD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAQ,EAAE,KAAsB;QAC1D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACzD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,KAAK;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,KAAK;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,KAAK;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAClB,uBAAuB,EACvB,KAAK,CAAC,qBAAqB,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,KAAsB;QAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9D,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAEhE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,QAAQ,CAAC,YAAY,CAAC,GAAG,CACvB,uBAAuB,EACvB,KAAK,CAAC,qBAAqB,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEO,6BAA6B,CACnC,KAAsB,EACtB,qBAA6B;QAE7B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,iBAAiB,EACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CACjC,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE;YACzC,GAAG,KAAK;YACR,gBAAgB,EAAE,SAAS;YAC3B,uBAAuB,EAAE,qBAAqB;SAC/C,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,KAAsB;QACpD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACzE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAElE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,UAAU,CAAC,YAAY,CAAC,GAAG,CACzB,uBAAuB,EACvB,KAAK,CAAC,qBAAqB,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM;iBAC/B,KAAK,CAAC,GAAG,CAAC;iBACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC;iBACpC,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,IAAI,aAAa,EAAE,CAAC;gBAClB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEpD,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAEO,2BAA2B,CAAC,GAAQ,EAAE,KAAsB;QAClE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAClC,GAAG,CAAC,YAAY,CAAC,GAAG,CAClB,yBAAyB,EACzB,KAAK,CAAC,uBAAuB,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,WAAmB,EACnB,KAAa,EACb,gBAAwB,EACxB,KAAc,EACd,YAAiD;QAEjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,YAAY,KAAK,UAAU,CAAC;QAChD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3E,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAElD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEO,6BAA6B,CAAC,MAMrC;QACC,IAAI,MAAM,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,UAAU,GAA2B;gBACzC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,iBAAiB,EAAE,MAAM,CAAC,gBAAgB;aAC3C,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YACrC,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,MAAM,CAAC,WAAW;gBACvB,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAC7B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,YAAY,CACpB;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,MAS1C;QACC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAC9C,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,EACvB;YACE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;SAC9C,CACF,CAAC;QAEF,MAAM,cAAc,GAQhB;YACF,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,MAAM,CAAC,QAAQ;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,QAAQ;SAC3B,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAClC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACtD,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,UAAU,GAA2B;gBACzC,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;aAC3D,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YACrC,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,MAAM,CAAC,WAAW;gBACvB,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YACpC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,IAAY,EACZ,KAAyB,EACzB,WAAmB,EACnB,YAAiD;QAEjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,YAAY,KAAK,UAAU,CAAC;QAChD,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,IAAI,eAAe,EAAE;YACvB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,MASvC;QACC,MAAM,UAAU,GASZ;YACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,UAAU,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAC9D,CAAC;QACD,uCAAuC;QACvC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CACzD,YAAY,EACZ,IAAI,CACL,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACjD,GAAG,UAAU;YACb,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2fa-
|
|
1
|
+
{"version":3,"file":"2fa-DZSOQLyd.js","names":["RouteErrorFallback","SplitErrorComponent","errorComponent"],"sources":["../../../frontend/src/routes/setup/2fa/index.tsx?tsr-split=errorComponent"],"sourcesContent":["import { FingerprintIcon, ShieldCheckIcon } from '@phosphor-icons/react';\nimport { useSuspenseQuery } from '@tanstack/react-query';\nimport { createFileRoute, Link } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { FooterLink } from '#frontend/components/auth/footer-link.tsx';\nimport { PageHeader } from '#frontend/components/auth/page-header.tsx';\nimport { Alert } from '#frontend/components/ui/alert.tsx';\nimport { RouteErrorFallback } from '#frontend/components/ui/route-error-fallback.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport { extractOAuthParams } from '#frontend/libs/oauth-search.ts';\nimport { appConfigQueryOptions } from '#frontend/queries/config.ts';\n\nexport const Route = createFileRoute('/setup/2fa/')({\n component: Setup2FA,\n errorComponent: RouteErrorFallback,\n loader: async ({ context }) => {\n await context.queryClient.ensureQueryData(appConfigQueryOptions);\n },\n});\n\nfunction Setup2FA() {\n const { t } = useTranslation();\n const search = Route.useSearch();\n const { data: appConfig } = useSuspenseQuery(appConfigQueryOptions);\n const oauthParams = extractOAuthParams(search);\n\n return (\n <PageLayout cardPadding maxWidth=\"100\">\n <PageHeader\n subtitle={t('setup2fa.subtitle')}\n title={t('setup2fa.title')}\n />\n\n <Alert icon={ShieldCheckIcon} type=\"info\">\n {t('setup2fa.required')}\n </Alert>\n\n <div className=\"mt-4 flex flex-col gap-4\">\n {appConfig.auth.password.enabled &&\n appConfig.auth.password.totp.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={oauthParams}\n to=\"/setup/totp\"\n >\n <ShieldCheckIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">{t('setup2fa.totp.title')}</span>\n <span className=\"text-xs opacity-70\">\n {t('setup2fa.totp.description')}\n </span>\n </div>\n </Link>\n )}\n\n {appConfig.auth.passkey.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={{\n ...oauthParams,\n passkey_name: 'default',\n }}\n to=\"/setup/passkey\"\n >\n <FingerprintIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">{t('setup2fa.passkey.title')}</span>\n <span className=\"text-xs opacity-70\">\n {t('setup2fa.passkey.description')}\n </span>\n </div>\n </Link>\n )}\n </div>\n\n <FooterLink\n as={Link}\n linkText={t('setup2fa.backToLogin')}\n search={oauthParams}\n text=\"\"\n to=\"/login\"\n />\n </PageLayout>\n );\n}\n"],"mappings":"wCAOsF,IAAAC,EAA7ED"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2fa-
|
|
1
|
+
{"version":3,"file":"2fa-DvD9N_wj.js","names":["RouteErrorFallback","SplitErrorComponent","errorComponent"],"sources":["../../../frontend/src/routes/verify/2fa/index.tsx?tsr-split=errorComponent"],"sourcesContent":["import { FingerprintIcon, ShieldCheckIcon } from '@phosphor-icons/react';\nimport { useSuspenseQuery } from '@tanstack/react-query';\nimport { createFileRoute, Link } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { FooterLink } from '#frontend/components/auth/footer-link.tsx';\nimport { PageHeader } from '#frontend/components/auth/page-header.tsx';\nimport { RouteErrorFallback } from '#frontend/components/ui/route-error-fallback.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport { extractOAuthParams } from '#frontend/libs/oauth-search.ts';\nimport { appConfigQueryOptions } from '#frontend/queries/config.ts';\n\nexport const Route = createFileRoute('/verify/2fa/')({\n component: Verify2FA,\n errorComponent: RouteErrorFallback,\n loader: async ({ context }) => {\n await context.queryClient.ensureQueryData(appConfigQueryOptions);\n },\n});\n\nfunction Verify2FA() {\n const { t } = useTranslation();\n const search = Route.useSearch();\n const oauthParams = extractOAuthParams(search);\n const { data: appConfig } = useSuspenseQuery(appConfigQueryOptions);\n\n return (\n <PageLayout cardPadding maxWidth=\"100\">\n <PageHeader\n subtitle={t('verify2fa.subtitle')}\n title={t('verify2fa.title')}\n />\n\n <div className=\"flex flex-col gap-4\">\n {appConfig.auth.password.enabled &&\n appConfig.auth.password.totp.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={oauthParams}\n to=\"/verify/totp\"\n >\n <ShieldCheckIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">{t('verify2fa.totp.title')}</span>\n <span className=\"text-xs opacity-70\">\n {t('verify2fa.totp.description')}\n </span>\n </div>\n </Link>\n )}\n\n {appConfig.auth.passkey.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={oauthParams}\n to=\"/verify/passkey\"\n >\n <FingerprintIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">\n {t('verify2fa.passkey.title')}\n </span>\n <span className=\"text-xs opacity-70\">\n {t('verify2fa.passkey.description')}\n </span>\n </div>\n </Link>\n )}\n </div>\n\n <FooterLink\n as={Link}\n linkText={t('verify2fa.backToLogin')}\n search={oauthParams}\n text=\"\"\n to=\"/login\"\n />\n </PageLayout>\n );\n}\n"],"mappings":"wCAMsF,IAAAC,EAA7ED"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n,f as r,n as i}from"./use-theme-cVUDAjtt.js";import{t as a}from"./page-layout-C475gs09.js";import{t as o}from"./Fingerprint.es-CW755VWD.js";import{t as s}from"./ShieldCheck.es-CscPsYbC.js";import{
|
|
2
|
-
//# sourceMappingURL=2fa-
|
|
1
|
+
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n,f as r,n as i}from"./use-theme-cVUDAjtt.js";import{t as a}from"./page-layout-C475gs09.js";import{t as o}from"./Fingerprint.es-CW755VWD.js";import{t as s}from"./ShieldCheck.es-CscPsYbC.js";import{M as c,f as l}from"./index-CgkA6nnx.js";import{t as u}from"./page-header-BYMFSGfT.js";import{t as d}from"./footer-link-Ib1Hd-fr.js";var f=e();function p(){let{t:e}=t(),p=c(l.useSearch()),{data:m}=n(i);return(0,f.jsxs)(a,{cardPadding:!0,maxWidth:`100`,children:[(0,f.jsx)(u,{subtitle:e(`verify2fa.subtitle`),title:e(`verify2fa.title`)}),(0,f.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[m.auth.password.enabled&&m.auth.password.totp.enabled&&(0,f.jsxs)(r,{className:`btn btn-outline btn-block justify-start gap-3`,search:p,to:`/verify/totp`,children:[(0,f.jsx)(s,{className:`size-5`,weight:`regular`}),(0,f.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,f.jsx)(`span`,{className:`font-medium`,children:e(`verify2fa.totp.title`)}),(0,f.jsx)(`span`,{className:`text-xs opacity-70`,children:e(`verify2fa.totp.description`)})]})]}),m.auth.passkey.enabled&&(0,f.jsxs)(r,{className:`btn btn-outline btn-block justify-start gap-3`,search:p,to:`/verify/passkey`,children:[(0,f.jsx)(o,{className:`size-5`,weight:`regular`}),(0,f.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,f.jsx)(`span`,{className:`font-medium`,children:e(`verify2fa.passkey.title`)}),(0,f.jsx)(`span`,{className:`text-xs opacity-70`,children:e(`verify2fa.passkey.description`)})]})]})]}),(0,f.jsx)(d,{as:r,linkText:e(`verify2fa.backToLogin`),search:p,text:``,to:`/login`})]})}export{p as component};
|
|
2
|
+
//# sourceMappingURL=2fa-P8YqnDXC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2fa-
|
|
1
|
+
{"version":3,"file":"2fa-P8YqnDXC.js","names":["FingerprintIcon","ShieldCheckIcon","useSuspenseQuery","Link","useTranslation","FooterLink","PageHeader","PageLayout","extractOAuthParams","appConfigQueryOptions","Route","Verify2FA","t","search","useSearch","oauthParams","data","appConfig","auth","password","enabled","totp","passkey","component"],"sources":["../../../frontend/src/routes/verify/2fa/index.tsx?tsr-split=component"],"sourcesContent":["import { FingerprintIcon, ShieldCheckIcon } from '@phosphor-icons/react';\nimport { useSuspenseQuery } from '@tanstack/react-query';\nimport { createFileRoute, Link } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { FooterLink } from '#frontend/components/auth/footer-link.tsx';\nimport { PageHeader } from '#frontend/components/auth/page-header.tsx';\nimport { RouteErrorFallback } from '#frontend/components/ui/route-error-fallback.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport { extractOAuthParams } from '#frontend/libs/oauth-search.ts';\nimport { appConfigQueryOptions } from '#frontend/queries/config.ts';\n\nexport const Route = createFileRoute('/verify/2fa/')({\n component: Verify2FA,\n errorComponent: RouteErrorFallback,\n loader: async ({ context }) => {\n await context.queryClient.ensureQueryData(appConfigQueryOptions);\n },\n});\n\nfunction Verify2FA() {\n const { t } = useTranslation();\n const search = Route.useSearch();\n const oauthParams = extractOAuthParams(search);\n const { data: appConfig } = useSuspenseQuery(appConfigQueryOptions);\n\n return (\n <PageLayout cardPadding maxWidth=\"100\">\n <PageHeader\n subtitle={t('verify2fa.subtitle')}\n title={t('verify2fa.title')}\n />\n\n <div className=\"flex flex-col gap-4\">\n {appConfig.auth.password.enabled &&\n appConfig.auth.password.totp.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={oauthParams}\n to=\"/verify/totp\"\n >\n <ShieldCheckIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">{t('verify2fa.totp.title')}</span>\n <span className=\"text-xs opacity-70\">\n {t('verify2fa.totp.description')}\n </span>\n </div>\n </Link>\n )}\n\n {appConfig.auth.passkey.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={oauthParams}\n to=\"/verify/passkey\"\n >\n <FingerprintIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">\n {t('verify2fa.passkey.title')}\n </span>\n <span className=\"text-xs opacity-70\">\n {t('verify2fa.passkey.description')}\n </span>\n </div>\n </Link>\n )}\n </div>\n\n <FooterLink\n as={Link}\n linkText={t('verify2fa.backToLogin')}\n search={oauthParams}\n text=\"\"\n to=\"/login\"\n />\n </PageLayout>\n );\n}\n"],"mappings":"oZAmBA,SAASW,GAAY,CACnB,GAAM,CAAEC,KAAMR,EAAe,EAEvBW,EAAcP,EADLE,EAAMI,UACkBD,CAAM,EACvC,CAAEG,KAAMC,GAAcf,EAAiBO,CAAqB,EAElE,OACE,EAAA,EAAA,MAAC,EAAD,CAAY,YAAA,GAAY,SAAS,eAAjC,EACE,EAAA,EAAA,KAAC,EAAD,CACE,SAAUG,EAAE,oBAAoB,EAChC,MAAOA,EAAE,iBAAiB,CAAE,CAAA,GAG9B,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+BAAf,CACGK,EAAUC,KAAKC,SAASC,SACvBH,EAAUC,KAAKC,SAASE,KAAKD,UAC3B,EAAA,EAAA,MAAC,EAAD,CACE,UAAU,gDACV,OAAQL,EACR,GAAG,wBAHL,EAKE,EAAA,EAAA,KAAC,EAAD,CAAiB,UAAU,SAAS,OAAO,SAAS,CAAA,GACpD,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qCAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uBAAeH,EAAE,sBAAsB,CAAQ,CAAA,GAC/D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BACbA,EAAE,4BAA4B,CAC3B,CAAA,CACH,GACD,IAGTK,EAAUC,KAAKI,QAAQF,UACtB,EAAA,EAAA,MAAC,EAAD,CACE,UAAU,gDACV,OAAQL,EACR,GAAG,2BAHL,EAKE,EAAA,EAAA,KAAC,EAAD,CAAiB,UAAU,SAAS,OAAO,SAAS,CAAA,GACpD,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qCAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uBACbH,EAAE,yBAAyB,CACxB,CAAA,GACN,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BACbA,EAAE,+BAA+B,CAC9B,CAAA,CACH,GACD,GAEL,KAEL,EAAA,EAAA,KAAC,EAAD,CACE,GAAIT,EACJ,SAAUS,EAAE,uBAAuB,EACnC,OAAQG,EACR,KAAK,GACL,GAAG,QAAQ,CAAA,CAEH,GAEhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n,f as r,n as i}from"./use-theme-cVUDAjtt.js";import{t as a}from"./page-layout-C475gs09.js";import{t as o}from"./Fingerprint.es-CW755VWD.js";import{t as s}from"./ShieldCheck.es-CscPsYbC.js";import{
|
|
2
|
-
//# sourceMappingURL=2fa-
|
|
1
|
+
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n,f as r,n as i}from"./use-theme-cVUDAjtt.js";import{t as a}from"./page-layout-C475gs09.js";import{t as o}from"./Fingerprint.es-CW755VWD.js";import{t as s}from"./ShieldCheck.es-CscPsYbC.js";import{M as c,l}from"./index-CgkA6nnx.js";import{t as u}from"./page-header-BYMFSGfT.js";import{t as d}from"./alert-CSXqgDVi.js";import{t as f}from"./footer-link-Ib1Hd-fr.js";var p=e();function m(){let{t:e}=t(),m=l.useSearch(),{data:h}=n(i),g=c(m);return(0,p.jsxs)(a,{cardPadding:!0,maxWidth:`100`,children:[(0,p.jsx)(u,{subtitle:e(`setup2fa.subtitle`),title:e(`setup2fa.title`)}),(0,p.jsx)(d,{icon:s,type:`info`,children:e(`setup2fa.required`)}),(0,p.jsxs)(`div`,{className:`mt-4 flex flex-col gap-4`,children:[h.auth.password.enabled&&h.auth.password.totp.enabled&&(0,p.jsxs)(r,{className:`btn btn-outline btn-block justify-start gap-3`,search:g,to:`/setup/totp`,children:[(0,p.jsx)(s,{className:`size-5`,weight:`regular`}),(0,p.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,p.jsx)(`span`,{className:`font-medium`,children:e(`setup2fa.totp.title`)}),(0,p.jsx)(`span`,{className:`text-xs opacity-70`,children:e(`setup2fa.totp.description`)})]})]}),h.auth.passkey.enabled&&(0,p.jsxs)(r,{className:`btn btn-outline btn-block justify-start gap-3`,search:{...g,passkey_name:`default`},to:`/setup/passkey`,children:[(0,p.jsx)(o,{className:`size-5`,weight:`regular`}),(0,p.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,p.jsx)(`span`,{className:`font-medium`,children:e(`setup2fa.passkey.title`)}),(0,p.jsx)(`span`,{className:`text-xs opacity-70`,children:e(`setup2fa.passkey.description`)})]})]})]}),(0,p.jsx)(f,{as:r,linkText:e(`setup2fa.backToLogin`),search:g,text:``,to:`/login`})]})}export{m as component};
|
|
2
|
+
//# sourceMappingURL=2fa-fLX-LED8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2fa-
|
|
1
|
+
{"version":3,"file":"2fa-fLX-LED8.js","names":["FingerprintIcon","ShieldCheckIcon","useSuspenseQuery","Link","useTranslation","FooterLink","PageHeader","Alert","PageLayout","extractOAuthParams","appConfigQueryOptions","Route","Setup2FA","t","search","useSearch","data","appConfig","oauthParams","auth","password","enabled","totp","passkey","passkey_name","component"],"sources":["../../../frontend/src/routes/setup/2fa/index.tsx?tsr-split=component"],"sourcesContent":["import { FingerprintIcon, ShieldCheckIcon } from '@phosphor-icons/react';\nimport { useSuspenseQuery } from '@tanstack/react-query';\nimport { createFileRoute, Link } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { FooterLink } from '#frontend/components/auth/footer-link.tsx';\nimport { PageHeader } from '#frontend/components/auth/page-header.tsx';\nimport { Alert } from '#frontend/components/ui/alert.tsx';\nimport { RouteErrorFallback } from '#frontend/components/ui/route-error-fallback.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport { extractOAuthParams } from '#frontend/libs/oauth-search.ts';\nimport { appConfigQueryOptions } from '#frontend/queries/config.ts';\n\nexport const Route = createFileRoute('/setup/2fa/')({\n component: Setup2FA,\n errorComponent: RouteErrorFallback,\n loader: async ({ context }) => {\n await context.queryClient.ensureQueryData(appConfigQueryOptions);\n },\n});\n\nfunction Setup2FA() {\n const { t } = useTranslation();\n const search = Route.useSearch();\n const { data: appConfig } = useSuspenseQuery(appConfigQueryOptions);\n const oauthParams = extractOAuthParams(search);\n\n return (\n <PageLayout cardPadding maxWidth=\"100\">\n <PageHeader\n subtitle={t('setup2fa.subtitle')}\n title={t('setup2fa.title')}\n />\n\n <Alert icon={ShieldCheckIcon} type=\"info\">\n {t('setup2fa.required')}\n </Alert>\n\n <div className=\"mt-4 flex flex-col gap-4\">\n {appConfig.auth.password.enabled &&\n appConfig.auth.password.totp.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={oauthParams}\n to=\"/setup/totp\"\n >\n <ShieldCheckIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">{t('setup2fa.totp.title')}</span>\n <span className=\"text-xs opacity-70\">\n {t('setup2fa.totp.description')}\n </span>\n </div>\n </Link>\n )}\n\n {appConfig.auth.passkey.enabled && (\n <Link\n className=\"btn btn-outline btn-block justify-start gap-3\"\n search={{\n ...oauthParams,\n passkey_name: 'default',\n }}\n to=\"/setup/passkey\"\n >\n <FingerprintIcon className=\"size-5\" weight=\"regular\" />\n <div className=\"flex flex-col items-start\">\n <span className=\"font-medium\">{t('setup2fa.passkey.title')}</span>\n <span className=\"text-xs opacity-70\">\n {t('setup2fa.passkey.description')}\n </span>\n </div>\n </Link>\n )}\n </div>\n\n <FooterLink\n as={Link}\n linkText={t('setup2fa.backToLogin')}\n search={oauthParams}\n text=\"\"\n to=\"/login\"\n />\n </PageLayout>\n );\n}\n"],"mappings":"ubAoBA,SAASY,GAAW,CAClB,GAAM,CAAEC,KAAMT,EAAe,EACvBU,EAASH,EAAMI,UAAU,EACzB,CAAEC,KAAMC,GAAcf,EAAiBQ,CAAqB,EAC5DQ,EAAcT,EAAmBK,CAAM,EAE7C,OACE,EAAA,EAAA,MAAC,EAAD,CAAY,YAAA,GAAY,SAAS,eAAjC,EACE,EAAA,EAAA,KAAC,EAAD,CACE,SAAUD,EAAE,mBAAmB,EAC/B,MAAOA,EAAE,gBAAgB,CAAE,CAAA,GAG7B,EAAA,EAAA,KAAC,EAAD,CAAO,KAAMZ,EAAiB,KAAK,gBAChCY,EAAE,mBAAmB,CACjB,CAAA,GAEP,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oCAAf,CACGI,EAAUE,KAAKC,SAASC,SACvBJ,EAAUE,KAAKC,SAASE,KAAKD,UAC3B,EAAA,EAAA,MAAC,EAAD,CACE,UAAU,gDACV,OAAQH,EACR,GAAG,uBAHL,EAKE,EAAA,EAAA,KAAC,EAAD,CAAiB,UAAU,SAAS,OAAO,SAAS,CAAA,GACpD,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qCAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uBAAeL,EAAE,qBAAqB,CAAQ,CAAA,GAC9D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BACbA,EAAE,2BAA2B,CAC1B,CAAA,CACH,GACD,IAGTI,EAAUE,KAAKI,QAAQF,UACtB,EAAA,EAAA,MAAC,EAAD,CACE,UAAU,gDACV,OAAQ,CACN,GAAGH,EACHM,aAAc,SAChB,EACA,GAAG,0BANL,EAQE,EAAA,EAAA,KAAC,EAAD,CAAiB,UAAU,SAAS,OAAO,SAAS,CAAA,GACpD,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qCAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uBAAeX,EAAE,wBAAwB,CAAQ,CAAA,GACjE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BACbA,EAAE,8BAA8B,CAC7B,CAAA,CACH,GACD,GAEL,KAEL,EAAA,EAAA,KAAC,EAAD,CACE,GAAIV,EACJ,SAAUU,EAAE,sBAAsB,EAClC,OAAQK,EACR,KAAK,GACL,GAAG,QAAQ,CAAA,CAEH,GAEhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n,f as r,n as i}from"./use-theme-cVUDAjtt.js";import{t as a}from"./page-layout-C475gs09.js";import{
|
|
2
|
-
//# sourceMappingURL=admin-
|
|
1
|
+
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n,f as r,n as i}from"./use-theme-cVUDAjtt.js";import{t as a}from"./page-layout-C475gs09.js";import{R as o,g as s}from"./index-CgkA6nnx.js";import{o as c,s as l,t as u}from"./admin-users-CTAQJl7w.js";var d=e();function f(){let{t:e}=t(),n=s.useRouteContext({select:e=>e.user});return n?.role===`admin`?(0,d.jsx)(p,{user:n}):(0,d.jsxs)(a,{cardPadding:!0,maxWidth:`md`,children:[(0,d.jsx)(`h1`,{className:`mb-2 text-center font-bold text-2xl`,children:e(`admin.accessRequired`)}),(0,d.jsx)(`p`,{className:`text-center text-base-content/60`,children:e(`admin.accessRequiredDescription`)})]})}function p({user:e}){let{data:t}=n(i);return t.admin.enabled?(0,d.jsx)(m,{user:e}):(0,d.jsx)(l,{})}function m({user:e}){let{t:n}=t(),[i,a,s,l]=o({queries:[u(),u({pageSize:1,role:`admin`}),u({managedBy:`config`,pageSize:1}),u({managedBy:`database`,pageSize:1})]}),f=i.data,p=s.data.pagination.total,m=l.data.pagination.total,y=a.data.pagination.total;return(0,d.jsxs)(c,{current:`dashboard`,description:n(`admin.dashboardDescription`),title:n(`admin.dashboardTitle`),user:e,children:[(0,d.jsxs)(`div`,{className:`stats stats-vertical lg:stats-horizontal w-full overflow-hidden rounded-[1.5rem] border border-white/10 bg-white/[0.035] shadow-[0_24px_80px_rgba(0,0,0,0.24)] backdrop-blur-xl`,children:[(0,d.jsx)(_,{accent:`from-[#7170ff] to-[#9da3ff]`,hint:n(`admin.metrics.totalUsersHint`),label:n(`admin.metrics.totalUsers`),value:f.pagination.total}),(0,d.jsx)(_,{accent:`from-emerald-400 to-teal-300`,hint:n(`admin.metrics.adminsHint`),label:n(`admin.metrics.admins`),value:y}),(0,d.jsx)(_,{accent:`from-sky-400 to-cyan-300`,hint:n(`admin.metrics.databaseUsersHint`),label:n(`admin.metrics.databaseUsers`),value:m})]}),(0,d.jsxs)(`div`,{className:`mt-6 grid gap-6 xl:grid-cols-[1.35fr_0.75fr]`,children:[(0,d.jsx)(`section`,{className:`card overflow-hidden border border-white/10 bg-white/[0.035] shadow-[0_24px_80px_rgba(0,0,0,0.22)] backdrop-blur-xl`,children:(0,d.jsxs)(`div`,{className:`card-body p-0`,children:[(0,d.jsxs)(`div`,{className:`flex flex-col gap-4 border-white/10 border-b p-6 sm:flex-row sm:items-center sm:justify-between`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,d.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-[#7170ff] shadow-[0_0_18px_rgba(113,112,255,0.8)]`}),(0,d.jsx)(`span`,{className:`font-medium text-slate-500 text-xs uppercase tracking-[0.18em]`,children:n(`admin.identityGraph`)})]}),(0,d.jsx)(`h2`,{className:`card-title text-slate-100`,children:n(`admin.users.title`)}),(0,d.jsx)(`p`,{className:`mt-1 text-slate-400 text-sm`,children:n(`admin.users.description`)})]}),(0,d.jsx)(r,{className:`btn btn-primary btn-sm border-0 bg-[#7170ff] text-white shadow-[0_14px_40px_rgba(113,112,255,0.32)] hover:bg-[#828fff]`,to:`/admin/users`,children:n(`admin.users.open`)})]}),(0,d.jsx)(`div`,{className:`grid gap-0 divide-y divide-white/10 md:grid-cols-2 md:divide-x md:divide-y-0`,children:f.users.slice(0,4).map(e=>(0,d.jsxs)(`div`,{className:`group bg-white/[0.015] p-5 transition hover:bg-white/[0.045]`,children:[(0,d.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,d.jsxs)(`div`,{className:`min-w-0`,children:[(0,d.jsx)(`p`,{className:`truncate font-medium text-slate-100 text-sm`,children:e.email}),(0,d.jsx)(`p`,{className:`mt-1 truncate font-mono text-slate-600 text-xs`,children:e.sub})]}),(0,d.jsx)(`span`,{className:e.role===`admin`?`badge badge-primary border-[#7170ff]/30 bg-[#7170ff]/20 text-[#c7c8ff]`:`badge badge-outline border-white/15 text-slate-400`,children:h(n,e.role)})]}),(0,d.jsxs)(`div`,{className:`mt-4 flex items-center justify-between text-xs`,children:[(0,d.jsx)(`span`,{className:`badge badge-ghost border-white/10 bg-white/[0.035] text-slate-400`,children:g(n,e.managed_by)}),(0,d.jsxs)(`span`,{className:`text-slate-500`,children:[n(`admin.users.verifiedLabel`),` `,e.email_verified?n(`common.yes`):n(`common.no`)]})]})]},e.sub))})]})}),(0,d.jsx)(`section`,{className:`card overflow-hidden border border-[#7170ff]/20 bg-[linear-gradient(145deg,rgba(113,112,255,0.18),rgba(255,255,255,0.035)_45%,rgba(16,185,129,0.10))] text-slate-100 shadow-[0_24px_80px_rgba(0,0,0,0.25)] backdrop-blur-xl`,children:(0,d.jsxs)(`div`,{className:`card-body`,children:[(0,d.jsx)(`div`,{className:`badge badge-primary badge-outline border-[#7170ff]/40 bg-[#7170ff]/10 text-[#c7c8ff]`,children:n(`admin.policy.title`)}),(0,d.jsx)(`h2`,{className:`card-title mt-3 text-2xl tracking-[-0.03em]`,children:n(`admin.policy.heading`)}),(0,d.jsx)(`p`,{className:`mt-1 text-slate-400 text-sm`,children:n(`admin.policy.description`)}),(0,d.jsxs)(`div`,{className:`mt-6 space-y-3`,children:[(0,d.jsx)(v,{label:n(`admin.metrics.configUsers`),value:p}),(0,d.jsx)(v,{label:n(`admin.metrics.databaseUsers`),value:m}),(0,d.jsx)(v,{label:n(`admin.policy.configReadonly`),value:n(`common.on`)})]})]})})]})]})}function h(e,t){return e(t===`admin`?`admin.users.roleAdmin`:`admin.users.roleUser`)}function g(e,t){return e(t===`database`?`admin.users.sourceDatabase`:`admin.users.sourceConfig`)}function _({label:e,value:t,hint:n,accent:r}){return(0,d.jsxs)(`div`,{className:`stat border-white/10 bg-transparent p-6`,children:[(0,d.jsx)(`div`,{className:`mb-4 h-1.5 w-16 rounded-full bg-gradient-to-r ${r}`}),(0,d.jsx)(`div`,{className:`stat-title text-slate-500`,children:e}),(0,d.jsx)(`div`,{className:`stat-value mt-1 text-slate-50 tracking-[-0.06em]`,children:t}),(0,d.jsx)(`div`,{className:`stat-desc mt-2 text-slate-500`,children:n})]})}function v({label:e,value:t}){return(0,d.jsxs)(`div`,{className:`flex items-center justify-between rounded-2xl border border-white/10 bg-black/20 px-4 py-3`,children:[(0,d.jsx)(`span`,{className:`text-slate-300`,children:e}),(0,d.jsx)(`span`,{className:`badge badge-primary border-[#7170ff]/30 bg-[#7170ff]/20 text-[#d7d8ff]`,children:t})]})}export{f as component};
|
|
2
|
+
//# sourceMappingURL=admin-BLPp8bT8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-CXJ0z2QN.js","names":["useSuspenseQueries","useSuspenseQuery","Link","useTranslation","AdminDisabledPanel","AdminShell","PageLayout","adminUsersQueryOptions","appConfigQueryOptions","Route","AdminDashboard","t","user","useRouteContext","select","context","role","AdminDashboardGate","SessionUser","data","config","admin","enabled","AdminDashboardContent","usersQuery","adminQuery","configQuery","databaseQuery","queries","pageSize","managedBy","configUsers","pagination","total","databaseUsers","admins","users","slice","map","managedUser","sub","email","formatAdminRole","formatManagedBy","managed_by","email_verified","ReturnType","MetricStat","label","value","hint","accent","PolicyRow","component"],"sources":["../../../frontend/src/routes/admin/index.tsx?tsr-split=component"],"sourcesContent":["import { useSuspenseQueries, useSuspenseQuery } from '@tanstack/react-query';\nimport { createFileRoute, Link, redirect } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { AdminDisabledPanel } from '#frontend/features/admin/admin-disabled-panel.tsx';\nimport { AdminShell } from '#frontend/features/admin/admin-shell.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport { adminUsersQueryOptions } from '#frontend/queries/admin-users.ts';\nimport { appConfigQueryOptions } from '#frontend/queries/config.ts';\nimport type { SessionUser } from '#frontend/queries/session.ts';\n\nexport const Route = createFileRoute('/admin/')({\n component: AdminDashboard,\n beforeLoad: async ({ context }) => {\n if (!context.user) {\n throw redirect({\n to: '/login',\n });\n }\n },\n});\n\nfunction AdminDashboard() {\n const { t } = useTranslation();\n const user = Route.useRouteContext({ select: (context) => context.user });\n\n if (user?.role !== 'admin') {\n return (\n <PageLayout cardPadding maxWidth=\"md\">\n <h1 className=\"mb-2 text-center font-bold text-2xl\">\n {t('admin.accessRequired')}\n </h1>\n <p className=\"text-center text-base-content/60\">\n {t('admin.accessRequiredDescription')}\n </p>\n </PageLayout>\n );\n }\n\n return <AdminDashboardGate user={user} />;\n}\n\nfunction AdminDashboardGate({ user }: { user: SessionUser }) {\n const { data: config } = useSuspenseQuery(appConfigQueryOptions);\n if (!config.admin.enabled) {\n return <AdminDisabledPanel />;\n }\n return <AdminDashboardContent user={user} />;\n}\n\nfunction AdminDashboardContent({ user }: { user: SessionUser }) {\n const { t } = useTranslation();\n const [usersQuery, adminQuery, configQuery, databaseQuery] =\n useSuspenseQueries({\n queries: [\n adminUsersQueryOptions(),\n adminUsersQueryOptions({ pageSize: 1, role: 'admin' }),\n adminUsersQueryOptions({ managedBy: 'config', pageSize: 1 }),\n adminUsersQueryOptions({ managedBy: 'database', pageSize: 1 }),\n ],\n });\n const data = usersQuery.data;\n const configUsers = configQuery.data.pagination.total;\n const databaseUsers = databaseQuery.data.pagination.total;\n const admins = adminQuery.data.pagination.total;\n\n return (\n <AdminShell\n current=\"dashboard\"\n description={t('admin.dashboardDescription')}\n title={t('admin.dashboardTitle')}\n user={user}\n >\n <div className=\"stats stats-vertical lg:stats-horizontal w-full overflow-hidden rounded-[1.5rem] border border-white/10 bg-white/[0.035] shadow-[0_24px_80px_rgba(0,0,0,0.24)] backdrop-blur-xl\">\n <MetricStat\n accent=\"from-[#7170ff] to-[#9da3ff]\"\n hint={t('admin.metrics.totalUsersHint')}\n label={t('admin.metrics.totalUsers')}\n value={data.pagination.total}\n />\n <MetricStat\n accent=\"from-emerald-400 to-teal-300\"\n hint={t('admin.metrics.adminsHint')}\n label={t('admin.metrics.admins')}\n value={admins}\n />\n <MetricStat\n accent=\"from-sky-400 to-cyan-300\"\n hint={t('admin.metrics.databaseUsersHint')}\n label={t('admin.metrics.databaseUsers')}\n value={databaseUsers}\n />\n </div>\n\n <div className=\"mt-6 grid gap-6 xl:grid-cols-[1.35fr_0.75fr]\">\n <section className=\"card overflow-hidden border border-white/10 bg-white/[0.035] shadow-[0_24px_80px_rgba(0,0,0,0.22)] backdrop-blur-xl\">\n <div className=\"card-body p-0\">\n <div className=\"flex flex-col gap-4 border-white/10 border-b p-6 sm:flex-row sm:items-center sm:justify-between\">\n <div>\n <div className=\"mb-2 flex items-center gap-2\">\n <span className=\"h-2 w-2 rounded-full bg-[#7170ff] shadow-[0_0_18px_rgba(113,112,255,0.8)]\" />\n <span className=\"font-medium text-slate-500 text-xs uppercase tracking-[0.18em]\">\n {t('admin.identityGraph')}\n </span>\n </div>\n <h2 className=\"card-title text-slate-100\">\n {t('admin.users.title')}\n </h2>\n <p className=\"mt-1 text-slate-400 text-sm\">\n {t('admin.users.description')}\n </p>\n </div>\n <Link\n className=\"btn btn-primary btn-sm border-0 bg-[#7170ff] text-white shadow-[0_14px_40px_rgba(113,112,255,0.32)] hover:bg-[#828fff]\"\n to=\"/admin/users\"\n >\n {t('admin.users.open')}\n </Link>\n </div>\n\n <div className=\"grid gap-0 divide-y divide-white/10 md:grid-cols-2 md:divide-x md:divide-y-0\">\n {data.users.slice(0, 4).map((managedUser) => (\n <div\n className=\"group bg-white/[0.015] p-5 transition hover:bg-white/[0.045]\"\n key={managedUser.sub}\n >\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"min-w-0\">\n <p className=\"truncate font-medium text-slate-100 text-sm\">\n {managedUser.email}\n </p>\n <p className=\"mt-1 truncate font-mono text-slate-600 text-xs\">\n {managedUser.sub}\n </p>\n </div>\n <span\n className={\n managedUser.role === 'admin'\n ? 'badge badge-primary border-[#7170ff]/30 bg-[#7170ff]/20 text-[#c7c8ff]'\n : 'badge badge-outline border-white/15 text-slate-400'\n }\n >\n {formatAdminRole(t, managedUser.role)}\n </span>\n </div>\n <div className=\"mt-4 flex items-center justify-between text-xs\">\n <span className=\"badge badge-ghost border-white/10 bg-white/[0.035] text-slate-400\">\n {formatManagedBy(t, managedUser.managed_by)}\n </span>\n <span className=\"text-slate-500\">\n {t('admin.users.verifiedLabel')}{' '}\n {managedUser.email_verified\n ? t('common.yes')\n : t('common.no')}\n </span>\n </div>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n <section className=\"card overflow-hidden border border-[#7170ff]/20 bg-[linear-gradient(145deg,rgba(113,112,255,0.18),rgba(255,255,255,0.035)_45%,rgba(16,185,129,0.10))] text-slate-100 shadow-[0_24px_80px_rgba(0,0,0,0.25)] backdrop-blur-xl\">\n <div className=\"card-body\">\n <div className=\"badge badge-primary badge-outline border-[#7170ff]/40 bg-[#7170ff]/10 text-[#c7c8ff]\">\n {t('admin.policy.title')}\n </div>\n <h2 className=\"card-title mt-3 text-2xl tracking-[-0.03em]\">\n {t('admin.policy.heading')}\n </h2>\n <p className=\"mt-1 text-slate-400 text-sm\">\n {t('admin.policy.description')}\n </p>\n <div className=\"mt-6 space-y-3\">\n <PolicyRow\n label={t('admin.metrics.configUsers')}\n value={configUsers}\n />\n <PolicyRow\n label={t('admin.metrics.databaseUsers')}\n value={databaseUsers}\n />\n <PolicyRow\n label={t('admin.policy.configReadonly')}\n value={t('common.on')}\n />\n </div>\n </div>\n </section>\n </div>\n </AdminShell>\n );\n}\n\nfunction formatAdminRole(\n t: ReturnType<typeof useTranslation>['t'],\n role: SessionUser['role'],\n) {\n return role === 'admin'\n ? t('admin.users.roleAdmin')\n : t('admin.users.roleUser');\n}\n\nfunction formatManagedBy(\n t: ReturnType<typeof useTranslation>['t'],\n managedBy: 'database' | 'config',\n) {\n return managedBy === 'database'\n ? t('admin.users.sourceDatabase')\n : t('admin.users.sourceConfig');\n}\n\nfunction MetricStat({\n label,\n value,\n hint,\n accent,\n}: {\n label: string;\n value: number;\n hint: string;\n accent: string;\n}) {\n return (\n <div className=\"stat border-white/10 bg-transparent p-6\">\n <div\n className={`mb-4 h-1.5 w-16 rounded-full bg-gradient-to-r ${accent}`}\n />\n <div className=\"stat-title text-slate-500\">{label}</div>\n <div className=\"stat-value mt-1 text-slate-50 tracking-[-0.06em]\">\n {value}\n </div>\n <div className=\"stat-desc mt-2 text-slate-500\">{hint}</div>\n </div>\n );\n}\n\nfunction PolicyRow({\n label,\n value,\n}: {\n label: string;\n value: number | string;\n}) {\n return (\n <div className=\"flex items-center justify-between rounded-2xl border border-white/10 bg-black/20 px-4 py-3\">\n <span className=\"text-slate-300\">{label}</span>\n <span className=\"badge badge-primary border-[#7170ff]/30 bg-[#7170ff]/20 text-[#d7d8ff]\">\n {value}\n </span>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-BLPp8bT8.js","names":["useSuspenseQueries","useSuspenseQuery","Link","useTranslation","AdminDisabledPanel","AdminShell","PageLayout","adminUsersQueryOptions","appConfigQueryOptions","Route","AdminDashboard","t","user","useRouteContext","select","context","role","AdminDashboardGate","SessionUser","data","config","admin","enabled","AdminDashboardContent","usersQuery","adminQuery","configQuery","databaseQuery","queries","pageSize","managedBy","configUsers","pagination","total","databaseUsers","admins","users","slice","map","managedUser","sub","email","formatAdminRole","formatManagedBy","managed_by","email_verified","ReturnType","MetricStat","label","value","hint","accent","PolicyRow","component"],"sources":["../../../frontend/src/routes/admin/index.tsx?tsr-split=component"],"sourcesContent":["import { useSuspenseQueries, useSuspenseQuery } from '@tanstack/react-query';\nimport { createFileRoute, Link, redirect } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { AdminDisabledPanel } from '#frontend/features/admin/admin-disabled-panel.tsx';\nimport { AdminShell } from '#frontend/features/admin/admin-shell.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport { adminUsersQueryOptions } from '#frontend/queries/admin-users.ts';\nimport { appConfigQueryOptions } from '#frontend/queries/config.ts';\nimport type { SessionUser } from '#frontend/queries/session.ts';\n\nexport const Route = createFileRoute('/admin/')({\n component: AdminDashboard,\n beforeLoad: async ({ context }) => {\n if (!context.user) {\n throw redirect({\n to: '/login',\n });\n }\n },\n});\n\nfunction AdminDashboard() {\n const { t } = useTranslation();\n const user = Route.useRouteContext({ select: (context) => context.user });\n\n if (user?.role !== 'admin') {\n return (\n <PageLayout cardPadding maxWidth=\"md\">\n <h1 className=\"mb-2 text-center font-bold text-2xl\">\n {t('admin.accessRequired')}\n </h1>\n <p className=\"text-center text-base-content/60\">\n {t('admin.accessRequiredDescription')}\n </p>\n </PageLayout>\n );\n }\n\n return <AdminDashboardGate user={user} />;\n}\n\nfunction AdminDashboardGate({ user }: { user: SessionUser }) {\n const { data: config } = useSuspenseQuery(appConfigQueryOptions);\n if (!config.admin.enabled) {\n return <AdminDisabledPanel />;\n }\n return <AdminDashboardContent user={user} />;\n}\n\nfunction AdminDashboardContent({ user }: { user: SessionUser }) {\n const { t } = useTranslation();\n const [usersQuery, adminQuery, configQuery, databaseQuery] =\n useSuspenseQueries({\n queries: [\n adminUsersQueryOptions(),\n adminUsersQueryOptions({ pageSize: 1, role: 'admin' }),\n adminUsersQueryOptions({ managedBy: 'config', pageSize: 1 }),\n adminUsersQueryOptions({ managedBy: 'database', pageSize: 1 }),\n ],\n });\n const data = usersQuery.data;\n const configUsers = configQuery.data.pagination.total;\n const databaseUsers = databaseQuery.data.pagination.total;\n const admins = adminQuery.data.pagination.total;\n\n return (\n <AdminShell\n current=\"dashboard\"\n description={t('admin.dashboardDescription')}\n title={t('admin.dashboardTitle')}\n user={user}\n >\n <div className=\"stats stats-vertical lg:stats-horizontal w-full overflow-hidden rounded-[1.5rem] border border-white/10 bg-white/[0.035] shadow-[0_24px_80px_rgba(0,0,0,0.24)] backdrop-blur-xl\">\n <MetricStat\n accent=\"from-[#7170ff] to-[#9da3ff]\"\n hint={t('admin.metrics.totalUsersHint')}\n label={t('admin.metrics.totalUsers')}\n value={data.pagination.total}\n />\n <MetricStat\n accent=\"from-emerald-400 to-teal-300\"\n hint={t('admin.metrics.adminsHint')}\n label={t('admin.metrics.admins')}\n value={admins}\n />\n <MetricStat\n accent=\"from-sky-400 to-cyan-300\"\n hint={t('admin.metrics.databaseUsersHint')}\n label={t('admin.metrics.databaseUsers')}\n value={databaseUsers}\n />\n </div>\n\n <div className=\"mt-6 grid gap-6 xl:grid-cols-[1.35fr_0.75fr]\">\n <section className=\"card overflow-hidden border border-white/10 bg-white/[0.035] shadow-[0_24px_80px_rgba(0,0,0,0.22)] backdrop-blur-xl\">\n <div className=\"card-body p-0\">\n <div className=\"flex flex-col gap-4 border-white/10 border-b p-6 sm:flex-row sm:items-center sm:justify-between\">\n <div>\n <div className=\"mb-2 flex items-center gap-2\">\n <span className=\"h-2 w-2 rounded-full bg-[#7170ff] shadow-[0_0_18px_rgba(113,112,255,0.8)]\" />\n <span className=\"font-medium text-slate-500 text-xs uppercase tracking-[0.18em]\">\n {t('admin.identityGraph')}\n </span>\n </div>\n <h2 className=\"card-title text-slate-100\">\n {t('admin.users.title')}\n </h2>\n <p className=\"mt-1 text-slate-400 text-sm\">\n {t('admin.users.description')}\n </p>\n </div>\n <Link\n className=\"btn btn-primary btn-sm border-0 bg-[#7170ff] text-white shadow-[0_14px_40px_rgba(113,112,255,0.32)] hover:bg-[#828fff]\"\n to=\"/admin/users\"\n >\n {t('admin.users.open')}\n </Link>\n </div>\n\n <div className=\"grid gap-0 divide-y divide-white/10 md:grid-cols-2 md:divide-x md:divide-y-0\">\n {data.users.slice(0, 4).map((managedUser) => (\n <div\n className=\"group bg-white/[0.015] p-5 transition hover:bg-white/[0.045]\"\n key={managedUser.sub}\n >\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"min-w-0\">\n <p className=\"truncate font-medium text-slate-100 text-sm\">\n {managedUser.email}\n </p>\n <p className=\"mt-1 truncate font-mono text-slate-600 text-xs\">\n {managedUser.sub}\n </p>\n </div>\n <span\n className={\n managedUser.role === 'admin'\n ? 'badge badge-primary border-[#7170ff]/30 bg-[#7170ff]/20 text-[#c7c8ff]'\n : 'badge badge-outline border-white/15 text-slate-400'\n }\n >\n {formatAdminRole(t, managedUser.role)}\n </span>\n </div>\n <div className=\"mt-4 flex items-center justify-between text-xs\">\n <span className=\"badge badge-ghost border-white/10 bg-white/[0.035] text-slate-400\">\n {formatManagedBy(t, managedUser.managed_by)}\n </span>\n <span className=\"text-slate-500\">\n {t('admin.users.verifiedLabel')}{' '}\n {managedUser.email_verified\n ? t('common.yes')\n : t('common.no')}\n </span>\n </div>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n <section className=\"card overflow-hidden border border-[#7170ff]/20 bg-[linear-gradient(145deg,rgba(113,112,255,0.18),rgba(255,255,255,0.035)_45%,rgba(16,185,129,0.10))] text-slate-100 shadow-[0_24px_80px_rgba(0,0,0,0.25)] backdrop-blur-xl\">\n <div className=\"card-body\">\n <div className=\"badge badge-primary badge-outline border-[#7170ff]/40 bg-[#7170ff]/10 text-[#c7c8ff]\">\n {t('admin.policy.title')}\n </div>\n <h2 className=\"card-title mt-3 text-2xl tracking-[-0.03em]\">\n {t('admin.policy.heading')}\n </h2>\n <p className=\"mt-1 text-slate-400 text-sm\">\n {t('admin.policy.description')}\n </p>\n <div className=\"mt-6 space-y-3\">\n <PolicyRow\n label={t('admin.metrics.configUsers')}\n value={configUsers}\n />\n <PolicyRow\n label={t('admin.metrics.databaseUsers')}\n value={databaseUsers}\n />\n <PolicyRow\n label={t('admin.policy.configReadonly')}\n value={t('common.on')}\n />\n </div>\n </div>\n </section>\n </div>\n </AdminShell>\n );\n}\n\nfunction formatAdminRole(\n t: ReturnType<typeof useTranslation>['t'],\n role: SessionUser['role'],\n) {\n return role === 'admin'\n ? t('admin.users.roleAdmin')\n : t('admin.users.roleUser');\n}\n\nfunction formatManagedBy(\n t: ReturnType<typeof useTranslation>['t'],\n managedBy: 'database' | 'config',\n) {\n return managedBy === 'database'\n ? t('admin.users.sourceDatabase')\n : t('admin.users.sourceConfig');\n}\n\nfunction MetricStat({\n label,\n value,\n hint,\n accent,\n}: {\n label: string;\n value: number;\n hint: string;\n accent: string;\n}) {\n return (\n <div className=\"stat border-white/10 bg-transparent p-6\">\n <div\n className={`mb-4 h-1.5 w-16 rounded-full bg-gradient-to-r ${accent}`}\n />\n <div className=\"stat-title text-slate-500\">{label}</div>\n <div className=\"stat-value mt-1 text-slate-50 tracking-[-0.06em]\">\n {value}\n </div>\n <div className=\"stat-desc mt-2 text-slate-500\">{hint}</div>\n </div>\n );\n}\n\nfunction PolicyRow({\n label,\n value,\n}: {\n label: string;\n value: number | string;\n}) {\n return (\n <div className=\"flex items-center justify-between rounded-2xl border border-white/10 bg-black/20 px-4 py-3\">\n <span className=\"text-slate-300\">{label}</span>\n <span className=\"badge badge-primary border-[#7170ff]/30 bg-[#7170ff]/20 text-[#d7d8ff]\">\n {value}\n </span>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n}from"./use-theme-cVUDAjtt.js";import{t as r}from"./useMutation-
|
|
2
|
-
//# sourceMappingURL=consent-
|
|
1
|
+
import{o as e,r as t}from"./IconBase.es-d5KP98Ac.js";import{Q as n}from"./use-theme-cVUDAjtt.js";import{t as r}from"./useMutation-Biy2-pH_.js";import{t as i}from"./page-layout-C475gs09.js";import{t as a}from"./ShieldCheck.es-CscPsYbC.js";import{t as o}from"./X.es-IwdB4hWT.js";import{_ as s,v as c,y as l}from"./index-CgkA6nnx.js";import{t as u}from"./page-header-BYMFSGfT.js";var d=e();function f(){let{t:e}=t(),f=s.useSearch(),p=n(l({client_id:f.client_id,scope:f.scope})),m=r({...c,onSuccess:e=>{window.location.href=e.redirect_url}}),h=()=>{m.mutate({client_id:f.client_id,redirect_uri:f.redirect_uri,response_type:f.response_type,scope:f.scope,state:f.state,nonce:f.nonce,code_challenge:f.code_challenge,code_challenge_method:f.code_challenge_method,prompt:f.prompt,max_age:f.max_age,display:f.display,response_mode:f.response_mode,login_hint:f.login_hint,ui_locales:f.ui_locales,id_token_hint:f.id_token_hint,acr_values:f.acr_values,account_selected:f.account_selected,account_selection_state:f.account_selection_state,decision:`allow`})},g=()=>{m.mutate({client_id:f.client_id,redirect_uri:f.redirect_uri,response_type:f.response_type,scope:f.scope,state:f.state,nonce:f.nonce,code_challenge:f.code_challenge,code_challenge_method:f.code_challenge_method,prompt:f.prompt,max_age:f.max_age,display:f.display,response_mode:f.response_mode,login_hint:f.login_hint,ui_locales:f.ui_locales,id_token_hint:f.id_token_hint,acr_values:f.acr_values,account_selected:f.account_selected,account_selection_state:f.account_selection_state,decision:`deny`})},{client:_,scopes:v,user:y}=p.data;return(0,d.jsxs)(i,{cardPadding:!0,maxWidth:`100`,children:[(0,d.jsx)(u,{subtitle:e(`consent.subtitle`,{app:_.name}),title:e(`consent.title`)}),(0,d.jsxs)(`div`,{className:`mb-4 rounded-lg bg-base-200 p-3 text-center`,children:[(0,d.jsx)(`p`,{className:`text-base-content/60 text-xs`,children:e(`consent.loggedInAs`)}),(0,d.jsx)(`p`,{className:`font-medium text-sm`,"data-testid":`consent-user-email`,children:y.email})]}),(0,d.jsxs)(`div`,{className:`mb-4`,children:[(0,d.jsx)(`h2`,{className:`mb-3 font-semibold text-sm`,children:e(`consent.permissions.title`)}),(0,d.jsx)(`ul`,{className:`flex flex-col gap-2`,"data-testid":`consent-scope-list`,children:v.map(t=>(0,d.jsxs)(`li`,{className:`flex items-start gap-3 rounded-lg bg-base-200 p-3`,children:[(0,d.jsx)(`div`,{className:`mt-0.5 rounded-full bg-primary/20 p-1`,children:(0,d.jsx)(a,{className:`size-4 text-primary`,weight:`fill`})}),(0,d.jsx)(`p`,{className:`font-medium text-sm`,children:e(`consent.scope.${t.name}`,{defaultValue:t.description})})]},t.name))})]}),(0,d.jsxs)(`div`,{className:`flex gap-3`,children:[(0,d.jsx)(`button`,{className:`btn btn-outline h-10 flex-1 font-semibold text-[14px]`,"data-testid":`consent-deny`,disabled:m.isPending,onClick:g,type:`button`,children:m.isPending?(0,d.jsx)(`span`,{className:`loading loading-spinner loading-sm`}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o,{className:`size-4`,weight:`bold`}),e(`consent.deny`)]})}),(0,d.jsx)(`button`,{className:`btn btn-primary h-10 flex-1 font-semibold text-[14px]`,"data-testid":`consent-allow`,disabled:m.isPending,onClick:h,type:`button`,children:m.isPending?(0,d.jsx)(`span`,{className:`loading loading-spinner loading-sm`}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a,{className:`size-4`,weight:`fill`}),e(`consent.allow`)]})})]})]})}export{f as component};
|
|
2
|
+
//# sourceMappingURL=consent-CjXe4bU5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-C-h_pWHQ.js","names":["ShieldCheckIcon","XIcon","useMutation","useSuspenseQuery","useTranslation","PageHeader","PageLayout","consentDecisionMutationOptions","getConsentInfoQueryOptions","Route","Consent","t","search","useSearch","consentInfoQuery","client_id","scope","consentMutation","onSuccess","data","window","location","href","redirect_url","handleAllow","mutate","redirect_uri","response_type","state","nonce","code_challenge","code_challenge_method","prompt","max_age","display","response_mode","login_hint","ui_locales","id_token_hint","acr_values","account_selected","account_selection_state","decision","handleDeny","client","scopes","user","app","name","email","map","description","defaultValue","isPending","component"],"sources":["../../../frontend/src/routes/consent/index.tsx?tsr-split=component"],"sourcesContent":["import { ShieldCheckIcon, XIcon } from '@phosphor-icons/react';\nimport { useMutation, useSuspenseQuery } from '@tanstack/react-query';\nimport {\n createFileRoute,\n type ErrorComponentProps,\n} from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { z } from 'zod';\nimport { PageHeader } from '#frontend/components/auth/page-header.tsx';\nimport { RouteErrorFallback } from '#frontend/components/ui/route-error-fallback.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport {\n buildAuthorizeUrl,\n OAuthSearchSchema,\n} from '#frontend/libs/oauth-search.ts';\nimport {\n consentDecisionMutationOptions,\n getConsentInfoQueryOptions,\n} from '#frontend/queries/consent.ts';\n\nconst ConsentSearchSchema = OAuthSearchSchema.extend({\n client_id: z.string(),\n redirect_uri: z.string(),\n response_type: z.string(),\n});\n\nexport const Route = createFileRoute('/consent/')({\n component: Consent,\n errorComponent: ConsentError,\n validateSearch: ConsentSearchSchema,\n loaderDeps: ({ search }) => ({\n client_id: search.client_id,\n scope: search.scope,\n }),\n loader: async ({ context, deps }) => {\n await context.queryClient.ensureQueryData(\n getConsentInfoQueryOptions({\n client_id: deps.client_id,\n scope: deps.scope,\n }),\n );\n },\n});\n\nfunction ConsentError(props: ErrorComponentProps) {\n return (\n <RouteErrorFallback\n {...props}\n onUnauthorized={() => {\n // Re-enter the OAuth flow from the beginning so the\n // user can log in and be redirected back through\n // /oauth/authorize -> /consent/.\n const params = new URLSearchParams(window.location.search);\n const search = Object.fromEntries(params.entries());\n window.location.href = buildAuthorizeUrl(search);\n }}\n />\n );\n}\n\nfunction Consent() {\n const { t } = useTranslation();\n const search = Route.useSearch();\n\n const consentInfoQuery = useSuspenseQuery(\n getConsentInfoQueryOptions({\n client_id: search.client_id,\n scope: search.scope,\n }),\n );\n\n const consentMutation = useMutation({\n ...consentDecisionMutationOptions,\n onSuccess: (data) => {\n window.location.href = data.redirect_url;\n },\n });\n\n const handleAllow = () => {\n consentMutation.mutate({\n client_id: search.client_id,\n redirect_uri: search.redirect_uri,\n response_type: search.response_type,\n scope: search.scope,\n state: search.state,\n nonce: search.nonce,\n code_challenge: search.code_challenge,\n code_challenge_method: search.code_challenge_method,\n prompt: search.prompt,\n max_age: search.max_age,\n display: search.display,\n response_mode: search.response_mode,\n login_hint: search.login_hint,\n ui_locales: search.ui_locales,\n id_token_hint: search.id_token_hint,\n acr_values: search.acr_values,\n account_selected: search.account_selected,\n account_selection_state: search.account_selection_state,\n decision: 'allow',\n });\n };\n\n const handleDeny = () => {\n consentMutation.mutate({\n client_id: search.client_id,\n redirect_uri: search.redirect_uri,\n response_type: search.response_type,\n scope: search.scope,\n state: search.state,\n nonce: search.nonce,\n code_challenge: search.code_challenge,\n code_challenge_method: search.code_challenge_method,\n prompt: search.prompt,\n max_age: search.max_age,\n display: search.display,\n response_mode: search.response_mode,\n login_hint: search.login_hint,\n ui_locales: search.ui_locales,\n id_token_hint: search.id_token_hint,\n acr_values: search.acr_values,\n account_selected: search.account_selected,\n account_selection_state: search.account_selection_state,\n decision: 'deny',\n });\n };\n\n const { client, scopes, user } = consentInfoQuery.data;\n\n return (\n <PageLayout cardPadding maxWidth=\"100\">\n <PageHeader\n subtitle={t('consent.subtitle', { app: client.name })}\n title={t('consent.title')}\n />\n\n {/* User info */}\n <div className=\"mb-4 rounded-lg bg-base-200 p-3 text-center\">\n <p className=\"text-base-content/60 text-xs\">\n {t('consent.loggedInAs')}\n </p>\n <p className=\"font-medium text-sm\" data-testid=\"consent-user-email\">\n {user.email}\n </p>\n </div>\n\n {/* Requested permissions */}\n <div className=\"mb-4\">\n <h2 className=\"mb-3 font-semibold text-sm\">\n {t('consent.permissions.title')}\n </h2>\n <ul className=\"flex flex-col gap-2\" data-testid=\"consent-scope-list\">\n {scopes.map((scope: { name: string; description: string }) => (\n <li\n className=\"flex items-start gap-3 rounded-lg bg-base-200 p-3\"\n key={scope.name}\n >\n <div className=\"mt-0.5 rounded-full bg-primary/20 p-1\">\n <ShieldCheckIcon\n className=\"size-4 text-primary\"\n weight=\"fill\"\n />\n </div>\n <p className=\"font-medium text-sm\">\n {t(`consent.scope.${scope.name}`, {\n defaultValue: scope.description,\n })}\n </p>\n </li>\n ))}\n </ul>\n </div>\n\n {/* Action buttons */}\n <div className=\"flex gap-3\">\n <button\n className=\"btn btn-outline h-10 flex-1 font-semibold text-[14px]\"\n data-testid=\"consent-deny\"\n disabled={consentMutation.isPending}\n onClick={handleDeny}\n type=\"button\"\n >\n {consentMutation.isPending ? (\n <span className=\"loading loading-spinner loading-sm\" />\n ) : (\n <>\n <XIcon className=\"size-4\" weight=\"bold\" />\n {t('consent.deny')}\n </>\n )}\n </button>\n <button\n className=\"btn btn-primary h-10 flex-1 font-semibold text-[14px]\"\n data-testid=\"consent-allow\"\n disabled={consentMutation.isPending}\n onClick={handleAllow}\n type=\"button\"\n >\n {consentMutation.isPending ? (\n <span className=\"loading loading-spinner loading-sm\" />\n ) : (\n <>\n <ShieldCheckIcon className=\"size-4\" weight=\"fill\" />\n {t('consent.allow')}\n </>\n )}\n </button>\n </div>\n </PageLayout>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consent-CjXe4bU5.js","names":["ShieldCheckIcon","XIcon","useMutation","useSuspenseQuery","useTranslation","PageHeader","PageLayout","consentDecisionMutationOptions","getConsentInfoQueryOptions","Route","Consent","t","search","useSearch","consentInfoQuery","client_id","scope","consentMutation","onSuccess","data","window","location","href","redirect_url","handleAllow","mutate","redirect_uri","response_type","state","nonce","code_challenge","code_challenge_method","prompt","max_age","display","response_mode","login_hint","ui_locales","id_token_hint","acr_values","account_selected","account_selection_state","decision","handleDeny","client","scopes","user","app","name","email","map","description","defaultValue","isPending","component"],"sources":["../../../frontend/src/routes/consent/index.tsx?tsr-split=component"],"sourcesContent":["import { ShieldCheckIcon, XIcon } from '@phosphor-icons/react';\nimport { useMutation, useSuspenseQuery } from '@tanstack/react-query';\nimport {\n createFileRoute,\n type ErrorComponentProps,\n} from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { z } from 'zod';\nimport { PageHeader } from '#frontend/components/auth/page-header.tsx';\nimport { RouteErrorFallback } from '#frontend/components/ui/route-error-fallback.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport {\n buildAuthorizeUrl,\n OAuthSearchSchema,\n} from '#frontend/libs/oauth-search.ts';\nimport {\n consentDecisionMutationOptions,\n getConsentInfoQueryOptions,\n} from '#frontend/queries/consent.ts';\n\nconst ConsentSearchSchema = OAuthSearchSchema.extend({\n client_id: z.string(),\n redirect_uri: z.string(),\n response_type: z.string(),\n});\n\nexport const Route = createFileRoute('/consent/')({\n component: Consent,\n errorComponent: ConsentError,\n validateSearch: ConsentSearchSchema,\n loaderDeps: ({ search }) => ({\n client_id: search.client_id,\n scope: search.scope,\n }),\n loader: async ({ context, deps }) => {\n await context.queryClient.ensureQueryData(\n getConsentInfoQueryOptions({\n client_id: deps.client_id,\n scope: deps.scope,\n }),\n );\n },\n});\n\nfunction ConsentError(props: ErrorComponentProps) {\n return (\n <RouteErrorFallback\n {...props}\n onUnauthorized={() => {\n // Re-enter the OAuth flow from the beginning so the\n // user can log in and be redirected back through\n // /oauth/authorize -> /consent/.\n const params = new URLSearchParams(window.location.search);\n const search = Object.fromEntries(params.entries());\n window.location.href = buildAuthorizeUrl(search);\n }}\n />\n );\n}\n\nfunction Consent() {\n const { t } = useTranslation();\n const search = Route.useSearch();\n\n const consentInfoQuery = useSuspenseQuery(\n getConsentInfoQueryOptions({\n client_id: search.client_id,\n scope: search.scope,\n }),\n );\n\n const consentMutation = useMutation({\n ...consentDecisionMutationOptions,\n onSuccess: (data) => {\n window.location.href = data.redirect_url;\n },\n });\n\n const handleAllow = () => {\n consentMutation.mutate({\n client_id: search.client_id,\n redirect_uri: search.redirect_uri,\n response_type: search.response_type,\n scope: search.scope,\n state: search.state,\n nonce: search.nonce,\n code_challenge: search.code_challenge,\n code_challenge_method: search.code_challenge_method,\n prompt: search.prompt,\n max_age: search.max_age,\n display: search.display,\n response_mode: search.response_mode,\n login_hint: search.login_hint,\n ui_locales: search.ui_locales,\n id_token_hint: search.id_token_hint,\n acr_values: search.acr_values,\n account_selected: search.account_selected,\n account_selection_state: search.account_selection_state,\n decision: 'allow',\n });\n };\n\n const handleDeny = () => {\n consentMutation.mutate({\n client_id: search.client_id,\n redirect_uri: search.redirect_uri,\n response_type: search.response_type,\n scope: search.scope,\n state: search.state,\n nonce: search.nonce,\n code_challenge: search.code_challenge,\n code_challenge_method: search.code_challenge_method,\n prompt: search.prompt,\n max_age: search.max_age,\n display: search.display,\n response_mode: search.response_mode,\n login_hint: search.login_hint,\n ui_locales: search.ui_locales,\n id_token_hint: search.id_token_hint,\n acr_values: search.acr_values,\n account_selected: search.account_selected,\n account_selection_state: search.account_selection_state,\n decision: 'deny',\n });\n };\n\n const { client, scopes, user } = consentInfoQuery.data;\n\n return (\n <PageLayout cardPadding maxWidth=\"100\">\n <PageHeader\n subtitle={t('consent.subtitle', { app: client.name })}\n title={t('consent.title')}\n />\n\n {/* User info */}\n <div className=\"mb-4 rounded-lg bg-base-200 p-3 text-center\">\n <p className=\"text-base-content/60 text-xs\">\n {t('consent.loggedInAs')}\n </p>\n <p className=\"font-medium text-sm\" data-testid=\"consent-user-email\">\n {user.email}\n </p>\n </div>\n\n {/* Requested permissions */}\n <div className=\"mb-4\">\n <h2 className=\"mb-3 font-semibold text-sm\">\n {t('consent.permissions.title')}\n </h2>\n <ul className=\"flex flex-col gap-2\" data-testid=\"consent-scope-list\">\n {scopes.map((scope: { name: string; description: string }) => (\n <li\n className=\"flex items-start gap-3 rounded-lg bg-base-200 p-3\"\n key={scope.name}\n >\n <div className=\"mt-0.5 rounded-full bg-primary/20 p-1\">\n <ShieldCheckIcon\n className=\"size-4 text-primary\"\n weight=\"fill\"\n />\n </div>\n <p className=\"font-medium text-sm\">\n {t(`consent.scope.${scope.name}`, {\n defaultValue: scope.description,\n })}\n </p>\n </li>\n ))}\n </ul>\n </div>\n\n {/* Action buttons */}\n <div className=\"flex gap-3\">\n <button\n className=\"btn btn-outline h-10 flex-1 font-semibold text-[14px]\"\n data-testid=\"consent-deny\"\n disabled={consentMutation.isPending}\n onClick={handleDeny}\n type=\"button\"\n >\n {consentMutation.isPending ? (\n <span className=\"loading loading-spinner loading-sm\" />\n ) : (\n <>\n <XIcon className=\"size-4\" weight=\"bold\" />\n {t('consent.deny')}\n </>\n )}\n </button>\n <button\n className=\"btn btn-primary h-10 flex-1 font-semibold text-[14px]\"\n data-testid=\"consent-allow\"\n disabled={consentMutation.isPending}\n onClick={handleAllow}\n type=\"button\"\n >\n {consentMutation.isPending ? (\n <span className=\"loading loading-spinner loading-sm\" />\n ) : (\n <>\n <ShieldCheckIcon className=\"size-4\" weight=\"fill\" />\n {t('consent.allow')}\n </>\n )}\n </button>\n </div>\n </PageLayout>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{o as e}from"./IconBase.es-d5KP98Ac.js";import{P as t,j as n}from"./index-CgkA6nnx.js";var r=e();function i(e){return(0,r.jsx)(t,{...e,onUnauthorized:()=>{let e=new URLSearchParams(window.location.search),t=Object.fromEntries(e.entries());window.location.href=n(t)}})}export{i as errorComponent};
|
|
2
|
+
//# sourceMappingURL=consent-Cq6tCfwA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-
|
|
1
|
+
{"version":3,"file":"consent-Cq6tCfwA.js","names":["RouteErrorFallback","buildAuthorizeUrl","ConsentError","props","ErrorComponentProps","params","URLSearchParams","window","location","search","Object","fromEntries","entries","href","errorComponent"],"sources":["../../../frontend/src/routes/consent/index.tsx?tsr-split=errorComponent"],"sourcesContent":["import { ShieldCheckIcon, XIcon } from '@phosphor-icons/react';\nimport { useMutation, useSuspenseQuery } from '@tanstack/react-query';\nimport {\n createFileRoute,\n type ErrorComponentProps,\n} from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { z } from 'zod';\nimport { PageHeader } from '#frontend/components/auth/page-header.tsx';\nimport { RouteErrorFallback } from '#frontend/components/ui/route-error-fallback.tsx';\nimport { PageLayout } from '#frontend/features/layout/page-layout.tsx';\nimport {\n buildAuthorizeUrl,\n OAuthSearchSchema,\n} from '#frontend/libs/oauth-search.ts';\nimport {\n consentDecisionMutationOptions,\n getConsentInfoQueryOptions,\n} from '#frontend/queries/consent.ts';\n\nconst ConsentSearchSchema = OAuthSearchSchema.extend({\n client_id: z.string(),\n redirect_uri: z.string(),\n response_type: z.string(),\n});\n\nexport const Route = createFileRoute('/consent/')({\n component: Consent,\n errorComponent: ConsentError,\n validateSearch: ConsentSearchSchema,\n loaderDeps: ({ search }) => ({\n client_id: search.client_id,\n scope: search.scope,\n }),\n loader: async ({ context, deps }) => {\n await context.queryClient.ensureQueryData(\n getConsentInfoQueryOptions({\n client_id: deps.client_id,\n scope: deps.scope,\n }),\n );\n },\n});\n\nfunction ConsentError(props: ErrorComponentProps) {\n return (\n <RouteErrorFallback\n {...props}\n onUnauthorized={() => {\n // Re-enter the OAuth flow from the beginning so the\n // user can log in and be redirected back through\n // /oauth/authorize -> /consent/.\n const params = new URLSearchParams(window.location.search);\n const search = Object.fromEntries(params.entries());\n window.location.href = buildAuthorizeUrl(search);\n }}\n />\n );\n}\n\nfunction Consent() {\n const { t } = useTranslation();\n const search = Route.useSearch();\n\n const consentInfoQuery = useSuspenseQuery(\n getConsentInfoQueryOptions({\n client_id: search.client_id,\n scope: search.scope,\n }),\n );\n\n const consentMutation = useMutation({\n ...consentDecisionMutationOptions,\n onSuccess: (data) => {\n window.location.href = data.redirect_url;\n },\n });\n\n const handleAllow = () => {\n consentMutation.mutate({\n client_id: search.client_id,\n redirect_uri: search.redirect_uri,\n response_type: search.response_type,\n scope: search.scope,\n state: search.state,\n nonce: search.nonce,\n code_challenge: search.code_challenge,\n code_challenge_method: search.code_challenge_method,\n prompt: search.prompt,\n max_age: search.max_age,\n display: search.display,\n response_mode: search.response_mode,\n login_hint: search.login_hint,\n ui_locales: search.ui_locales,\n id_token_hint: search.id_token_hint,\n acr_values: search.acr_values,\n account_selected: search.account_selected,\n account_selection_state: search.account_selection_state,\n decision: 'allow',\n });\n };\n\n const handleDeny = () => {\n consentMutation.mutate({\n client_id: search.client_id,\n redirect_uri: search.redirect_uri,\n response_type: search.response_type,\n scope: search.scope,\n state: search.state,\n nonce: search.nonce,\n code_challenge: search.code_challenge,\n code_challenge_method: search.code_challenge_method,\n prompt: search.prompt,\n max_age: search.max_age,\n display: search.display,\n response_mode: search.response_mode,\n login_hint: search.login_hint,\n ui_locales: search.ui_locales,\n id_token_hint: search.id_token_hint,\n acr_values: search.acr_values,\n account_selected: search.account_selected,\n account_selection_state: search.account_selection_state,\n decision: 'deny',\n });\n };\n\n const { client, scopes, user } = consentInfoQuery.data;\n\n return (\n <PageLayout cardPadding maxWidth=\"100\">\n <PageHeader\n subtitle={t('consent.subtitle', { app: client.name })}\n title={t('consent.title')}\n />\n\n {/* User info */}\n <div className=\"mb-4 rounded-lg bg-base-200 p-3 text-center\">\n <p className=\"text-base-content/60 text-xs\">\n {t('consent.loggedInAs')}\n </p>\n <p className=\"font-medium text-sm\" data-testid=\"consent-user-email\">\n {user.email}\n </p>\n </div>\n\n {/* Requested permissions */}\n <div className=\"mb-4\">\n <h2 className=\"mb-3 font-semibold text-sm\">\n {t('consent.permissions.title')}\n </h2>\n <ul className=\"flex flex-col gap-2\" data-testid=\"consent-scope-list\">\n {scopes.map((scope: { name: string; description: string }) => (\n <li\n className=\"flex items-start gap-3 rounded-lg bg-base-200 p-3\"\n key={scope.name}\n >\n <div className=\"mt-0.5 rounded-full bg-primary/20 p-1\">\n <ShieldCheckIcon\n className=\"size-4 text-primary\"\n weight=\"fill\"\n />\n </div>\n <p className=\"font-medium text-sm\">\n {t(`consent.scope.${scope.name}`, {\n defaultValue: scope.description,\n })}\n </p>\n </li>\n ))}\n </ul>\n </div>\n\n {/* Action buttons */}\n <div className=\"flex gap-3\">\n <button\n className=\"btn btn-outline h-10 flex-1 font-semibold text-[14px]\"\n data-testid=\"consent-deny\"\n disabled={consentMutation.isPending}\n onClick={handleDeny}\n type=\"button\"\n >\n {consentMutation.isPending ? (\n <span className=\"loading loading-spinner loading-sm\" />\n ) : (\n <>\n <XIcon className=\"size-4\" weight=\"bold\" />\n {t('consent.deny')}\n </>\n )}\n </button>\n <button\n className=\"btn btn-primary h-10 flex-1 font-semibold text-[14px]\"\n data-testid=\"consent-allow\"\n disabled={consentMutation.isPending}\n onClick={handleAllow}\n type=\"button\"\n >\n {consentMutation.isPending ? (\n <span className=\"loading loading-spinner loading-sm\" />\n ) : (\n <>\n <ShieldCheckIcon className=\"size-4\" weight=\"fill\" />\n {t('consent.allow')}\n </>\n )}\n </button>\n </div>\n </PageLayout>\n );\n}\n"],"mappings":"uGA4CA,SAASE,EAAaC,EAA4B,CAChD,OACE,EAAA,EAAA,KAAC,EAAD,CACE,GAAIA,EACJ,mBAAsB,CAIpB,IAAME,EAAS,IAAIC,gBAAgBC,OAAOC,SAASC,MAAM,EACnDA,EAASC,OAAOC,YAAYN,EAAOO,QAAQ,CAAC,EAClDL,OAAOC,SAASK,KAAOZ,EAAkBQ,CAAM,CACjD,CAAE,CAAA,CAGR"}
|