@weppy/roblox-mcp 2.6.3 → 2.7.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 (79) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/CHANGELOG.md +34 -0
  3. package/README.md +22 -11
  4. package/install.ps1 +85 -19
  5. package/install.sh +64 -18
  6. package/llms-full.txt +1 -2
  7. package/llms.txt +4 -3
  8. package/package.json +1 -1
  9. package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
  10. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ChangelogDetailPage-CCOyzW-z.js → ChangelogDetailPage-CIarzJIx.js} +1 -1
  11. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-C1uCKyqh.js +1 -0
  12. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-CNxAGfwG.css +1 -0
  13. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ConfirmModal-jY5BGNY2.js → ConfirmModal-BDWSInRi.js} +1 -1
  14. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ConnectionPage-CBcepiuB.js → ConnectionPage-CWDwVCKg.js} +1 -1
  15. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{GameChangeDetail-sMoIkbj9.js → GameChangeDetail-Bk8YUy4G.js} +1 -1
  16. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{InfoLabel-BbEJAGvG.js → InfoLabel-BJIFNYA5.js} +1 -1
  17. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{OverviewPage-B1QsVfNL.js → OverviewPage-Di0p7YY2.js} +1 -1
  18. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PlaytestPage-Dxgz0SKW.js +11 -0
  19. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-Cc9Wnj8M.css +1 -0
  20. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-DVgxRsfC.js +1 -0
  21. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{StatusBadge-DASntRhn.js → StatusBadge-ilvVufN2.js} +1 -1
  22. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{SyncPage-COJc3U-b.js → SyncPage-IICMnq8v.js} +1 -1
  23. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/Tabs-876h0_zB.css +1 -0
  24. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/Tabs-pDS5zzr9.js +1 -0
  25. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-BXMCd1IB.js +2 -0
  26. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-B3fMk-22.css +1 -0
  27. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-DEhsoa36.js +1 -0
  28. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{TooltipText-Bt3XsRi-.js → TooltipText-bSKcc3-P.js} +1 -1
  29. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/UiStudioPage-BHhd3zUv.js +16 -0
  30. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/UiStudioPage-DQOd5VrU.css +1 -0
  31. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{WhatsNewPage-Dt7gQvv4.js → WhatsNewPage-ErpENbsZ.js} +1 -1
  32. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-BPAvjNNu.js +343 -0
  33. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-Gu7et1DX.css +1 -0
  34. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/sample-requests-Bx1zpYdG.css +1 -0
  35. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/sample-requests-DDQ3XchF.js +1 -0
  36. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ui-studio-sample-DrNTD6yi.png +0 -0
  37. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{useLiveUptime-ViehI-J9.js → useLiveUptime-HYmdQdHf.js} +1 -1
  38. package/plugins/weppy-roblox-mcp/dashboard/dist/index.html +2 -2
  39. package/plugins/weppy-roblox-mcp/dist/index.js +435 -78
  40. package/plugins/weppy-roblox-mcp/roblox-plugin/WeppyRobloxMCP.rbxm +0 -0
  41. package/.gitattributes +0 -1
  42. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -60
  43. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -30
  44. package/.github/ISSUE_TEMPLATE/install_help.yml +0 -48
  45. package/.github/PULL_REQUEST_TEMPLATE.md +0 -16
  46. package/.github/workflows/install-test.yml +0 -140
  47. package/Dockerfile +0 -13
  48. package/docs/assets/screenshots/antigravity/antigravity_mcp_raw.png +0 -0
  49. package/docs/assets/screenshots/antigravity/antigravity_mcp_services_menu.png +0 -0
  50. package/docs/assets/screenshots/antigravity/antigravity_raw_config_menu.png +0 -0
  51. package/docs/assets/screenshots/dashboard/dashboard_changelog1.png +0 -0
  52. package/docs/assets/screenshots/dashboard/dashboard_changelog2.png +0 -0
  53. package/docs/assets/screenshots/dashboard/dashboard_connection.png +0 -0
  54. package/docs/assets/screenshots/dashboard/dashboard_overview.png +0 -0
  55. package/docs/assets/screenshots/dashboard/dashboard_playtest.png +0 -0
  56. package/docs/assets/screenshots/dashboard/dashboard_sync.png +0 -0
  57. package/docs/assets/screenshots/dashboard/dashboard_tools.png +0 -0
  58. package/docs/assets/screenshots/plugin/connection/connection-guide.png +0 -0
  59. package/docs/assets/screenshots/plugin/installation/main-screen.png +0 -0
  60. package/docs/assets/screenshots/plugin/installation/plugins-menu.png +0 -0
  61. package/docs/assets/screenshots/plugin/installation/settings-screen.png +0 -0
  62. package/docs/assets/screenshots/plugin/installation/toolbar-button.png +0 -0
  63. package/docs/assets/screenshots/plugin/license/dashboard-license-screen.png +0 -0
  64. package/docs/assets/screenshots/plugin/license/plugin-license-screen.png +0 -0
  65. package/docs/assets/screenshots/plugin/sync/sync-conflict.png +0 -0
  66. package/docs/assets/screenshots/plugin/sync/sync-main.png +0 -0
  67. package/docs/assets/screenshots/plugin/sync/sync-overview.png +0 -0
  68. package/docs/assets/screenshots/roblox-explorer/roblox-explorer-property-window.png +0 -0
  69. package/docs/assets/screenshots/roblox-explorer/roblox-explorer-screen.png +0 -0
  70. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-BH87M2hn.css +0 -1
  71. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-CH7hNPlg.js +0 -1
  72. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PlaytestPage-LveG542g.js +0 -11
  73. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-BMllTvd1.js +0 -1
  74. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-DTv0NbEY.css +0 -1
  75. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-B-d8Qied.js +0 -2
  76. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-54vIMfZg.css +0 -1
  77. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-Bi0PQXNP.js +0 -1
  78. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-BJrsGJ5y.js +0 -380
  79. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-COXUWuq2.css +0 -1
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=DM+Sans:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap";._container_6jg7e_2{position:fixed;bottom:16px;right:16px;z-index:2000;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}._toast_6jg7e_14{pointer-events:auto;padding:10px 16px;border-radius:var(--radius-sm);font-family:var(--font-label);font-size:13px;color:var(--text-primary);box-shadow:0 4px 12px #0000004d;animation:_slideIn_6jg7e_1 .25s ease-out;max-width:320px}@keyframes _slideIn_6jg7e_1{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}._success_6jg7e_39{background:color-mix(in srgb,var(--success) 22%,transparent);border-left:3px solid var(--success)}._info_6jg7e_44{background:color-mix(in srgb,var(--accent) 22%,transparent);border-left:3px solid var(--accent)}._warning_6jg7e_49{background:color-mix(in srgb,var(--warning) 22%,transparent);border-left:3px solid var(--warning)}._error_6jg7e_54{background:var(--error-bg);border-left:3px solid var(--error-border)}._wrapper_x0nim_2{display:inline-flex}._tooltip_x0nim_11{position:fixed;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-size:12px;padding:4px 8px;border-radius:4px;width:max-content;max-width:min(320px,calc(100vw - 32px));white-space:normal;overflow-wrap:anywhere;text-align:left;pointer-events:none;opacity:0;transition:opacity var(--transition);z-index:1000}._tooltipVisible_x0nim_30{opacity:1}._widget_c7n2n_1{margin:8px 12px 4px;padding:12px;border:1px solid var(--pro-border);border-radius:var(--radius);background:var(--pro-bg-soft);display:flex;flex-direction:column;gap:10px}._header_c7n2n_12{display:flex;align-items:center;gap:8px}._sparkle_c7n2n_18{color:var(--pro-text);flex-shrink:0}._title_c7n2n_23{font-family:var(--font-label);font-size:12px;font-weight:600;color:var(--pro-text);line-height:1.3}._cta_c7n2n_31{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:var(--radius-sm);background:var(--pro-badge);color:#1a1408;font-family:var(--font-label);font-size:12px;font-weight:700;text-decoration:none;transition:filter var(--transition),transform var(--transition)}._cta_c7n2n_31:hover{filter:brightness(1.08);transform:translateY(-1px);text-decoration:none}._coupon_c7n2n_52{display:flex;flex-direction:column;gap:2px}._couponCode_c7n2n_58{font-family:var(--font-code);font-size:11px;color:var(--pro-text);letter-spacing:.04em}._couponMeta_c7n2n_65{font-family:var(--font-label);font-size:10px;color:var(--text-muted)}._collapsed_c7n2n_71{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:8px auto;border-radius:var(--radius-sm);background:var(--pro-bg-soft);color:var(--pro-text);text-decoration:none;transition:filter var(--transition)}._collapsed_c7n2n_71:hover{filter:brightness(1.15);text-decoration:none}._sidebar_1ei54_2{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;background:var(--bg-sidebar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border);padding:0 0 16px;overflow:visible;transition:width var(--transition),min-width var(--transition)}._brand_1ei54_17{display:flex;align-items:center;gap:10px;min-height:var(--header-height);padding:0 16px;border-bottom:1px solid var(--border);margin-bottom:8px;flex-shrink:0}._brandIcon_1ei54_28{color:var(--accent);flex-shrink:0}._brandText_1ei54_33{font-family:var(--font-label);font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._brandTextPro_1ei54_44{color:var(--pro-text);text-shadow:0 0 18px rgba(212,167,44,.18)}._nav_1ei54_50{display:flex;flex-direction:column;gap:2px}._spacer_1ei54_57{flex:1;min-height:16px}._navLink_1ei54_63{display:flex;align-items:center;gap:12px;padding:10px 16px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;border-left:4px solid transparent;transition:color var(--transition),background var(--transition),border-color var(--transition)}._navLink_1ei54_63:hover{color:var(--text-primary);background:var(--accent-dim);text-decoration:none}._navLink_1ei54_63._active_1ei54_84{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim)}._navLink_1ei54_63._disabled_1ei54_91{color:var(--text-muted);pointer-events:none;cursor:default}._navLink_1ei54_63._disabled_1ei54_91:hover{background:transparent}._icon_1ei54_102{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}._label_1ei54_113{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._secondaryDivider_1ei54_120{height:1px;margin:4px 16px;background:var(--border)}._secondaryNav_1ei54_127{display:flex;flex-direction:column;gap:2px}._helpDivider_1ei54_134{height:1px;margin:8px 16px 4px;background:var(--border)}._helpGroupTitle_1ei54_141{padding:4px 16px 6px;font-family:var(--font-label);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}._helpNav_1ei54_152{display:flex;flex-direction:column;gap:2px}._externalIcon_1ei54_159{margin-left:auto;display:inline-flex;align-items:center;color:var(--text-muted)}@media(max-width:768px){._sidebar_1ei54_2{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}._brand_1ei54_17{justify-content:center;padding:0}._brandText_1ei54_33{display:none}._navLink_1ei54_63{justify-content:center;padding:10px 0;gap:0}._label_1ei54_113,._helpGroupTitle_1ei54_141,._externalIcon_1ei54_159{display:none}}._header_4psrj_2{display:flex;flex-direction:column;justify-content:center;gap:4px;height:var(--header-height);padding:8px 24px;border-bottom:1px solid var(--border);background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-shrink:0;overflow:hidden}._row1_4psrj_17{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}._projectIdentity_4psrj_25{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0;flex:1}._folderIcon_4psrj_34{color:var(--accent);flex-shrink:0}._projectName_4psrj_39{margin:0;font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:clamp(120px,30vw,360px)}._placeChips_4psrj_51{display:flex;gap:6px;flex-wrap:wrap;min-width:0}._metaActions_4psrj_58{display:flex;align-items:center;gap:8px;flex-shrink:0}._placeChip_4psrj_51{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-overlay);color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.4;cursor:default}._placeChipStatic_4psrj_81,._placeChipMuted_4psrj_82{cursor:default}._placeChipActive_4psrj_86{border-color:var(--border-highlight);color:var(--text-primary);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent-glow) inset}._placeChipInactive_4psrj_93{border-color:var(--border);color:var(--text-muted);opacity:.85}._placeChipMuted_4psrj_82{border-color:var(--border);color:var(--text-muted)}._placeChipId_4psrj_104{font-family:var(--font-code);font-weight:500;font-size:11px;color:var(--text-muted);padding-left:6px;margin-left:2px;border-left:1px solid var(--border)}._placeChipActive_4psrj_86 ._placeChipId_4psrj_104{color:var(--text-secondary);border-left-color:var(--border-highlight)}._placeDot_4psrj_119{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--success);box-shadow:0 0 6px var(--success)}._placeChipName_4psrj_127{white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}._row2_4psrj_135{display:flex;align-items:center;gap:16px;min-width:0}._pathGroup_4psrj_142{display:flex;align-items:center;gap:10px;min-width:0;flex:1}._projectPath_4psrj_150{font-family:var(--font-code);font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}._changeButton_4psrj_160{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-overlay);color:var(--text-primary);font:inherit;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}._changeButton_4psrj_160:hover{border-color:var(--border-highlight);background:var(--accent-dim);color:var(--accent)}._changeButton_4psrj_160:disabled{cursor:not-allowed;opacity:.52}._iconButton_4psrj_193{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-overlay);color:var(--text-primary);text-decoration:none;transition:border-color var(--transition),background var(--transition),color var(--transition)}._iconButton_4psrj_193:hover{border-color:var(--border-highlight);background:var(--accent-dim);color:var(--accent);text-decoration:none}._notificationDot_4psrj_218{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:var(--radius-pill);background:var(--error);box-shadow:0 0 0 2px var(--bg-overlay)}@media(max-width:768px){._header_4psrj_2{padding:10px 16px}._row1_4psrj_17,._projectIdentity_4psrj_25{gap:8px}._row2_4psrj_135{flex-direction:column;align-items:flex-start;gap:8px}._pathGroup_4psrj_142{width:100%}}._bellWrapper_tae21_2{position:relative;display:inline-flex}._unreadDot_tae21_8{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--error);border:2px solid var(--bg-card);pointer-events:none}._backdrop_1ez3d_1{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1018b8;display:grid;place-items:center;z-index:1000;padding:24px}._modal_1ez3d_12{width:min(420px,100%);background:var(--bg-overlay);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 48px #0307126b;padding:24px}._title_1ez3d_23{margin:0 0 12px;color:var(--text-primary);font-size:20px}._message_1ez3d_30{margin:0;color:var(--text-secondary);line-height:1.6}._actions_1ez3d_37{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}._cancelButton_1ez3d_44,._confirmButton_1ez3d_45{border:0;border-radius:var(--radius);padding:10px 14px;font:inherit;cursor:pointer}._cancelButton_1ez3d_44{background:var(--border);border:1px solid transparent;color:var(--text-primary)}._confirmButton_1ez3d_45{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}._cancelButton_1ez3d_44:disabled,._confirmButton_1ez3d_45:disabled{cursor:not-allowed;opacity:.6}._layout_ya8ln_2{display:flex;height:100%;overflow:hidden}._mainShell_ya8ln_8{flex:1;min-width:0;display:flex;flex-direction:column;overflow:visible}._content_ya8ln_17{flex:1 1 auto;min-height:0;overflow-y:auto;padding:24px}._loading_ya8ln_25{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}:root{--bg-primary: #0b0e1a;--bg-secondary: #0f1525;--bg-card: #111827;--bg-sidebar: rgba(11, 14, 26, .95);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #475569;--accent: #3b82f6;--accent-dim: rgba(59, 130, 246, .12);--accent-glow: rgba(59, 130, 246, .25);--border: #1e293b;--border-highlight: #2563eb;--error: #ef4444;--warning: #f59e0b;--success: #22c55e;--pro-badge: #d4a72c;--pro-text: #f3d46b;--pro-bg: #3a2d12;--pro-bg-soft: rgba(212, 167, 44, .12);--pro-border: #8f6f1f;--font-code: "JetBrains Mono", "Fira Code", monospace;--font-label: "Inter", "DM Sans", -apple-system, sans-serif;--sidebar-width: 220px;--sidebar-collapsed: 56px;--radius: 10px;--radius-sm: 6px;--transition: .2s ease;--error-bg: rgba(239, 68, 68, .12);--error-border: rgba(239, 68, 68, .5);--error-text: #f4c1c1;--bg-overlay: rgba(15, 21, 37, .88);--radius-pill: 999px;--danger: #d15454;--danger-bg: rgba(209, 84, 84, .12);--danger-border: rgba(209, 84, 84, .5);--danger-text: #f4c1c1;--danger-hover-bg: rgba(209, 84, 84, .2);--header-height: 72px;--content-max: 1080px;--content-gap: 16px}@media(prefers-color-scheme:light){:root{--bg-primary: #f1f5f9;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-sidebar: rgba(255, 255, 255, .95);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #2563eb;--accent-dim: rgba(37, 99, 235, .08);--accent-glow: rgba(37, 99, 235, .15);--error: #dc2626;--border: #e2e8f0;--border-highlight: #3b82f6;--pro-badge: #b07c00;--pro-text: #8a5f00;--pro-bg: #fff4d6;--pro-bg-soft: rgba(176, 124, 0, .12);--pro-border: #d9b14d;--error-bg: rgba(220, 38, 38, .08);--error-border: rgba(220, 38, 38, .3);--error-text: #b91c1c;--bg-overlay: rgba(255, 255, 255, .95);--danger: #dc2626;--danger-bg: rgba(220, 38, 38, .08);--danger-border: rgba(220, 38, 38, .4);--danger-text: #b91c1c;--danger-hover-bg: rgba(220, 38, 38, .16)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-label);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}#root{height:100%}code,pre,.mono{font-family:var(--font-code)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
@@ -0,0 +1 @@
1
+ ._overlay_1t3nx_4{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100}._dialog_1t3nx_15{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;width:min(480px,92vw);display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 40px #0006}._title_1t3nx_28{margin:0;font-family:var(--font-label);font-size:16px;font-weight:600;color:var(--text-primary)}._titleDanger_1t3nx_37{color:var(--error-text, #e05555)}._message_1t3nx_42{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.6}._cascadeRow_1t3nx_50{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}._cascadeRow_1t3nx_50 input[type=checkbox]{width:14px;height:14px;flex-shrink:0;cursor:pointer;accent-color:var(--accent)}._actions_1t3nx_69{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}._cancelBtn_1t3nx_77{padding:7px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-label);font-size:13px;cursor:pointer;transition:border-color var(--transition)}._cancelBtn_1t3nx_77:hover:not(:disabled){border-color:var(--accent)}._cancelBtn_1t3nx_77:disabled{opacity:.5;cursor:not-allowed}._confirmBtn_1t3nx_99{padding:7px 16px;border-radius:6px;border:1px solid transparent;background:var(--accent);color:var(--bg-card);font-family:var(--font-label);font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--transition)}._confirmBtn_1t3nx_99:hover:not(:disabled){opacity:.88}._confirmBtn_1t3nx_99:disabled{opacity:.5;cursor:not-allowed}._confirmBtnDanger_1t3nx_122{background:var(--error-text, #e05555);border-color:var(--error-text, #e05555);color:#fff}._busySpinner_1t3nx_129{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:_spin_1t3nx_1 .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes _spin_1t3nx_1{to{transform:rotate(360deg)}}
@@ -0,0 +1 @@
1
+ import{q as v,s as k,u as x,r as d,j as n}from"./index-BPAvjNNu.js";async function u(t,e){const r=await fetch(`${v}${t}`,e);if(!r.ok){let a=null;try{a=await r.json()}catch{}throw new k(r.status,(a==null?void 0:a.message)??r.statusText,(a==null?void 0:a.error)??null,a)}return r.json()}function S(t){return{headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}}function Q(t){return u(`/api/ui-studio/usage?placeId=${t}`)}function J(t,e={}){const r=new URLSearchParams({placeId:String(t)});for(const[a,s]of Object.entries(e))s!=null&&r.set(a,String(s));return u(`/api/ui-studio/requests?${r}`)}function V(t,e){return u(`/api/ui-studio/requests/${encodeURIComponent(e)}?placeId=${t}`)}function X(t,e){return u("/api/ui-studio/requests",{method:"DELETE",...S({placeId:t,...e})})}function ee(t,e){return u(`/api/ui-studio/snapshots/${encodeURIComponent(e)}?placeId=${t}`,{method:"DELETE"})}function te(t,e){return u("/api/ui-studio/snapshots",{method:"DELETE",...S({placeId:t,...e})})}function ae(t,e){const r=new URLSearchParams({placeId:String(t)});if(e)for(const[a,s]of Object.entries(e))s!=null&&r.set(`preview.${a}`,String(s));return u(`/api/ui-studio/cleanup?${r}`)}function re(t,e){return u("/api/ui-studio/cleanup",{method:"PUT",...S({placeId:t,...e})})}function se(t){return u(`/api/ui-studio/cleanup/run?placeId=${t}`,{method:"POST"})}function ie(t,e){return u("/api/ui-studio/run",{method:"POST",...S({action:t,params:e})})}const G="_overlay_1t3nx_4",D="_dialog_1t3nx_15",A="_title_1t3nx_28",C="_titleDanger_1t3nx_37",E="_message_1t3nx_42",U="_cascadeRow_1t3nx_50",H="_actions_1t3nx_69",Z="_cancelBtn_1t3nx_77",R="_confirmBtn_1t3nx_99",w="_confirmBtnDanger_1t3nx_122",L="_busySpinner_1t3nx_129",o={overlay:G,dialog:D,title:A,titleDanger:C,message:E,cascadeRow:U,actions:H,cancelBtn:Z,confirmBtn:R,confirmBtnDanger:w,busySpinner:L};function oe({title:t,message:e,danger:r=!1,cascadeOption:a,confirmLabel:s,busy:i=!1,onConfirm:T,onClose:p}){const{t:h}=x(),[_,g]=d.useState(!1),b=d.useRef(null),y=d.useRef(null);d.useEffect(()=>{var m;(m=b.current)==null||m.focus()},[]),d.useEffect(()=>{const m=l=>{if(l.key==="Escape"&&!i&&!_){p();return}if(l.key==="Tab"&&y.current){const f=Array.from(y.current.querySelectorAll('button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])'));if(f.length===0)return;const q=f[0],I=f[f.length-1];l.shiftKey&&document.activeElement===q?(l.preventDefault(),I.focus()):!l.shiftKey&&document.activeElement===I&&(l.preventDefault(),q.focus())}};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[i,_,p]);const B=async()=>{if(!(_||i)){g(!0);try{await T()}finally{g(!1)}}},M=()=>{!i&&!_&&p()},c=i||_,P=s??h("common.delete","삭제");return n.jsx("div",{className:o.overlay,role:"presentation",onClick:M,children:n.jsxs("div",{ref:y,className:o.dialog,role:"dialog","aria-modal":"true","aria-labelledby":"delete-confirm-title",onClick:m=>m.stopPropagation(),children:[n.jsx("h2",{id:"delete-confirm-title",className:`${o.title} ${r?o.titleDanger:""}`,children:t}),n.jsx("p",{className:o.message,children:e}),a&&n.jsxs("label",{className:o.cascadeRow,children:[n.jsx("input",{type:"checkbox",checked:a.checked,onChange:m=>a.onChange(m.target.checked),disabled:c}),a.label]}),n.jsxs("div",{className:o.actions,children:[n.jsx("button",{ref:b,className:o.cancelBtn,onClick:p,disabled:c,type:"button",children:h("common.cancel","취소")}),n.jsxs("button",{className:`${o.confirmBtn} ${r?o.confirmBtnDanger:""}`,onClick:()=>void B(),disabled:c,type:"button",children:[c&&n.jsx("span",{className:o.busySpinner,"aria-hidden":"true"}),P]})]})]})})}const j="/dashboard/assets/ui-studio-sample-DrNTD6yi.png",ne=j,ue={requestCount:6,mutationCount:22,snapshotCount:8,historyBytes:12e3,snapshotBytes:48e4,totalBytes:492e3},me={mode:"off",cascadeSnapshots:!0},z={sample_req_1:"uiStudio.sample.history.request1.label",sample_req_2:"uiStudio.sample.history.request2.label",sample_req_3:"uiStudio.sample.history.request3.label",sample_req_4:"uiStudio.sample.history.request4.label",sample_req_5:"uiStudio.sample.history.request5.label",sample_req_6:"uiStudio.sample.history.request6.label"},O={sample_mut_1_1:"uiStudio.sample.history.request1.mutation1.diff",sample_mut_1_2:"uiStudio.sample.history.request1.mutation2.diff",sample_mut_1_3:"uiStudio.sample.history.request1.mutation3.diff",sample_mut_1_4:"uiStudio.sample.history.request1.mutation4.diff",sample_mut_1_5:"uiStudio.sample.history.request1.mutation5.diff",sample_mut_2_1:"uiStudio.sample.history.request2.mutation1.diff",sample_mut_2_2:"uiStudio.sample.history.request2.mutation2.diff",sample_mut_2_3:"uiStudio.sample.history.request2.mutation3.diff",sample_mut_2_4:"uiStudio.sample.history.request2.mutation4.diff",sample_mut_3_1:"uiStudio.sample.history.request3.mutation1.diff",sample_mut_3_2:"uiStudio.sample.history.request3.mutation2.diff",sample_mut_4_1:"uiStudio.sample.history.request4.mutation1.diff",sample_mut_4_2:"uiStudio.sample.history.request4.mutation2.diff",sample_mut_4_3:"uiStudio.sample.history.request4.mutation3.diff",sample_mut_4_4:"uiStudio.sample.history.request4.mutation4.diff",sample_mut_4_5:"uiStudio.sample.history.request4.mutation5.diff",sample_mut_4_6:"uiStudio.sample.history.request4.mutation6.diff",sample_mut_5_1:"uiStudio.sample.history.request5.mutation1.diff",sample_mut_6_1:"uiStudio.sample.history.request6.mutation1.diff",sample_mut_6_2:"uiStudio.sample.history.request6.mutation2.diff",sample_mut_6_3:"uiStudio.sample.history.request6.mutation3.diff",sample_mut_6_4:"uiStudio.sample.history.request6.mutation4.diff"},N={BackgroundColor3:"uiStudio.sample.history.detail.backgroundColor",AnchorPoint:"uiStudio.sample.history.detail.anchorPoint",Position:"uiStudio.sample.history.detail.position",Size:"uiStudio.sample.history.detail.size",TextColor3:"uiStudio.sample.history.detail.textColor",TextSize:"uiStudio.sample.history.detail.textSize",BorderSizePixel:"uiStudio.sample.history.detail.borderSize",BorderColor3:"uiStudio.sample.history.detail.borderColor"},$={sample_mut_6_3:"uiStudio.sample.history.request6.mutation3.error",sample_mut_6_4:"uiStudio.sample.history.request6.mutation4.error"},K=[{requestId:"sample_req_1",label:"HUD 레이아웃 초기 생성",startedAt:"2026-05-03T09:12:00.000Z",closedAt:"2026-05-03T09:12:04.321Z",closeReason:"explicit",ok:!0,affectedPaths:["StarterGui.HUD"],mutationCount:5,beforeSnapshots:{"StarterGui.HUD":null},afterSnapshots:{"StarterGui.HUD":"sample_snap_1"},childMutationIds:["sample_mut_1_1","sample_mut_1_2","sample_mut_1_3","sample_mut_1_4","sample_mut_1_5"]},{requestId:"sample_req_2",label:"Inventory 모달 디자인 업데이트",startedAt:"2026-05-03T10:04:18.000Z",closedAt:"2026-05-03T10:04:22.817Z",closeReason:"idle_timeout",ok:!0,affectedPaths:["StarterGui.Inventory.Modal","StarterGui.Inventory.Modal.Header"],mutationCount:4,beforeSnapshots:{"StarterGui.Inventory.Modal":"sample_snap_1","StarterGui.Inventory.Modal.Header":"sample_snap_1"},afterSnapshots:{"StarterGui.Inventory.Modal":"sample_snap_2","StarterGui.Inventory.Modal.Header":"sample_snap_2"},childMutationIds:["sample_mut_2_1","sample_mut_2_2","sample_mut_2_3","sample_mut_2_4"]},{requestId:"sample_req_3",label:"HUD HealthBar 색상 수정",startedAt:"2026-05-03T11:30:55.000Z",closedAt:"2026-05-03T11:30:57.102Z",closeReason:"context_change",ok:!0,affectedPaths:["StarterGui.HUD.HealthBar"],mutationCount:2,beforeSnapshots:{"StarterGui.HUD.HealthBar":"sample_snap_2"},afterSnapshots:{"StarterGui.HUD.HealthBar":"sample_snap_3"},childMutationIds:["sample_mut_3_1","sample_mut_3_2"]},{requestId:"sample_req_4",label:"Inventory 탭 버튼 터치 타겟 확대",startedAt:"2026-05-03T13:22:11.000Z",closedAt:"2026-05-03T13:22:14.500Z",closeReason:"explicit",ok:!0,affectedPaths:["StarterGui.Inventory.TabBar.TabAll","StarterGui.Inventory.TabBar.TabWeapon","StarterGui.Inventory.TabBar.TabArmor"],mutationCount:6,beforeSnapshots:{"StarterGui.Inventory.TabBar.TabAll":"sample_snap_3","StarterGui.Inventory.TabBar.TabWeapon":"sample_snap_3","StarterGui.Inventory.TabBar.TabArmor":"sample_snap_3"},afterSnapshots:{"StarterGui.Inventory.TabBar.TabAll":"sample_snap_4","StarterGui.Inventory.TabBar.TabWeapon":"sample_snap_4","StarterGui.Inventory.TabBar.TabArmor":"sample_snap_4"},childMutationIds:["sample_mut_4_1","sample_mut_4_2","sample_mut_4_3","sample_mut_4_4","sample_mut_4_5","sample_mut_4_6"]},{requestId:"sample_req_5",label:"Settings 팝업 삭제",startedAt:"2026-05-03T14:45:33.000Z",closedAt:"2026-05-03T14:45:34.290Z",closeReason:"legacy_single",ok:!0,affectedPaths:["StarterGui.Settings"],mutationCount:1,beforeSnapshots:{"StarterGui.Settings":"sample_snap_4"},afterSnapshots:{"StarterGui.Settings":null},childMutationIds:["sample_mut_5_1"]},{requestId:"sample_req_6",label:"HUD 미니맵 컴포넌트 추가",startedAt:"2026-05-03T16:08:47.000Z",closedAt:"2026-05-03T16:08:51.776Z",closeReason:"server_restart",ok:!1,affectedPaths:["StarterGui.HUD.Minimap"],mutationCount:4,beforeSnapshots:{"StarterGui.HUD.Minimap":null},afterSnapshots:{"StarterGui.HUD.Minimap":"sample_snap_5"},childMutationIds:["sample_mut_6_1","sample_mut_6_2","sample_mut_6_3","sample_mut_6_4"]}],Y={sample_req_1:[{mutationId:"sample_mut_1_1",requestId:"sample_req_1",ts:"2026-05-03T09:12:00.500Z",command:"manage_ui_create_tree",origin:"ai",targetPath:"StarterGui.HUD",diffSummary:"Frame + HealthBar + StaminaBar 생성",ok:!0,durationMs:312},{mutationId:"sample_mut_1_2",requestId:"sample_req_1",ts:"2026-05-03T09:12:01.000Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.HUD.HealthBar",diffSummary:"BackgroundColor3 → Color3.new(0.2,0.8,0.2)",changeDetails:[{property:"BackgroundColor3",category:"color",label:"배경색",before:{r:36,g:42,b:52},after:{r:51,g:204,b:51}}],ok:!0,durationMs:84},{mutationId:"sample_mut_1_3",requestId:"sample_req_1",ts:"2026-05-03T09:12:01.500Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.HUD.StaminaBar",diffSummary:"BackgroundColor3 → Color3.new(0.1,0.6,1.0)",ok:!0,durationMs:76},{mutationId:"sample_mut_1_4",requestId:"sample_req_1",ts:"2026-05-03T09:12:02.000Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.HUD",diffSummary:"AnchorPoint, Position, Size 설정",changeDetails:[{property:"AnchorPoint",category:"layout",label:"앵커",before:{x:.5,y:.5},after:{x:0,y:0}},{property:"Position",category:"layout",label:"위치",before:{xScale:.5,xOffset:0,yScale:.5,yOffset:0},after:{xScale:0,xOffset:16,yScale:0,yOffset:16}},{property:"Size",category:"size",label:"사이즈",before:{xScale:0,xOffset:240,yScale:0,yOffset:64},after:{xScale:0,xOffset:320,yScale:0,yOffset:80}}],ok:!0,durationMs:91},{mutationId:"sample_mut_1_5",requestId:"sample_req_1",ts:"2026-05-03T09:12:02.500Z",command:"manage_ui_preview",origin:"ai",targetPath:"StarterGui.HUD",diffSummary:"화면 캡처 저장 완료",ok:!0,durationMs:1521}],sample_req_2:[{mutationId:"sample_mut_2_1",requestId:"sample_req_2",ts:"2026-05-03T10:04:18.500Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.Modal.Header",diffSummary:"BackgroundColor3 어둡게 조정 (대비 개선)",ok:!0,durationMs:102},{mutationId:"sample_mut_2_2",requestId:"sample_req_2",ts:"2026-05-03T10:04:19.000Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.Modal.Header.Title",diffSummary:"TextColor3 → Color3.new(1,1,1), TextSize 16→18",changeDetails:[{property:"TextColor3",category:"color",label:"글자색",before:{r:212,g:222,b:238},after:{r:255,g:255,b:255}},{property:"TextSize",category:"size",label:"글자 크기",before:16,after:18}],ok:!0,durationMs:88},{mutationId:"sample_mut_2_3",requestId:"sample_req_2",ts:"2026-05-03T10:04:19.500Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.Modal",diffSummary:"BorderSizePixel 0→2, BorderColor3 설정",changeDetails:[{property:"BorderSizePixel",category:"size",label:"테두리 크기",before:0,after:2},{property:"BorderColor3",category:"color",label:"테두리색",before:{r:86,g:99,b:122},after:{r:255,g:255,b:255}}],ok:!0,durationMs:95},{mutationId:"sample_mut_2_4",requestId:"sample_req_2",ts:"2026-05-03T10:04:20.000Z",command:"manage_ui_preview",origin:"ai",targetPath:"StarterGui.Inventory.Modal",diffSummary:"화면 캡처 저장 완료",ok:!0,durationMs:1802}],sample_req_3:[{mutationId:"sample_mut_3_1",requestId:"sample_req_3",ts:"2026-05-03T11:30:55.500Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.HUD.HealthBar",diffSummary:"BackgroundColor3 → Color3.new(0.9,0.2,0.2) (빨간 계열)",ok:!0,durationMs:80},{mutationId:"sample_mut_3_2",requestId:"sample_req_3",ts:"2026-05-03T11:30:56.000Z",command:"manage_ui_preview",origin:"ai",targetPath:"StarterGui.HUD.HealthBar",diffSummary:"화면 캡처 저장 완료",ok:!0,durationMs:1102}],sample_req_4:[{mutationId:"sample_mut_4_1",requestId:"sample_req_4",ts:"2026-05-03T13:22:11.300Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.TabBar.TabAll",diffSummary:"Size {0,64},{0,32} → {0,64},{0,44}",ok:!0,durationMs:78},{mutationId:"sample_mut_4_2",requestId:"sample_req_4",ts:"2026-05-03T13:22:11.700Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.TabBar.TabWeapon",diffSummary:"Size {0,64},{0,32} → {0,64},{0,44}",ok:!0,durationMs:71},{mutationId:"sample_mut_4_3",requestId:"sample_req_4",ts:"2026-05-03T13:22:12.100Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.TabBar.TabArmor",diffSummary:"Size {0,64},{0,32} → {0,64},{0,44}",ok:!0,durationMs:73},{mutationId:"sample_mut_4_4",requestId:"sample_req_4",ts:"2026-05-03T13:22:12.500Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.TabBar.TabConsume",diffSummary:"Size {0,64},{0,32} → {0,64},{0,44}",ok:!0,durationMs:70},{mutationId:"sample_mut_4_5",requestId:"sample_req_4",ts:"2026-05-03T13:22:12.900Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.Inventory.TabBar.TabMisc",diffSummary:"Size {0,64},{0,32} → {0,64},{0,44}",ok:!0,durationMs:72},{mutationId:"sample_mut_4_6",requestId:"sample_req_4",ts:"2026-05-03T13:22:13.300Z",command:"manage_ui_preview",origin:"ai",targetPath:"StarterGui.Inventory.TabBar.TabAll",diffSummary:"화면 캡처 저장 완료",ok:!0,durationMs:1200}],sample_req_5:[{mutationId:"sample_mut_5_1",requestId:"sample_req_5",ts:"2026-05-03T14:45:33.500Z",command:"manage_ui_delete",origin:"ai",targetPath:"StarterGui.Settings",diffSummary:"ScreenGui 제거 (Settings 전용 UI)",ok:!0,durationMs:290}],sample_req_6:[{mutationId:"sample_mut_6_1",requestId:"sample_req_6",ts:"2026-05-03T16:08:47.500Z",command:"manage_ui_create_tree",origin:"ai",targetPath:"StarterGui.HUD.Minimap",diffSummary:"Frame + MapImage + PlayerDot 생성 시도",ok:!0,durationMs:340},{mutationId:"sample_mut_6_2",requestId:"sample_req_6",ts:"2026-05-03T16:08:48.200Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.HUD.Minimap",diffSummary:"Size, Position, BackgroundTransparency 설정",ok:!0,durationMs:84},{mutationId:"sample_mut_6_3",requestId:"sample_req_6",ts:"2026-05-03T16:08:48.900Z",command:"manage_ui_update",origin:"ai",targetPath:"StarterGui.HUD.Minimap.MapImage",diffSummary:"ImageLabel 설정 중 서버 재시작으로 중단",ok:!1,error:"server_restart: connection lost",durationMs:700},{mutationId:"sample_mut_6_4",requestId:"sample_req_6",ts:"2026-05-03T16:08:49.700Z",command:"manage_ui_preview",origin:"ai",targetPath:"StarterGui.HUD.Minimap",diffSummary:"불완전 화면 캡처 저장",ok:!1,error:"partial snapshot: missing layers",durationMs:876}]};function F(t,e){var s;const r=O[e.mutationId],a=$[e.mutationId];return{...e,diffSummary:e.diffSummary&&r?t(r,e.diffSummary):e.diffSummary,error:e.error&&a?t(a,e.error):e.error,changeDetails:(s=e.changeDetails)==null?void 0:s.map(i=>({...i,label:t(N[i.property]??"",i.label)}))}}function le(t){const e=K.map(a=>({...a,label:a.label?t(z[a.requestId]??"",a.label):a.label})),r=Object.fromEntries(Object.entries(Y).map(([a,s])=>[a,s.map(i=>F(t,i))]));return{requests:e,mutationsByRequest:r}}export{oe as D,ue as S,Q as a,me as b,ie as c,X as d,ee as e,ae as f,j as g,te as h,J as i,V as j,le as k,ne as l,se as r,re as s};
@@ -1 +1 @@
1
- import{r as a}from"./index-BJrsGJ5y.js";function c(t){const r=Math.max(0,Math.floor(t/1e3)),n=Math.floor(r/3600),o=Math.floor(r%3600/60),e=Math.floor(r%60);return`${String(n).padStart(2,"0")}:${String(o).padStart(2,"0")}:${String(e).padStart(2,"0")}`}const s=1e3;function i(t){const[r,n]=a.useState(t??null);return a.useEffect(()=>{if(t==null){n(null);return}const o=Date.now();n(t);const e=window.setInterval(()=>{n(t+(Date.now()-o))},s);return()=>{window.clearInterval(e)}},[t]),r}export{c as f,i as u};
1
+ import{r as a}from"./index-BPAvjNNu.js";function c(t){const r=Math.max(0,Math.floor(t/1e3)),n=Math.floor(r/3600),o=Math.floor(r%3600/60),e=Math.floor(r%60);return`${String(n).padStart(2,"0")}:${String(o).padStart(2,"0")}:${String(e).padStart(2,"0")}`}const s=1e3;function i(t){const[r,n]=a.useState(t??null);return a.useEffect(()=>{if(t==null){n(null);return}const o=Date.now();n(t);const e=window.setInterval(()=>{n(t+(Date.now()-o))},s);return()=>{window.clearInterval(e)}},[t]),r}export{c as f,i as u};
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" href="/dashboard/weppy-icon.png" />
7
7
  <title>WEPPY Dashboard</title>
8
- <script type="module" crossorigin src="/dashboard/assets/index-BJrsGJ5y.js"></script>
9
- <link rel="stylesheet" crossorigin href="/dashboard/assets/index-COXUWuq2.css">
8
+ <script type="module" crossorigin src="/dashboard/assets/index-BPAvjNNu.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/dashboard/assets/index-Gu7et1DX.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>