@arcblock/did-connect-service 4.0.6 → 4.1.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.
Files changed (97) hide show
  1. package/dist/_generated/asset-bytes.d.ts +3 -0
  2. package/dist/_generated/asset-bytes.d.ts.map +1 -0
  3. package/dist/_generated/asset-bytes.js +2 -0
  4. package/dist/_generated/asset-bytes.js.map +1 -0
  5. package/dist/_generated/asset-manifest.d.ts +3 -0
  6. package/dist/_generated/asset-manifest.d.ts.map +1 -0
  7. package/dist/_generated/asset-manifest.js +12 -0
  8. package/dist/_generated/asset-manifest.js.map +1 -0
  9. package/dist/asset-registry.d.ts +38 -0
  10. package/dist/asset-registry.d.ts.map +1 -0
  11. package/dist/asset-registry.js +73 -0
  12. package/dist/asset-registry.js.map +1 -0
  13. package/dist/assets/admin-core.c0b5af61.js +1393 -0
  14. package/dist/assets/admin-extra.7ca9c16b.js +2529 -0
  15. package/dist/assets/admin.c26bb17a.css +2219 -0
  16. package/dist/assets/design.99dc4ddc.css +97 -0
  17. package/dist/assets/did-address.7df30f28.js +51 -0
  18. package/dist/assets/header.94d9e46b.js +136 -0
  19. package/dist/assets/login.7b12c6dc.css +662 -0
  20. package/dist/assets/login.d3f05790.js +720 -0
  21. package/dist/assets/qr.c0d203ca.js +3 -0
  22. package/dist/blocklet-service.d.ts +7 -32
  23. package/dist/blocklet-service.d.ts.map +1 -1
  24. package/dist/blocklet-service.js +43 -37
  25. package/dist/blocklet-service.js.map +1 -1
  26. package/dist/env-config.d.ts +86 -0
  27. package/dist/env-config.d.ts.map +1 -0
  28. package/dist/env-config.js +33 -0
  29. package/dist/env-config.js.map +1 -0
  30. package/dist/handlers/auth-handler.d.ts +1 -1
  31. package/dist/handlers/auth-handler.d.ts.map +1 -1
  32. package/dist/handlers/auth-handler.js +11 -11
  33. package/dist/handlers/auth-handler.js.map +1 -1
  34. package/dist/handlers/branding-handler.d.ts.map +1 -1
  35. package/dist/handlers/branding-handler.js +3 -2
  36. package/dist/handlers/branding-handler.js.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/og/generator.d.ts.map +1 -1
  42. package/dist/og/generator.js +8 -2
  43. package/dist/og/generator.js.map +1 -1
  44. package/dist/og/index.d.ts +2 -0
  45. package/dist/og/index.d.ts.map +1 -1
  46. package/dist/og/index.js +1 -0
  47. package/dist/og/index.js.map +1 -1
  48. package/dist/og/node-config.d.ts +23 -0
  49. package/dist/og/node-config.d.ts.map +1 -0
  50. package/dist/og/node-config.js +22 -0
  51. package/dist/og/node-config.js.map +1 -0
  52. package/dist/og/types.d.ts +10 -5
  53. package/dist/og/types.d.ts.map +1 -1
  54. package/dist/og/types.js.map +1 -1
  55. package/dist/pages/admin/index.d.ts.map +1 -1
  56. package/dist/pages/admin/index.js +25 -41
  57. package/dist/pages/admin/index.js.map +1 -1
  58. package/dist/pages/admin/tab-access.d.ts +1 -1
  59. package/dist/pages/admin/tab-access.d.ts.map +1 -1
  60. package/dist/pages/admin/tab-access.js +5 -2
  61. package/dist/pages/admin/tab-access.js.map +1 -1
  62. package/dist/pages/admin/tab-appearance.d.ts +1 -1
  63. package/dist/pages/admin/tab-appearance.d.ts.map +1 -1
  64. package/dist/pages/admin/tab-appearance.js +4 -2
  65. package/dist/pages/admin/tab-appearance.js.map +1 -1
  66. package/dist/pages/admin/tab-branding.d.ts.map +1 -1
  67. package/dist/pages/admin/tab-branding.js +4 -2
  68. package/dist/pages/admin/tab-branding.js.map +1 -1
  69. package/dist/pages/admin/tab-profile-accounts.d.ts.map +1 -1
  70. package/dist/pages/admin/tab-profile-accounts.js +4 -2
  71. package/dist/pages/admin/tab-profile-accounts.js.map +1 -1
  72. package/dist/pages/admin/tab-settings.d.ts.map +1 -1
  73. package/dist/pages/admin/tab-settings.js +4 -2
  74. package/dist/pages/admin/tab-settings.js.map +1 -1
  75. package/dist/pages/admin-instances-page.d.ts.map +1 -1
  76. package/dist/pages/admin-instances-page.js +4 -6
  77. package/dist/pages/admin-instances-page.js.map +1 -1
  78. package/dist/pages/error-page.d.ts.map +1 -1
  79. package/dist/pages/error-page.js +3 -2
  80. package/dist/pages/error-page.js.map +1 -1
  81. package/dist/pages/gen-access-key-page.d.ts.map +1 -1
  82. package/dist/pages/gen-access-key-page.js +3 -4
  83. package/dist/pages/gen-access-key-page.js.map +1 -1
  84. package/dist/pages/homepage.d.ts.map +1 -1
  85. package/dist/pages/homepage.js +4 -3
  86. package/dist/pages/homepage.js.map +1 -1
  87. package/dist/pages/invite-page.d.ts.map +1 -1
  88. package/dist/pages/invite-page.js +4 -4
  89. package/dist/pages/invite-page.js.map +1 -1
  90. package/dist/pages/login-page.d.ts.map +1 -1
  91. package/dist/pages/login-page.js +3 -4
  92. package/dist/pages/login-page.js.map +1 -1
  93. package/package.json +6 -4
  94. package/dist/identity/csrf.d.ts +0 -17
  95. package/dist/identity/csrf.d.ts.map +0 -1
  96. package/dist/identity/csrf.js +0 -56
  97. package/dist/identity/csrf.js.map +0 -1
@@ -4,27 +4,22 @@
4
4
  * Embeds caller data as <script type="application/json"> for safe injection.
5
5
  * Includes header, tab router, all 4 tabs: profile, members, invitations, audit logs.
6
6
  */
7
- import { DESIGN_RESET_CSS, DESIGN_TOKENS_CSS, DESIGN_TOKENS_LIGHT_CSS } from "@arcblock/did-connect-core/ui";
8
- import DID_ADDRESS_BUNDLE from "../../_generated/did-address-bundle-string.js";
9
- import QR_BUNDLE from "../../_generated/qr-bundle-string.js";
7
+ import { assetUrl } from "../../asset-registry.js";
10
8
  import { adminT, getClientI18nScript } from "./i18n.js";
11
- import { API_CLIENT_SCRIPT } from "./scripts/api-client.js";
12
- import { CROPPER_SCRIPT, cropDialogHTML } from "./scripts/cropper.js";
13
- import { DIALOG_SCRIPT } from "./scripts/dialog.js";
14
- import { ROUTER_SCRIPT } from "./scripts/router.js";
15
- import { TOAST_SCRIPT } from "./scripts/toast.js";
16
- import { UTILS_SCRIPT } from "./scripts/utils.js";
17
- import { ADMIN_STYLES } from "./styles.js";
18
- import { ACCESS_TAB_SCRIPT, accessTabHtml } from "./tab-access.js";
19
- import { ACCESS_KEYS_TAB_SCRIPT, accessKeysTabHtml } from "./tab-access-keys.js";
20
- import { APPEARANCE_TAB_SCRIPT, appearanceTabHtml } from "./tab-appearance.js";
21
- import { AUDIT_TAB_SCRIPT, auditTabHtml } from "./tab-audit.js";
22
- import { BRANDING_TAB_SCRIPT, brandingTabHtml } from "./tab-branding.js";
23
- import { INVITATIONS_TAB_SCRIPT, invitationsTabHtml } from "./tab-invitations.js";
24
- import { MEMBERS_TAB_SCRIPT, membersTabHtml } from "./tab-members.js";
25
- import { PROFILE_TAB_SCRIPT, profileTabHtml } from "./tab-profile.js";
26
- import { CONNECTED_ACCOUNTS_SCRIPT } from "./tab-profile-accounts.js";
27
- import { SETTINGS_TAB_SCRIPT, settingsTabHtml } from "./tab-settings.js";
9
+ // Client-side scripts (TOAST/UTILS/API/DIALOG/ROUTER + all tab *_SCRIPT consts) are
10
+ // no longer inlined here they ship as external cacheable bundles (admin-core.js +
11
+ // admin-extra.js, assembled by build-assets.mjs). Only server-side render helpers
12
+ // (*TabHtml, cropDialogHTML) are imported.
13
+ import { cropDialogHTML } from "./scripts/cropper.js";
14
+ import { accessTabHtml } from "./tab-access.js";
15
+ import { accessKeysTabHtml } from "./tab-access-keys.js";
16
+ import { appearanceTabHtml } from "./tab-appearance.js";
17
+ import { auditTabHtml } from "./tab-audit.js";
18
+ import { brandingTabHtml } from "./tab-branding.js";
19
+ import { invitationsTabHtml } from "./tab-invitations.js";
20
+ import { membersTabHtml } from "./tab-members.js";
21
+ import { profileTabHtml } from "./tab-profile.js";
22
+ import { settingsTabHtml } from "./tab-settings.js";
28
23
  const ICON_GLOBE = `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none"><path fill="currentColor" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m-1 17.93c-3.95-.49-7-3.85-7-7.93c0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41c0 2.08-.8 3.97-2.1 5.39"/></svg>`;
29
24
  const ICON_MENU = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none"><path fill="currentColor" d="M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"/></svg>`;
30
25
  const ICON_CLOSE = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none"><path fill="currentColor" d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>`;
@@ -75,7 +70,9 @@ export function buildAdminPageHTML(data) {
75
70
  <link rel="icon" href="/.well-known/service/blocklet/logo-favicon" type="image/png" />
76
71
  <link rel="stylesheet" href="/.well-known/service/theme/styles.css" />
77
72
  <script src="/.well-known/service/theme/init.js"></script>
78
- <style>${DESIGN_TOKENS_CSS}${DESIGN_TOKENS_LIGHT_CSS}${DESIGN_RESET_CSS}${ADMIN_STYLES}${isAdmin ? MEMBERS_EXTRA_STYLES : ""}</style>
73
+ <link rel="stylesheet" href="${assetUrl("design.css")}" />
74
+ <link rel="stylesheet" href="${assetUrl("admin.css")}" />
75
+ ${isAdmin ? `<style>${MEMBERS_EXTRA_STYLES}</style>` : ""}
79
76
  </head>
80
77
  <body>
81
78
  <script type="application/json" id="team-admin-data">${safeData}</script>
@@ -188,8 +185,13 @@ export function buildAdminPageHTML(data) {
188
185
  ${isAdmin ? settingsTabHtml(t) : ""}
189
186
  </main>
190
187
 
191
- <script>${DID_ADDRESS_BUNDLE}</script>
192
- <script>${QR_BUNDLE}</script>
188
+ <script src="${assetUrl("did-address.js")}"></script>
189
+ <script src="${assetUrl("qr.js")}"></script>
190
+ <!-- Core admin client scripts (toast/utils/api/dialog/router + always-on tabs).
191
+ Loaded before the inline glue so its globals (api, registerTab, renderAvatar)
192
+ are defined; the inline init() below calls into them. -->
193
+ <script src="${assetUrl("admin-core.js")}"></script>
194
+ ${isAdmin ? `<script src="${assetUrl("admin-extra.js")}"></script>` : ""}
193
195
  <script>
194
196
  // i18n client-side runtime
195
197
  ${getClientI18nScript(locale)}
@@ -199,12 +201,6 @@ var __pageData = JSON.parse(document.getElementById("team-admin-data").textConte
199
201
  window.__BASE_PATH = __pageData.basePath;
200
202
  var __caller = __pageData.caller;
201
203
 
202
- ${TOAST_SCRIPT}
203
- ${UTILS_SCRIPT}
204
- ${API_CLIENT_SCRIPT}
205
- ${DIALOG_SCRIPT}
206
- ${ROUTER_SCRIPT}
207
-
208
204
  function renderPagination(containerId, paging, onPageChange) {
209
205
  var c = document.getElementById(containerId);
210
206
  if (!c || !paging) return;
@@ -361,18 +357,6 @@ document.addEventListener('keydown', function(e) {
361
357
  if (e.key === 'Escape') closeAllOverlays();
362
358
  });
363
359
 
364
- ${PROFILE_TAB_SCRIPT}
365
- ${CONNECTED_ACCOUNTS_SCRIPT}
366
- ${isAdmin ? MEMBERS_TAB_SCRIPT : ""}
367
- ${isAdmin ? INVITATIONS_TAB_SCRIPT : ""}
368
- ${isAdmin ? AUDIT_TAB_SCRIPT : ""}
369
- ${ACCESS_KEYS_TAB_SCRIPT}
370
- ${isOwner ? ACCESS_TAB_SCRIPT : ""}
371
- ${isOwner ? CROPPER_SCRIPT : ""}
372
- ${isOwner ? BRANDING_TAB_SCRIPT : ""}
373
- ${isOwner ? APPEARANCE_TAB_SCRIPT : ""}
374
- ${isAdmin ? SETTINGS_TAB_SCRIPT : ""}
375
-
376
360
  function updateHeaderAvatar() {
377
361
  var avatarUrl = __caller.avatar || "/.well-known/service/user/avatar/" + __caller.did;
378
362
  var inner = renderAvatar(avatarUrl, __caller.fullName, "sm").replace(/^<div[^>]*>/, "").replace(/<\\/div>$/, "");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/admin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/admin/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,6 @@
9
9
  */
10
10
  type TFn = (key: string, params?: Record<string, string>) => string;
11
11
  export declare function accessTabHtml(t: TFn): string;
12
- export declare const ACCESS_TAB_SCRIPT = "\n// \u2500\u2500\u2500 Access Tab State \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nvar apPolicies = [];\nvar apRules = [];\nvar apDefaultRule = null;\nvar apEditingPolicyId = null;\nvar apEditingRuleId = null;\n\n// \u2500\u2500\u2500 Icon constants \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nvar AP_ICON_EDIT = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\"/><path d=\"m15 5 4 4\"/></svg>';\nvar AP_ICON_DELETE = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 6h18\"/><path d=\"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\"/><path d=\"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\"/><line x1=\"10\" x2=\"10\" y1=\"11\" y2=\"17\"/><line x1=\"14\" x2=\"14\" y1=\"11\" y2=\"17\"/></svg>';\nvar AP_ICON_LOCK = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\" ry=\"2\"/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"/></svg>';\n\n// \u2500\u2500\u2500 Access Type helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nvar AP_TYPE_LABELS = {\n public: __t(\"access.typeLabels.public\"),\n invited: __t(\"access.typeLabels.invited\"),\n owner: __t(\"access.typeLabels.owner\"),\n admin: __t(\"access.typeLabels.admin\"),\n roles: __t(\"access.typeLabels.roles\"),\n roles_reverse: __t(\"access.typeLabels.rolesReverse\")\n};\n\nvar AP_TYPE_DESCS = {\n public: __t(\"access.typeDescs.public\"),\n invited: __t(\"access.typeDescs.invited\"),\n admin: __t(\"access.typeDescs.admin\"),\n owner: __t(\"access.typeDescs.owner\")\n};\n\nfunction apAccessTypeLabel(policy) {\n if (policy.accessType === \"roles\" || policy.accessType === \"roles_reverse\") {\n return AP_TYPE_LABELS[policy.accessType] + \": \" + (policy.roles || []).join(\", \");\n }\n return AP_TYPE_LABELS[policy.accessType] || policy.accessType;\n}\n\nfunction apIsBuiltin(policy) {\n return !!policy.isProtected;\n}\n\nfunction apPolicyAccessType(policyId) {\n var p = apPolicies.find(function(x) { return x.id === policyId; });\n return p ? p.accessType : \"public\";\n}\n\nfunction apIconBtn(icon, title, onclick, variant) {\n var cls = variant === \"danger\" ? \"ap-icon-btn ap-icon-btn-danger\" : \"ap-icon-btn\";\n return '<button class=\"' + cls + '\" title=\"' + escapeHtml(title) + '\" onclick=\"event.stopPropagation();' + onclick + '\">' + icon + '</button>';\n}\n\n// \u2500\u2500\u2500 Load Data \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nasync function apLoadAll() {\n document.getElementById(\"ap-policies-wrap\").innerHTML = skeletonTable(3, 3);\n document.getElementById(\"ap-rules-wrap\").innerHTML = skeletonTable(5, 2);\n\n var pRes = await api(\"GET\", \"/access-policies\");\n if (pRes.ok) apPolicies = pRes.policies;\n\n var rRes = await api(\"GET\", \"/security-rules\");\n if (rRes.ok) apRules = rRes.rules;\n\n // Find the default rule\n apDefaultRule = apRules.find(function(r) { return r.id.indexOf(\"default\") === 0; }) || null;\n\n apRenderPolicies();\n apRenderRules();\n}\n\n// \u2500\u2500\u2500 Render All Policies (built-in + custom in one table) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction apRenderPolicies() {\n var wrap = document.getElementById(\"ap-policies-wrap\");\n\n if (!apPolicies.length) {\n wrap.innerHTML = '<div class=\"empty-state\" style=\"padding:16px\"><div class=\"empty-state-title\">' + __t(\"access.noPolicies\") + '</div></div>';\n return;\n }\n\n // Built-in first, then custom\n var builtins = apPolicies.filter(function(p) { return apIsBuiltin(p); });\n var customs = apPolicies.filter(function(p) { return !apIsBuiltin(p); });\n var sorted = builtins.concat(customs);\n\n var html = '<table class=\"table\"><thead><tr>'\n + '<th>' + __t(\"access.name\") + '</th>'\n + '<th>' + __t(\"access.accessType\") + '</th>'\n + '<th style=\"width:80px;text-align:center\">' + __t(\"common.actions\") + '</th>'\n + '</tr></thead><tbody>';\n\n builtins.forEach(function(p) {\n html += \"<tr>\";\n html += '<td><span class=\"ap-lock-name\">' + AP_ICON_LOCK + ' ' + escapeHtml(p.name) + '</span>';\n if (p.description) html += '<div class=\"text-muted\" style=\"font-size:12px;margin-top:2px\">' + escapeHtml(p.description) + '</div>';\n html += \"</td>\";\n html += \"<td>\" + escapeHtml(apAccessTypeLabel(p)) + \"</td>\";\n html += \"<td></td>\";\n html += \"</tr>\";\n });\n\n if (builtins.length > 0 && customs.length > 0) {\n html += '<tr class=\"ap-separator\"><td colspan=\"3\"></td></tr>';\n }\n\n customs.forEach(function(p) {\n html += \"<tr>\";\n html += \"<td>\" + escapeHtml(p.name);\n if (p.description) html += '<div class=\"text-muted\" style=\"font-size:12px;margin-top:2px\">' + escapeHtml(p.description) + '</div>';\n html += \"</td>\";\n html += \"<td>\" + escapeHtml(apAccessTypeLabel(p)) + \"</td>\";\n html += '<td class=\"ap-actions\">';\n html += apIconBtn(AP_ICON_EDIT, __t(\"common.edit\"), \"openPolicyDialog('edit','\" + escapeHtml(p.id) + \"')\");\n html += apIconBtn(AP_ICON_DELETE, __t(\"common.delete\"), \"apDeletePolicy('\" + escapeHtml(p.id) + \"')\", \"danger\");\n html += \"</td></tr>\";\n });\n\n html += \"</tbody></table>\";\n wrap.innerHTML = html;\n}\n\n// \u2500\u2500\u2500 Render Path Rules \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction apRenderRules() {\n var wrap = document.getElementById(\"ap-rules-wrap\");\n var nonDefaultRules = apRules.filter(function(r) { return r.id.indexOf(\"default\") !== 0; });\n\n // Sort non-default rules by priority ascending\n nonDefaultRules.sort(function(a, b) { return a.priority - b.priority; });\n\n var html = '<table class=\"table\"><thead><tr>'\n + '<th style=\"width:80px\">#</th>'\n + '<th>' + __t(\"access.urlPattern\") + '</th>'\n + '<th>' + __t(\"access.accessPolicy\") + '</th>'\n + '<th style=\"width:80px\">' + __t(\"common.status\") + '</th>'\n + '<th style=\"width:80px;text-align:center\">' + __t(\"common.actions\") + '</th>'\n + '</tr></thead><tbody>';\n\n // Default rule \u2014 first row, special style\n if (apDefaultRule) {\n var policyOptions = apPolicies.map(function(p) {\n var label = escapeHtml(p.name) + ' \\u2014 ' + escapeHtml(apAccessTypeLabel(p));\n var selected = p.id === apDefaultRule.accessPolicyId ? ' selected' : '';\n return '<option value=\"' + escapeHtml(p.id) + '\"' + selected + '>' + label + '</option>';\n }).join(\"\");\n\n html += '<tr style=\"background:var(--bg-elevated)\">';\n html += '<td><span class=\"badge badge-active\">' + __t(\"access.defaultLabel\") + '</span></td>';\n html += '<td><code>*</code></td>';\n html += '<td><select class=\"select select-sm\" onchange=\"apSaveDefaultRulePolicy(this.value)\" style=\"max-width:280px\">' + policyOptions + '</select></td>';\n html += '<td></td>';\n html += '<td></td>';\n html += '</tr>';\n }\n\n // Empty state for non-default rules\n if (nonDefaultRules.length === 0 && apDefaultRule) {\n html += '<tr><td colspan=\"5\" class=\"text-muted\" style=\"text-align:center;padding:16px\">' + __t(\"access.noRules\") + '</td></tr>';\n }\n\n nonDefaultRules.forEach(function(r, i) {\n html += \"<tr>\";\n html += \"<td>#\" + (i + 1) + \"</td>\";\n html += \"<td><code>\" + escapeHtml(r.pathPattern) + \"</code></td>\";\n html += \"<td>\" + escapeHtml(r.accessPolicyName) + \"</td>\";\n html += '<td><label class=\"ap-switch\" title=\"' + (r.enabled ? __t(\"access.clickToDisable\") : __t(\"access.clickToEnable\")) + '\"><input type=\"checkbox\"' + (r.enabled ? ' checked' : '') + ' onchange=\"apToggleRule(&#39;' + escapeHtml(r.id) + '&#39;,' + (r.enabled ? 0 : 1) + ')\"><span class=\"ap-switch-slider\"></span></label></td>';\n html += '<td class=\"ap-actions\">';\n html += apIconBtn(AP_ICON_EDIT, __t(\"common.edit\"), \"openRuleDialog('edit','\" + escapeHtml(r.id) + \"')\");\n html += apIconBtn(AP_ICON_DELETE, __t(\"common.delete\"), \"apDeleteRule('\" + escapeHtml(r.id) + \"')\", \"danger\");\n html += \"</td></tr>\";\n });\n\n html += \"</tbody></table>\";\n wrap.innerHTML = html;\n}\n\nasync function apSaveDefaultRulePolicy(policyId) {\n if (!apDefaultRule) return;\n var res = await api(\"PUT\", \"/security-rules/\" + apDefaultRule.id, {\n accessPolicyId: policyId,\n remark: apDefaultRule.remark || \"Default fallback rule\"\n });\n if (res.ok) {\n showToast(__t(\"access.ruleSaved\"), \"success\");\n apDefaultRule.accessPolicyId = policyId;\n }\n}\n\nasync function apToggleRule(id, enabled) {\n var r = apRules.find(function(x) { return x.id === id; });\n if (!r) return;\n var res = await api(\"PUT\", \"/security-rules/\" + id, {\n accessPolicyId: r.accessPolicyId,\n pathPattern: r.pathPattern,\n priority: r.priority,\n enabled: enabled,\n remark: r.remark || \"\"\n });\n if (res.ok) {\n r.enabled = enabled;\n apRenderRules();\n showToast(__t(\"access.ruleSaved\"), \"success\");\n }\n}\n\n// \u2500\u2500\u2500 Policy Dialog (custom only) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction openPolicyDialog(mode, id) {\n apEditingPolicyId = (mode === \"edit\") ? id : null;\n document.getElementById(\"ap-policy-dialog-title\").textContent = mode === \"edit\" ? __t(\"access.editPolicyTitle\") : __t(\"access.policyTitle\");\n\n if (mode === \"edit\") {\n var p = apPolicies.find(function(x) { return x.id === id; });\n if (!p) return;\n document.getElementById(\"ap-policy-name\").value = p.name;\n document.getElementById(\"ap-policy-type\").value = p.accessType || \"roles\";\n document.getElementById(\"ap-policy-desc\").value = p.description || \"\";\n document.querySelectorAll(\".ap-role-cb\").forEach(function(cb) {\n cb.checked = (p.roles || []).includes(cb.value);\n });\n } else {\n document.getElementById(\"ap-policy-name\").value = \"\";\n document.getElementById(\"ap-policy-type\").value = \"roles\";\n document.getElementById(\"ap-policy-desc\").value = \"\";\n document.querySelectorAll(\".ap-role-cb\").forEach(function(cb) { cb.checked = false; });\n }\n showDialog(\"ap-policy-dialog\");\n}\n\nasync function apSavePolicy() {\n var body = {\n name: document.getElementById(\"ap-policy-name\").value.trim(),\n accessType: document.getElementById(\"ap-policy-type\").value,\n description: document.getElementById(\"ap-policy-desc\").value.trim(),\n };\n body.roles = [];\n document.querySelectorAll(\".ap-role-cb:checked\").forEach(function(cb) { body.roles.push(cb.value); });\n if (body.roles.length === 0) { showToast(__t(\"access.roleRequired\"), \"error\"); return; }\n if (!body.name) { showToast(__t(\"access.nameRequired\"), \"error\"); return; }\n\n var res;\n if (apEditingPolicyId) {\n res = await api(\"PUT\", \"/access-policies/\" + apEditingPolicyId, body);\n } else {\n res = await api(\"POST\", \"/access-policies\", body);\n }\n if (res.ok) {\n showToast(__t(\"access.policySaved\"), \"success\");\n closeDialog(\"ap-policy-dialog\");\n apLoadAll();\n }\n}\n\nasync function apDeletePolicy(id) {\n var ok = await confirmDialog({ title: __t(\"access.deletePolicy\"), message: __t(\"access.deletePolicyMsg\"), danger: true });\n if (!ok) return;\n var res = await api(\"DELETE\", \"/access-policies/\" + id);\n if (res.ok) { showToast(__t(\"access.policyDeleted\"), \"success\"); apLoadAll(); }\n}\n\n// \u2500\u2500\u2500 Rule Dialog \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction openRuleDialog(mode, id) {\n apEditingRuleId = (mode === \"edit\") ? id : null;\n document.getElementById(\"ap-rule-dialog-title\").textContent = mode === \"edit\" ? __t(\"access.editRuleTitle\") : __t(\"access.ruleTitle\");\n\n // Populate policy dropdown with all policies\n var sel = document.getElementById(\"ap-rule-policy\");\n sel.innerHTML = apPolicies.map(function(p) {\n return '<option value=\"' + escapeHtml(p.id) + '\">' + escapeHtml(p.name) + ' \\u2014 ' + escapeHtml(apAccessTypeLabel(p)) + '</option>';\n }).join(\"\");\n\n document.getElementById(\"ap-rule-pattern\").disabled = false;\n document.getElementById(\"ap-rule-priority\").disabled = false;\n\n if (mode === \"edit\") {\n var r = apRules.find(function(x) { return x.id === id; });\n if (!r) return;\n document.getElementById(\"ap-rule-pattern\").value = r.pathPattern;\n document.getElementById(\"ap-rule-priority\").value = r.priority;\n document.getElementById(\"ap-rule-remark\").value = r.remark || \"\";\n sel.value = r.accessPolicyId;\n } else {\n document.getElementById(\"ap-rule-pattern\").value = \"\";\n document.getElementById(\"ap-rule-priority\").value = \"0\";\n document.getElementById(\"ap-rule-remark\").value = \"\";\n }\n showDialog(\"ap-rule-dialog\");\n}\n\nasync function apSaveRule() {\n var body = {\n accessPolicyId: document.getElementById(\"ap-rule-policy\").value,\n remark: document.getElementById(\"ap-rule-remark\").value.trim(),\n pathPattern: document.getElementById(\"ap-rule-pattern\").value.trim(),\n priority: parseInt(document.getElementById(\"ap-rule-priority\").value, 10) || 0,\n };\n if (!body.pathPattern) { showToast(__t(\"access.patternRequired\"), \"error\"); return; }\n\n var res;\n if (apEditingRuleId) {\n res = await api(\"PUT\", \"/security-rules/\" + apEditingRuleId, body);\n } else {\n res = await api(\"POST\", \"/security-rules\", body);\n }\n if (res.ok) {\n showToast(__t(\"access.ruleSaved\"), \"success\");\n closeDialog(\"ap-rule-dialog\");\n apLoadAll();\n }\n}\n\nasync function apDeleteRule(id) {\n var ok = await confirmDialog({ title: __t(\"access.deleteRule\"), message: __t(\"access.deleteRuleMsg\"), danger: true });\n if (!ok) return;\n var res = await api(\"DELETE\", \"/security-rules/\" + id);\n if (res.ok) { showToast(__t(\"access.ruleDeleted\"), \"success\"); apLoadAll(); }\n}\n\n// \u2500\u2500\u2500 Register Tab \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nregisterTab(\"access\", function() { apLoadAll(); });\n";
12
+ export declare const ACCESS_TAB_SCRIPT: string;
13
13
  export {};
14
14
  //# sourceMappingURL=tab-access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-access.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAOpE,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAwF5C;AAED,eAAO,MAAM,iBAAiB,w9gBA4T7B,CAAC"}
1
+ {"version":3,"file":"tab-access.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAOpE,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAwF5C;AAKD,eAAO,MAAM,iBAAiB,QA4T1B,CAAC"}
@@ -100,7 +100,10 @@ export function accessTabHtml(t) {
100
100
  </dialog>
101
101
  `;
102
102
  }
103
- export const ACCESS_TAB_SCRIPT = /* js */ `
103
+ // Wrapped in a @__PURE__ IIFE so bundlers can tree-shake this client-only string
104
+ // out of the server bundle (it's served as an external asset; only build-assets.mjs
105
+ // reads it). The template interpolates module locals, which otherwise blocks DCE.
106
+ export const ACCESS_TAB_SCRIPT = /* @__PURE__ */ (() => /* js */ `
104
107
  // ─── Access Tab State ──────────────────────────────────────────────────────
105
108
  var apPolicies = [];
106
109
  var apRules = [];
@@ -416,5 +419,5 @@ async function apDeleteRule(id) {
416
419
 
417
420
  // ─── Register Tab ──────────────────────────────────────────────────────────
418
421
  registerTab("access", function() { apLoadAll(); });
419
- `;
422
+ `)();
420
423
  //# sourceMappingURL=tab-access.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-access.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,qDAAqD;AACrD,MAAM,SAAS,GAAG,8QAA8Q,CAAC;AACjS,MAAM,WAAW,GAAG,6XAA6X,CAAC;AAClZ,MAAM,SAAS,GAAG,0RAA0R,CAAC;AAE7S,MAAM,UAAU,aAAa,CAAC,CAAM;IAClC,OAAO,UAAU,CAAC;;8BAEU,CAAC,CAAC,cAAc,CAAC;4BACnB,CAAC,CAAC,aAAa,CAAC;;;;;cAK9B,CAAC,CAAC,iBAAiB,CAAC;qEACmC,CAAC,CAAC,kBAAkB,CAAC;;;;;;;;cAQ5E,CAAC,CAAC,cAAc,CAAC;mEACoC,CAAC,CAAC,gBAAgB,CAAC;;;;;;;;;sCAShD,CAAC,CAAC,oBAAoB,CAAC;;kCAE3B,CAAC,CAAC,aAAa,CAAC;6EAC2B,CAAC,CAAC,wBAAwB,CAAC;;;kCAGtE,CAAC,CAAC,mBAAmB,CAAC;;gCAExB,CAAC,CAAC,oBAAoB,CAAC;wCACf,CAAC,CAAC,2BAA2B,CAAC;;;;kCAIpC,CAAC,CAAC,cAAc,CAAC;;4EAEyB,CAAC,CAAC,cAAc,CAAC;4EACjB,CAAC,CAAC,cAAc,CAAC;6EAChB,CAAC,CAAC,eAAe,CAAC;;;;kCAI7D,CAAC,CAAC,oBAAoB,CAAC;;;;;kFAKyB,CAAC,CAAC,eAAe,CAAC;2EACzB,CAAC,CAAC,aAAa,CAAC;;;;;;;oCAOvD,CAAC,CAAC,kBAAkB,CAAC;;kCAEvB,CAAC,CAAC,mBAAmB,CAAC;+DACO,CAAC,CAAC,2BAA2B,CAAC;oEACzB,CAAC,CAAC,oBAAoB,CAAC;;;kCAGzD,CAAC,CAAC,qBAAqB,CAAC;;;;kCAIxB,CAAC,CAAC,iBAAiB,CAAC;;oEAEc,CAAC,CAAC,qBAAqB,CAAC;;;kCAG1D,CAAC,CAAC,cAAc,CAAC;8DACW,CAAC,CAAC,yBAAyB,CAAC;;;;gFAIV,CAAC,CAAC,eAAe,CAAC;uEAC3B,CAAC,CAAC,aAAa,CAAC;;;CAGtF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;;;;;;;;;sBASpB,SAAS;wBACP,WAAW;sBACb,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiT9B,CAAC"}
1
+ {"version":3,"file":"tab-access.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,qDAAqD;AACrD,MAAM,SAAS,GAAG,8QAA8Q,CAAC;AACjS,MAAM,WAAW,GAAG,6XAA6X,CAAC;AAClZ,MAAM,SAAS,GAAG,0RAA0R,CAAC;AAE7S,MAAM,UAAU,aAAa,CAAC,CAAM;IAClC,OAAO,UAAU,CAAC;;8BAEU,CAAC,CAAC,cAAc,CAAC;4BACnB,CAAC,CAAC,aAAa,CAAC;;;;;cAK9B,CAAC,CAAC,iBAAiB,CAAC;qEACmC,CAAC,CAAC,kBAAkB,CAAC;;;;;;;;cAQ5E,CAAC,CAAC,cAAc,CAAC;mEACoC,CAAC,CAAC,gBAAgB,CAAC;;;;;;;;;sCAShD,CAAC,CAAC,oBAAoB,CAAC;;kCAE3B,CAAC,CAAC,aAAa,CAAC;6EAC2B,CAAC,CAAC,wBAAwB,CAAC;;;kCAGtE,CAAC,CAAC,mBAAmB,CAAC;;gCAExB,CAAC,CAAC,oBAAoB,CAAC;wCACf,CAAC,CAAC,2BAA2B,CAAC;;;;kCAIpC,CAAC,CAAC,cAAc,CAAC;;4EAEyB,CAAC,CAAC,cAAc,CAAC;4EACjB,CAAC,CAAC,cAAc,CAAC;6EAChB,CAAC,CAAC,eAAe,CAAC;;;;kCAI7D,CAAC,CAAC,oBAAoB,CAAC;;;;;kFAKyB,CAAC,CAAC,eAAe,CAAC;2EACzB,CAAC,CAAC,aAAa,CAAC;;;;;;;oCAOvD,CAAC,CAAC,kBAAkB,CAAC;;kCAEvB,CAAC,CAAC,mBAAmB,CAAC;+DACO,CAAC,CAAC,2BAA2B,CAAC;oEACzB,CAAC,CAAC,oBAAoB,CAAC;;;kCAGzD,CAAC,CAAC,qBAAqB,CAAC;;;;kCAIxB,CAAC,CAAC,iBAAiB,CAAC;;oEAEc,CAAC,CAAC,qBAAqB,CAAC;;;kCAG1D,CAAC,CAAC,cAAc,CAAC;8DACW,CAAC,CAAC,yBAAyB,CAAC;;;;gFAIV,CAAC,CAAC,eAAe,CAAC;uEAC3B,CAAC,CAAC,aAAa,CAAC;;;CAGtF,CAAC;AACF,CAAC;AAED,iFAAiF;AACjF,oFAAoF;AACpF,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;sBAS3C,SAAS;wBACP,WAAW;sBACb,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiT9B,CAAC,EAAE,CAAC"}
@@ -4,6 +4,6 @@
4
4
  */
5
5
  type TFn = (key: string, params?: Record<string, string>) => string;
6
6
  export declare function appearanceTabHtml(t: TFn): string;
7
- export declare const APPEARANCE_TAB_SCRIPT = "\n// \u2500\u2500\u2500 Appearance Tab \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nvar __appearanceApiBase = \"/.well-known/service/api\";\n\nasync function appearanceApi(method, path, body) {\n try {\n var opts = { method: method, headers: {} };\n if (body !== undefined) {\n opts.headers[\"Content-Type\"] = \"application/json\";\n opts.body = JSON.stringify(body);\n }\n var res = await fetch(__appearanceApiBase + path, opts);\n if (!res.ok) {\n var data = await res.json().catch(function() { return {}; });\n showToast(data.error || __t(\"common.requestFailed\"), \"error\");\n return { ok: false, error: data.error };\n }\n return await res.json();\n } catch (err) {\n showToast(__t(\"common.networkError\"), \"error\");\n return { ok: false, error: err.message };\n }\n}\n\nvar __themeData = {};\nvar __themeJsonOriginal = \"\";\nvar __navItems = [];\n\nasync function loadAppearance() {\n document.getElementById(\"ap-nav-list\").innerHTML = skeletonRows(3);\n // Load theme\n var tRes = await appearanceApi(\"GET\", \"/theme\");\n if (tRes) {\n __themeData = tRes.theme || {};\n populateThemeForm(__themeData);\n }\n\n // Load navigation\n var nRes = await appearanceApi(\"GET\", \"/navigation\");\n if (nRes) {\n __navItems = nRes.navigation || [];\n renderNavList();\n }\n}\n\nfunction populateThemeForm(theme) {\n // Try to extract from concepts-based format\n var concept = null;\n if (theme.concepts && theme.currentConceptId) {\n concept = theme.concepts.find(function(c) { return c.id === theme.currentConceptId; });\n }\n\n var prefer = concept ? (concept.prefer || \"system\") : (theme.prefer || \"system\");\n document.getElementById(\"ap-theme-mode\").value = prefer;\n\n var light = concept ? (concept.themeConfig && concept.themeConfig.light || {}) : (theme.light || {});\n var dark = concept ? (concept.themeConfig && concept.themeConfig.dark || {}) : (theme.dark || {});\n\n // Light palette\n setColorSafe(\"ap-light-primary\", light.palette && light.palette.primary && light.palette.primary.main, \"#1976d2\");\n setColorSafe(\"ap-light-secondary\", light.palette && light.palette.secondary && light.palette.secondary.main, \"#9c27b0\");\n setColorSafe(\"ap-light-bg\", light.palette && light.palette.background && light.palette.background.default, \"#ffffff\");\n setColorSafe(\"ap-light-text\", light.palette && light.palette.text && light.palette.text.primary, \"#212121\");\n\n // Dark palette\n setColorSafe(\"ap-dark-primary\", dark.palette && dark.palette.primary && dark.palette.primary.main, \"#90caf9\");\n setColorSafe(\"ap-dark-secondary\", dark.palette && dark.palette.secondary && dark.palette.secondary.main, \"#ce93d8\");\n setColorSafe(\"ap-dark-bg\", dark.palette && dark.palette.background && dark.palette.background.default, \"#121212\");\n setColorSafe(\"ap-dark-text\", dark.palette && dark.palette.text && dark.palette.text.primary, \"#ffffff\");\n\n // Lock\n document.getElementById(\"ap-theme-lock\").checked = !!(theme.meta && theme.meta.locked);\n\n // JSON editor\n var jsonStr = JSON.stringify(theme, null, 2);\n document.getElementById(\"ap-theme-json\").value = jsonStr;\n __themeJsonOriginal = jsonStr;\n}\n\nfunction setColorSafe(id, value, fallback) {\n var el = document.getElementById(id);\n if (!el) return;\n // color inputs need hex format\n if (value && value.charAt(0) === \"#\" && (value.length === 4 || value.length === 7)) {\n el.value = value;\n } else {\n el.value = fallback;\n }\n}\n\nfunction buildThemeFromForm() {\n var prefer = document.getElementById(\"ap-theme-mode\").value;\n var locked = document.getElementById(\"ap-theme-lock\").checked;\n\n // Only use JSON editor if user manually modified it\n var jsonText = document.getElementById(\"ap-theme-json\").value.trim();\n var jsonModified = jsonText && jsonText !== __themeJsonOriginal;\n if (jsonModified) {\n try {\n var parsed = JSON.parse(jsonText);\n // Add prefer and locked from form controls\n if (parsed.concepts && parsed.currentConceptId) {\n var c = parsed.concepts.find(function(c) { return c.id === parsed.currentConceptId; });\n if (c) c.prefer = prefer;\n } else {\n parsed.prefer = prefer;\n }\n parsed.meta = { locked: locked };\n return parsed;\n } catch(e) {\n showToast(__t(\"appearance.invalidJson\"), \"error\");\n return null;\n }\n }\n\n // Build concepts-based theme from color pickers\n var conceptId = (__themeData.currentConceptId) || \"default\";\n return {\n concepts: [{\n id: conceptId,\n name: \"Custom\",\n prefer: prefer,\n themeConfig: {\n light: {\n palette: {\n primary: { main: document.getElementById(\"ap-light-primary\").value },\n secondary: { main: document.getElementById(\"ap-light-secondary\").value },\n background: { default: document.getElementById(\"ap-light-bg\").value },\n text: { primary: document.getElementById(\"ap-light-text\").value }\n }\n },\n dark: {\n palette: {\n primary: { main: document.getElementById(\"ap-dark-primary\").value },\n secondary: { main: document.getElementById(\"ap-dark-secondary\").value },\n background: { default: document.getElementById(\"ap-dark-bg\").value },\n text: { primary: document.getElementById(\"ap-dark-text\").value }\n }\n },\n common: {}\n }\n }],\n currentConceptId: conceptId,\n meta: { locked: locked }\n };\n}\n\nasync function saveTheme() {\n var theme = buildThemeFromForm();\n if (!theme) return;\n var res = await appearanceApi(\"PUT\", \"/theme\", { theme: theme });\n if (res && res.ok) showToast(__t(\"appearance.themeUpdated\"));\n else showToast((res && res.error) || \"Failed to update theme\", \"error\");\n}\n\n// \u2500\u2500\u2500 Navigation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nfunction renderNavList() {\n var list = document.getElementById(\"ap-nav-list\");\n if (!list) return;\n if (__navItems.length === 0) {\n list.innerHTML = '<p style=\"color:var(--color-text-muted);font-size:13px;padding:8px 0;\">' + __t(\"appearance.noNavItems\") + '</p>';\n return;\n }\n list.innerHTML = __navItems.map(function(item, i) {\n return '<div class=\"nav-item\" style=\"display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border);\">' +\n '<span style=\"min-width:24px;text-align:center;color:var(--color-text-muted);\">' + (i+1) + '</span>' +\n '<span style=\"flex:1;font-size:14px;\">' + escapeHtml(item.title || \"(untitled)\") + '</span>' +\n '<span style=\"color:var(--color-text-muted);font-size:12px;\">' + escapeHtml(item.link || \"\") + '</span>' +\n '<button class=\"btn btn-sm\" onclick=\"editNavItem(' + i + ')\" style=\"padding:2px 8px;\">' + __t(\"common.edit\") + '</button>' +\n '<button class=\"btn btn-sm\" onclick=\"moveNavItem(' + i + ',-1)\" style=\"padding:2px 6px;\" ' + (i === 0 ? \"disabled\" : \"\") + '>' + __t(\"appearance.up\") + '</button>' +\n '<button class=\"btn btn-sm\" onclick=\"moveNavItem(' + i + ',1)\" style=\"padding:2px 6px;\" ' + (i === __navItems.length - 1 ? \"disabled\" : \"\") + '>' + __t(\"appearance.down\") + '</button>' +\n '<button class=\"btn btn-sm btn-danger\" onclick=\"removeNavItem(' + i + ')\" style=\"padding:2px 8px;\">' + __t(\"common.delete\") + '</button>' +\n '</div>';\n }).join(\"\");\n}\n\nfunction escapeHtml(str) {\n return String(str).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\");\n}\n\nfunction addNavItem() {\n var title = prompt(__t(\"appearance.navTitlePrompt\"));\n if (title === null) return;\n var link = prompt(__t(\"appearance.navLinkPrompt\"), \"/\");\n if (link === null) return;\n __navItems.push({ title: title, link: link });\n renderNavList();\n}\n\nfunction editNavItem(i) {\n var item = __navItems[i];\n if (!item) return;\n var title = prompt(__t(\"appearance.navTitlePrompt\"), item.title || \"\");\n if (title === null) return;\n var link = prompt(__t(\"appearance.navLinkPrompt\"), item.link || \"\");\n if (link === null) return;\n item.title = title;\n item.link = link;\n renderNavList();\n}\n\nfunction removeNavItem(i) {\n if (!confirm(__t(\"appearance.deleteNavItem\"))) return;\n __navItems.splice(i, 1);\n renderNavList();\n}\n\nfunction moveNavItem(i, dir) {\n var j = i + dir;\n if (j < 0 || j >= __navItems.length) return;\n var tmp = __navItems[i];\n __navItems[i] = __navItems[j];\n __navItems[j] = tmp;\n renderNavList();\n}\n\nasync function saveNavigation() {\n var res = await appearanceApi(\"PUT\", \"/navigation\", { navigation: __navItems });\n if (res && res.ok) showToast(__t(\"appearance.navUpdated\"));\n else showToast((res && res.error) || \"Failed to update navigation\", \"error\");\n}\n\nregisterTab(\"appearance\", loadAppearance);\n";
7
+ export declare const APPEARANCE_TAB_SCRIPT: string;
8
8
  export {};
9
9
  //# sourceMappingURL=tab-appearance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-appearance.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-appearance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAEpE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAkEhD;AAED,eAAO,MAAM,qBAAqB,m6SAiOjC,CAAC"}
1
+ {"version":3,"file":"tab-appearance.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-appearance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAEpE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAkEhD;AAID,eAAO,MAAM,qBAAqB,QAiO9B,CAAC"}
@@ -69,7 +69,9 @@ export function appearanceTabHtml(t) {
69
69
  </div>
70
70
  `;
71
71
  }
72
- export const APPEARANCE_TAB_SCRIPT = /* js */ `
72
+ // @__PURE__ IIFE wrap: lets bundlers tree-shake this client-only string out of the
73
+ // server bundle (served as an external asset; only build-assets.mjs reads it).
74
+ export const APPEARANCE_TAB_SCRIPT = /* @__PURE__ */ (() => /* js */ `
73
75
  // ─── Appearance Tab ──────────────────────────────────────────────────
74
76
 
75
77
  var __appearanceApiBase = "/.well-known/service/api";
@@ -294,5 +296,5 @@ async function saveNavigation() {
294
296
  }
295
297
 
296
298
  registerTab("appearance", loadAppearance);
297
- `;
299
+ `)();
298
300
  //# sourceMappingURL=tab-appearance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-appearance.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-appearance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,iBAAiB,CAAC,CAAM;IACtC,OAAO,UAAU,CAAC;;8BAEU,CAAC,CAAC,kBAAkB,CAAC;4BACvB,CAAC,CAAC,iBAAiB,CAAC;;;;8CAIF,CAAC,CAAC,kBAAkB,CAAC;;;oCAG/B,CAAC,CAAC,iBAAiB,CAAC;;mCAErB,CAAC,CAAC,mBAAmB,CAAC;kCACvB,CAAC,CAAC,kBAAkB,CAAC;iCACtB,CAAC,CAAC,iBAAiB,CAAC;;;;;;0EAMqB,CAAC,CAAC,sBAAsB,CAAC;8DACrC,CAAC,CAAC,oBAAoB,CAAC;8DACvB,CAAC,CAAC,sBAAsB,CAAC;8DACzB,CAAC,CAAC,uBAAuB,CAAC;8DAC1B,CAAC,CAAC,iBAAiB,CAAC;;;;0EAIR,CAAC,CAAC,qBAAqB,CAAC;8DACpC,CAAC,CAAC,oBAAoB,CAAC;8DACvB,CAAC,CAAC,sBAAsB,CAAC;8DACzB,CAAC,CAAC,uBAAuB,CAAC;8DAC1B,CAAC,CAAC,iBAAiB,CAAC;;;;;wFAKM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;YAOpG,CAAC,CAAC,sBAAsB,CAAC;;;;kFAI6C,CAAC,CAAC,aAAa,CAAC;;;;;;;cAOpF,CAAC,CAAC,uBAAuB,CAAC;0DACkB,CAAC,CAAC,oBAAoB,CAAC;;;;8DAInB,CAAC,CAAC,aAAa,CAAC;;;;CAI7E,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiO7C,CAAC"}
1
+ {"version":3,"file":"tab-appearance.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-appearance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,iBAAiB,CAAC,CAAM;IACtC,OAAO,UAAU,CAAC;;8BAEU,CAAC,CAAC,kBAAkB,CAAC;4BACvB,CAAC,CAAC,iBAAiB,CAAC;;;;8CAIF,CAAC,CAAC,kBAAkB,CAAC;;;oCAG/B,CAAC,CAAC,iBAAiB,CAAC;;mCAErB,CAAC,CAAC,mBAAmB,CAAC;kCACvB,CAAC,CAAC,kBAAkB,CAAC;iCACtB,CAAC,CAAC,iBAAiB,CAAC;;;;;;0EAMqB,CAAC,CAAC,sBAAsB,CAAC;8DACrC,CAAC,CAAC,oBAAoB,CAAC;8DACvB,CAAC,CAAC,sBAAsB,CAAC;8DACzB,CAAC,CAAC,uBAAuB,CAAC;8DAC1B,CAAC,CAAC,iBAAiB,CAAC;;;;0EAIR,CAAC,CAAC,qBAAqB,CAAC;8DACpC,CAAC,CAAC,oBAAoB,CAAC;8DACvB,CAAC,CAAC,sBAAsB,CAAC;8DACzB,CAAC,CAAC,uBAAuB,CAAC;8DAC1B,CAAC,CAAC,iBAAiB,CAAC;;;;;wFAKM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;YAOpG,CAAC,CAAC,sBAAsB,CAAC;;;;kFAI6C,CAAC,CAAC,aAAa,CAAC;;;;;;;cAOpF,CAAC,CAAC,uBAAuB,CAAC;0DACkB,CAAC,CAAC,oBAAoB,CAAC;;;;8DAInB,CAAC,CAAC,aAAa,CAAC;;;;CAI7E,CAAC;AACF,CAAC;AAED,mFAAmF;AACnF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiOpE,CAAC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tab-branding.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-branding.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AA8DpE,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAuH9C;AAED,eAAO,MAAM,mBAAmB,QAqT/B,CAAC"}
1
+ {"version":3,"file":"tab-branding.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-branding.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AA8DpE,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAuH9C;AAID,eAAO,MAAM,mBAAmB,QAqT5B,CAAC"}
@@ -173,7 +173,9 @@ export function brandingTabHtml(t) {
173
173
  </div>
174
174
  `;
175
175
  }
176
- export const BRANDING_TAB_SCRIPT = /* js */ `
176
+ // @__PURE__ IIFE wrap: lets bundlers tree-shake this client-only string out of the
177
+ // server bundle (served as an external asset; only build-assets.mjs reads it).
178
+ export const BRANDING_TAB_SCRIPT = /* @__PURE__ */ (() => /* js */ `
177
179
  // ─── Branding Tab ────────────────────────────────────────────────────
178
180
 
179
181
  var __brandingApiBase = "/.well-known/service/api";
@@ -482,5 +484,5 @@ async function saveBrandingLanguages() {
482
484
  }
483
485
 
484
486
  registerTab("branding", loadBranding);
485
- `;
487
+ `)();
486
488
  //# sourceMappingURL=tab-branding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-branding.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-branding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tab-branding.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-branding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tab-profile-accounts.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-profile-accounts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAqBpE,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CASxD;AAED,eAAO,MAAM,yBAAyB,QAoiBrC,CAAC"}
1
+ {"version":3,"file":"tab-profile-accounts.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-profile-accounts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAqBpE,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CASxD;AAID,eAAO,MAAM,yBAAyB,QAoiBlC,CAAC"}
@@ -30,7 +30,9 @@ export function connectedAccountsCardHtml(t) {
30
30
  </div>
31
31
  `;
32
32
  }
33
- export const CONNECTED_ACCOUNTS_SCRIPT = /* js */ `
33
+ // @__PURE__ IIFE wrap: lets bundlers tree-shake this client-only string out of the
34
+ // server bundle (served as an external asset; only build-assets.mjs reads it).
35
+ export const CONNECTED_ACCOUNTS_SCRIPT = /* @__PURE__ */ (() => /* js */ `
34
36
  var __connectedAccounts = [];
35
37
  var __oauthProviders = [];
36
38
  var __providerIcons = ${buildIconMapJSON()};
@@ -578,5 +580,5 @@ function bufferToBase64url(buf) {
578
580
  for (var i = 0; i < bytes.length; i++) str += String.fromCharCode(bytes[i]);
579
581
  return btoa(str).replace(/\\+/g, "-").replace(/\\//g, "_").replace(/=+$/, "");
580
582
  }
581
- `;
583
+ `)();
582
584
  //# sourceMappingURL=tab-profile-accounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-profile-accounts.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-profile-accounts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,GACZ,MAAM,+BAA+B,CAAC;AAIvC,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;AAE/D,4DAA4D;AAC5D,SAAS,gBAAgB;IACvB,MAAM,GAAG,GAA2B;QAClC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE,eAAe;QAC9B,KAAK,EAAE,UAAU;KAClB,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,CAAM;IAC9C,OAAO,UAAU,CAAC;;;0CAGsB,CAAC,CAAC,2BAA2B,CAAC;;;;CAIvE,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;;;wBAG1B,gBAAgB,EAAE;0BAChB,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgiB9D,CAAC"}
1
+ {"version":3,"file":"tab-profile-accounts.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-profile-accounts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,GACZ,MAAM,+BAA+B,CAAC;AAIvC,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;AAE/D,4DAA4D;AAC5D,SAAS,gBAAgB;IACvB,MAAM,GAAG,GAA2B;QAClC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE,eAAe;QAC9B,KAAK,EAAE,UAAU;KAClB,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,CAAM;IAC9C,OAAO,UAAU,CAAC;;;0CAGsB,CAAC,CAAC,2BAA2B,CAAC;;;;CAIvE,CAAC;AACF,CAAC;AAED,mFAAmF;AACnF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;;;wBAGjD,gBAAgB,EAAE;0BAChB,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgiB9D,CAAC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tab-settings.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAgBpE,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CA0J9C;AAED,eAAO,MAAM,mBAAmB,QAuT/B,CAAC"}
1
+ {"version":3,"file":"tab-settings.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAgBpE,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CA0J9C;AAID,eAAO,MAAM,mBAAmB,QAuT5B,CAAC"}
@@ -171,7 +171,9 @@ export function settingsTabHtml(t) {
171
171
  </dialog>
172
172
  `;
173
173
  }
174
- export const SETTINGS_TAB_SCRIPT = /* js */ `
174
+ // @__PURE__ IIFE wrap: lets bundlers tree-shake this client-only string out of the
175
+ // server bundle (served as an external asset; only build-assets.mjs reads it).
176
+ export const SETTINGS_TAB_SCRIPT = /* @__PURE__ */ (() => /* js */ `
175
177
  // ─── Settings tab ─────────────────────────────────────────────────
176
178
 
177
179
  var __settingsData = null;
@@ -482,5 +484,5 @@ function saveEmailConfig() {
482
484
  registerTab("settings", loadSettings);
483
485
 
484
486
  ${FEDERATION_SECTION_SCRIPT}
485
- `;
487
+ `)();
486
488
  //# sourceMappingURL=tab-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-settings.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tab-settings.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-instances-page.d.ts","sourceRoot":"","sources":["../../src/pages/admin-instances-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0MH,wBAAgB,2BAA2B,IAAI,MAAM,CAyUpD"}
1
+ {"version":3,"file":"admin-instances-page.d.ts","sourceRoot":"","sources":["../../src/pages/admin-instances-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwMH,wBAAgB,2BAA2B,IAAI,MAAM,CAyUpD"}
@@ -4,9 +4,7 @@
4
4
  * Pattern: embedded LoginPage + registration form + registered instance list.
5
5
  * Follows gen-access-key-page.ts architecture.
6
6
  */
7
- import { LOGIN_PAGE_STYLES } from "@arcblock/did-connect-core/ui";
8
- import DID_ADDRESS_BUNDLE from "../_generated/did-address-bundle-string.js";
9
- import loginBundle from "../_generated/login-bundle-string.js";
7
+ import { assetUrl } from "../asset-registry.js";
10
8
  /** Escape string for safe embedding inside <script> — prevents XSS. */
11
9
  function escapeForScript(s) {
12
10
  return s.replace(/<\/(script)/gi, "<\\/$1");
@@ -208,8 +206,8 @@ export function buildAdminInstancesPageHTML() {
208
206
  <meta charset="utf-8" />
209
207
  <meta name="viewport" content="width=device-width, initial-scale=1" />
210
208
  <title>Instance Registration</title>
209
+ <link rel="stylesheet" href="${assetUrl("login.css")}" />
211
210
  <style>
212
- ${LOGIN_PAGE_STYLES}
213
211
  ${PAGE_STYLES}
214
212
  </style>
215
213
  </head>
@@ -311,9 +309,9 @@ export function buildAdminInstancesPageHTML() {
311
309
  </div>
312
310
  </div>
313
311
 
314
- <script>${DID_ADDRESS_BUNDLE}</script>
312
+ <script src="${assetUrl("did-address.js")}"></script>
313
+ <script src="${assetUrl("login.js")}"></script>
315
314
  <script>
316
- ${loginBundle}
317
315
  ;(function() {
318
316
  var LB = __LoginBundle;
319
317
  var apiPrefix = '${escapeForScript(apiPrefix)}';
@@ -1 +1 @@
1
- {"version":3,"file":"admin-instances-page.js","sourceRoot":"","sources":["../../src/pages/admin-instances-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAE/D,uEAAuE;AACvE,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,+DAA+D;AAC/D,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,WAAW,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmL7B,CAAC;AAEF,MAAM,UAAU,2BAA2B;IACzC,MAAM,SAAS,GAAG,8BAA8B,CAAC;IAEjD,OAAO,UAAU,CAAC;;;;;;;MAOd,iBAAiB;MACjB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqGP,kBAAkB;;EAE1B,WAAW;;;qBAGQ,eAAe,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmNvC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"admin-instances-page.js","sourceRoot":"","sources":["../../src/pages/admin-instances-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,uEAAuE;AACvE,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,+DAA+D;AAC/D,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,WAAW,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmL7B,CAAC;AAEF,MAAM,UAAU,2BAA2B;IACzC,MAAM,SAAS,GAAG,8BAA8B,CAAC;IAEjD,OAAO,UAAU,CAAC;;;;;;iCAMa,QAAQ,CAAC,WAAW,CAAC;;MAEhD,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAqGF,QAAQ,CAAC,gBAAgB,CAAC;eAC1B,QAAQ,CAAC,UAAU,CAAC;;;;qBAId,eAAe,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmNvC,CAAC;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-page.d.ts","sourceRoot":"","sources":["../../src/pages/error-page.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,gCAAgC;IAChC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA4BjE"}
1
+ {"version":3,"file":"error-page.d.ts","sourceRoot":"","sources":["../../src/pages/error-page.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,gCAAgC;IAChC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA6BjE"}
@@ -2,7 +2,7 @@
2
2
  * Minimal error page — used for 403 (Forbidden), 404 (Not Found), etc.
3
3
  * Styled with design tokens so it adapts to dark/light theme.
4
4
  */
5
- import { DESIGN_RESET_CSS, DESIGN_TOKENS_CSS, DESIGN_TOKENS_LIGHT_CSS } from "@arcblock/did-connect-core/ui";
5
+ import { assetUrl } from "../asset-registry.js";
6
6
  export function buildErrorPageHTML(opts) {
7
7
  const actionBtn = opts.action
8
8
  ? `<a class="btn" href="${escapeAttr(opts.action.href)}">${escapeHTML(opts.action.label)}</a>`
@@ -16,7 +16,8 @@ export function buildErrorPageHTML(opts) {
16
16
  <meta charset="utf-8" />
17
17
  <meta name="viewport" content="width=device-width, initial-scale=1" />
18
18
  <title>${opts.status} — ${escapeHTML(opts.title)}</title>
19
- <style>${DESIGN_TOKENS_CSS}${DESIGN_TOKENS_LIGHT_CSS}${DESIGN_RESET_CSS}${ERROR_STYLES}</style>
19
+ <link rel="stylesheet" href="${assetUrl("design.css")}" />
20
+ <style>${ERROR_STYLES}</style>
20
21
  </head>
21
22
  <body>
22
23
  <div class="error-container">
@@ -1 +1 @@
1
- {"version":3,"file":"error-page.js","sourceRoot":"","sources":["../../src/pages/error-page.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAY7G,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM;QAC3B,CAAC,CAAC,wBAAwB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QAC9F,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe;QACvC,CAAC,CAAC,sCAAsC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM;QAC9H,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,UAAU,CAAC;;;;;WAKT,IAAI,CAAC,MAAM,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;WACvC,iBAAiB,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,YAAY;;;;8BAI1D,IAAI,CAAC,MAAM;UAC/B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;SACvB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;QAEzB,SAAS;QACT,YAAY;;;;QAIZ,CAAC;AACT,CAAC;AAED,MAAM,YAAY,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8D9B,CAAC;AAEF,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"error-page.js","sourceRoot":"","sources":["../../src/pages/error-page.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAYhD,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM;QAC3B,CAAC,CAAC,wBAAwB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QAC9F,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe;QACvC,CAAC,CAAC,sCAAsC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM;QAC9H,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,UAAU,CAAC;;;;;WAKT,IAAI,CAAC,MAAM,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;iCACjB,QAAQ,CAAC,YAAY,CAAC;WAC5C,YAAY;;;;8BAIO,IAAI,CAAC,MAAM;UAC/B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;SACvB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;QAEzB,SAAS;QACT,YAAY;;;;QAIZ,CAAC;AACT,CAAC;AAED,MAAM,YAAY,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8D9B,CAAC;AAEF,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gen-access-key-page.d.ts","sourceRoot":"","sources":["../../src/pages/gen-access-key-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtF,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsID,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CA2QnF"}
1
+ {"version":3,"file":"gen-access-key-page.d.ts","sourceRoot":"","sources":["../../src/pages/gen-access-key-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtF,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsID,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CA2QnF"}
@@ -8,8 +8,7 @@
8
8
  *
9
9
  * Uses same LoginPage bundle and design system as login-page.ts.
10
10
  */
11
- import { LOGIN_PAGE_STYLES } from "@arcblock/did-connect-core/ui";
12
- import loginBundle from "../_generated/login-bundle-string.js";
11
+ import { assetUrl } from "../asset-registry.js";
13
12
  /** Escape string for safe embedding inside <script> — prevents XSS. */
14
13
  function escapeForScript(s) {
15
14
  return s.replace(/<\/(script)/gi, "<\\/$1");
@@ -152,8 +151,8 @@ export function buildGenAccessKeyPageHTML(options) {
152
151
  <meta charset="utf-8" />
153
152
  <meta name="viewport" content="width=device-width, initial-scale=1" />
154
153
  <title>Authorize Access</title>
154
+ <link rel="stylesheet" href="${assetUrl("login.css")}" />
155
155
  <style>
156
- ${LOGIN_PAGE_STYLES}
157
156
  ${AUTH_STYLES}
158
157
  </style>
159
158
  </head>
@@ -222,8 +221,8 @@ export function buildGenAccessKeyPageHTML(options) {
222
221
 
223
222
  </div>
224
223
 
224
+ <script src="${assetUrl("login.js")}"></script>
225
225
  <script>
226
- ${loginBundle}
227
226
  ;(function() {
228
227
  var LB = __LoginBundle;
229
228
  var pageOpts = ${optionsJSON};
@@ -1 +1 @@
1
- {"version":3,"file":"gen-access-key-page.js","sourceRoot":"","sources":["../../src/pages/gen-access-key-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAa/D,uEAAuE;AACvE,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,KAAK,GAAG;IACZ,GAAG,EAAE,oWAAoW;IACzW,MAAM,EAAE,iNAAiN;IACzN,KAAK,EAAE,uLAAuL;CAC/L,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqH7B,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,OAAiC;IACzE,MAAM,WAAW,GAAG,eAAe,CACjC,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;QAC1D,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,EAAE;QAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;KAChC,CAAC,CACH,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,8BAA8B,CAAC;IAEvE,OAAO,UAAU,CAAC;;;;;;;MAOd,iBAAiB;MACjB,WAAW;;;;;;;;;oDASmC,KAAK,CAAC,GAAG;;;;;;;;;;;;;;0DAcH,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA6B7B,KAAK,CAAC,KAAK;;;;;;;;YAQrC,KAAK,CAAC,MAAM;;;;;;;;;EAStB,WAAW;;;mBAGM,WAAW;;;;;qBAKT,eAAe,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0KvC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"gen-access-key-page.js","sourceRoot":"","sources":["../../src/pages/gen-access-key-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAahD,uEAAuE;AACvE,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,KAAK,GAAG;IACZ,GAAG,EAAE,oWAAoW;IACzW,MAAM,EAAE,iNAAiN;IACzN,KAAK,EAAE,uLAAuL;CAC/L,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqH7B,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,OAAiC;IACzE,MAAM,WAAW,GAAG,eAAe,CACjC,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;QAC1D,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,EAAE;QAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;KAChC,CAAC,CACH,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,8BAA8B,CAAC;IAEvE,OAAO,UAAU,CAAC;;;;;;iCAMa,QAAQ,CAAC,WAAW,CAAC;;MAEhD,WAAW;;;;;;;;;oDASmC,KAAK,CAAC,GAAG;;;;;;;;;;;;;;0DAcH,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA6B7B,KAAK,CAAC,KAAK;;;;;;;;YAQrC,KAAK,CAAC,MAAM;;;;;;;;eAQT,QAAQ,CAAC,UAAU,CAAC;;;;mBAIhB,WAAW;;;;;qBAKT,eAAe,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0KvC,CAAC;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../src/pages/homepage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0QD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA8J5D"}
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../src/pages/homepage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0QD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA+J5D"}
@@ -4,7 +4,7 @@
4
4
  * Shows service identity, navigation cards (role-gated), service status, and version info.
5
5
  * Client-side session detection via fetch to /api/did/session — no loginBundle needed.
6
6
  */
7
- import { DESIGN_RESET_CSS, DESIGN_TOKENS_CSS, DESIGN_TOKENS_LIGHT_CSS } from "@arcblock/did-connect-core/ui";
7
+ import { assetUrl } from "../asset-registry.js";
8
8
  const EN = {
9
9
  portal: "Service Portal",
10
10
  heroDesc: "Unified authentication & identity service",
@@ -293,8 +293,9 @@ export function buildHomepageHTML(data) {
293
293
  <meta charset="utf-8" />
294
294
  <meta name="viewport" content="width=device-width, initial-scale=1" />
295
295
  <title>${escapeHTML(appName)} — ${escapeHTML(t("portal", lang))}</title>
296
- <style>${DESIGN_TOKENS_CSS}${DESIGN_TOKENS_LIGHT_CSS}${DESIGN_RESET_CSS}${HOMEPAGE_STYLES}</style>
297
- <script src="/.well-known/service/components/header.js" defer></script>
296
+ <link rel="stylesheet" href="${assetUrl("design.css")}" />
297
+ <style>${HOMEPAGE_STYLES}</style>
298
+ <script src="${assetUrl("header.js")}" defer></script>
298
299
  </head>
299
300
  <body>
300
301
  <!-- Header: standard <blocklet-header> Web Component -->