@weppy/roblox-mcp 2.8.1 → 2.9.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 (56) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +46 -14
  3. package/dashboard/dist/assets/AssetsPage-Be5aZDhj.css +1 -0
  4. package/dashboard/dist/assets/AssetsPage-Bg2-L4ZA.js +46 -0
  5. package/dashboard/dist/assets/ChangelogDetailPage-BfKpoGXf.js +1 -0
  6. package/dashboard/dist/assets/ChangelogPage-CJgsI7aS.js +1 -0
  7. package/dashboard/dist/assets/ConfirmModal-C9EhZCHZ.js +1 -0
  8. package/dashboard/dist/assets/ConfirmModal-D1kfK31C.css +1 -0
  9. package/dashboard/dist/assets/ConfirmModal.module-NrFlfTWy.js +1 -0
  10. package/dashboard/dist/assets/ConnectionPage-D1GWlHZP.css +1 -0
  11. package/dashboard/dist/assets/ConnectionPage-DGUYptQR.js +11 -0
  12. package/dashboard/dist/assets/ControlsPage-rqArYVq2.js +1 -0
  13. package/dashboard/dist/assets/CurrentPlaceScope-BMyP2w7Z.js +1 -0
  14. package/dashboard/dist/assets/CurrentPlaceScope-v3pl1mLI.css +1 -0
  15. package/dashboard/dist/assets/{GameChangeDetail-CghOvUm8.js → GameChangeDetail-DKAKmyGF.js} +1 -1
  16. package/dashboard/dist/assets/{InfoLabel-Cyz7d4Kc.js → InfoLabel-ZfsTcz5c.js} +1 -1
  17. package/dashboard/dist/assets/{OverviewPage-B6ZL_JXU.js → OverviewPage-C9OL33DV.js} +1 -1
  18. package/dashboard/dist/assets/PageHeader-Cqg4GMtU.js +6 -0
  19. package/dashboard/dist/assets/PlaytestPage-CczAQ-A8.js +11 -0
  20. package/dashboard/dist/assets/SettingsPage-DNp4oJDT.js +1 -0
  21. package/dashboard/dist/assets/SettingsPage-DSipzuEo.css +1 -0
  22. package/dashboard/dist/assets/{StatusBadge-CkLieULy.js → StatusBadge-BSFzbkXM.js} +1 -1
  23. package/dashboard/dist/assets/SyncPage-DzOONMOM.js +4 -0
  24. package/dashboard/dist/assets/{Tabs-BhkhdCvF.js → Tabs-B8mbzhmZ.js} +1 -1
  25. package/dashboard/dist/assets/ToolsPage-DFh7yyab.js +1 -0
  26. package/dashboard/dist/assets/TooltipText-ZamrETeK.js +1 -0
  27. package/dashboard/dist/assets/UiStudioPage-D7awEU2z.js +11 -0
  28. package/dashboard/dist/assets/{WhatsNewPage-CBUk7WTn.js → WhatsNewPage-CTZEuf65.js} +1 -1
  29. package/dashboard/dist/assets/copy-Cey6jv67.js +6 -0
  30. package/dashboard/dist/assets/index-B9LVK3-K.js +606 -0
  31. package/dashboard/dist/assets/index-Dd1aCYFM.css +1 -0
  32. package/dashboard/dist/assets/{sample-requests-D1b5Z8FU.js → sample-requests-CS0o0F7H.js} +1 -1
  33. package/dashboard/dist/assets/{useLiveUptime-BHqJirBV.js → useLiveUptime-BGlwL1Q-.js} +1 -1
  34. package/dashboard/dist/assets/useSettings-Bsfu70PT.css +1 -0
  35. package/dashboard/dist/assets/useSettings-mbARvRgI.js +1 -0
  36. package/dashboard/dist/index.html +2 -2
  37. package/dist/index.js +93 -93
  38. package/package.json +1 -1
  39. package/roblox-plugin/WeppyRobloxMCP.rbxm +0 -0
  40. package/dashboard/dist/assets/AssetsPage-BQGliX7Q.css +0 -1
  41. package/dashboard/dist/assets/AssetsPage-yddSUaZg.js +0 -51
  42. package/dashboard/dist/assets/ChangelogDetailPage-BiiG5ZpO.js +0 -1
  43. package/dashboard/dist/assets/ChangelogPage-oIxW8_VE.js +0 -1
  44. package/dashboard/dist/assets/ConfirmModal-CpImpY9c.js +0 -1
  45. package/dashboard/dist/assets/ConnectionPage-CNtjimlm.css +0 -1
  46. package/dashboard/dist/assets/ConnectionPage-zGBwRnwi.js +0 -1
  47. package/dashboard/dist/assets/PageHeader-CThGgsAt.js +0 -6
  48. package/dashboard/dist/assets/PlaytestPage-CQqE8m04.js +0 -11
  49. package/dashboard/dist/assets/SettingsPage-DX6vgUTw.js +0 -1
  50. package/dashboard/dist/assets/SettingsPage-d0wOFs8U.css +0 -1
  51. package/dashboard/dist/assets/SyncPage-cfQ-4IDk.js +0 -4
  52. package/dashboard/dist/assets/ToolsPage-B004HHzX.js +0 -1
  53. package/dashboard/dist/assets/TooltipText-H3YSCbob.js +0 -1
  54. package/dashboard/dist/assets/UiStudioPage-CwURRVO9.js +0 -11
  55. package/dashboard/dist/assets/index-CjzKb5lS.css +0 -1
  56. package/dashboard/dist/assets/index-DG2RrKOl.js +0 -532
@@ -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_1q1ab_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_1q1ab_12{display:flex;align-items:center;gap:8px}._sparkle_1q1ab_18{color:var(--pro-text);flex-shrink:0}._title_1q1ab_23{font-family:var(--font-label);font-size:12px;font-weight:600;color:var(--pro-text);line-height:1.3}._actions_1q1ab_31{display:flex;flex-direction:column;gap:8px}._cta_1q1ab_37,._licenseCta_1q1ab_38{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);font-family:var(--font-label);font-size:12px;font-weight:700;text-decoration:none;transition:filter var(--transition),transform var(--transition)}._cta_1q1ab_37{background:var(--pro-badge);color:var(--pro-text-on-badge)}._licenseCta_1q1ab_38{border:1px solid var(--pro-border);background:color-mix(in srgb,var(--bg-card) 84%,var(--pro-bg-soft));color:var(--pro-text)}._cta_1q1ab_37:hover,._licenseCta_1q1ab_38:hover{filter:brightness(1.08);transform:translateY(-1px);text-decoration:none}._collapsedGroup_1q1ab_70{display:flex;flex-direction:column;gap:8px;margin:8px 0}._collapsed_1q1ab_70{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 auto;border-radius:var(--radius-sm);background:var(--pro-bg-soft);color:var(--pro-text);text-decoration:none;transition:filter var(--transition)}._collapsedSecondary_1q1ab_91{border:1px solid var(--pro-border);background:transparent}._collapsed_1q1ab_70:hover{filter:brightness(1.15);text-decoration:none}._backdrop_1r5ey_1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:24px;background:#0c1018b8}._dialog_1r5ey_11{width:min(560px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg-overlay);box-shadow:0 24px 48px #0307126b}._header_1r5ey_21{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 12px;border-bottom:1px solid var(--border)}._titleBlock_1r5ey_30{display:grid;gap:6px}._title_1r5ey_30{margin:0;color:var(--text-primary);font-size:18px;line-height:1.3}._subtitle_1r5ey_42{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5}._closeButton_1r5ey_49{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}._closeButton_1r5ey_49:hover{color:var(--text-primary)}._body_1r5ey_67{display:grid;gap:16px;padding:18px 20px 20px}._statusBox_1r5ey_73,._errorBox_1r5ey_74{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);line-height:1.5}._errorBox_1r5ey_74{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}._spin_1r5ey_92{animation:_spin_1r5ey_92 1s linear infinite}@keyframes _spin_1r5ey_92{to{transform:rotate(360deg)}}._bundleBlock_1r5ey_102{display:grid;gap:8px}._label_1r5ey_107{color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}._bundleName_1r5ey_115{display:block;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;line-height:1.5;overflow-wrap:anywhere}._guidanceBox_1r5ey_127{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;line-height:1.5}._guidanceBox_1r5ey_127 p{margin:0}._includedList_1r5ey_143{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}._includedItem_1r5ey_152{max-width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:var(--bg-secondary);font-size:12px;overflow-wrap:anywhere}._actions_1r5ey_163{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}._button_1r5ey_169,._primaryLink_1r5ey_170{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:9px 12px;font:inherit;font-size:13px;font-weight:600;text-align:center;text-decoration:none;color:var(--text-primary);background:var(--bg-secondary);cursor:pointer}._primaryLink_1r5ey_170{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}._button_1r5ey_169:hover,._primaryLink_1r5ey_170:hover{color:var(--text-primary);text-decoration:none}._button_1r5ey_169:disabled{cursor:not-allowed;opacity:.6}._hint_1r5ey_206{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}@media(max-width:560px){._backdrop_1r5ey_1{padding:12px}._actions_1r5ey_163{grid-template-columns:1fr}}._sidebar_19hyu_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_19hyu_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_19hyu_28{color:var(--accent);flex-shrink:0}._brandText_19hyu_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_19hyu_44{color:var(--pro-text);text-shadow:0 0 18px rgba(212,167,44,.18)}._nav_19hyu_50{display:flex;flex-direction:column;gap:2px}._spacer_19hyu_57{flex:1;min-height:16px}._navLink_19hyu_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_19hyu_63:hover{color:var(--text-primary);background:var(--accent-dim);text-decoration:none}._navLink_19hyu_63._active_19hyu_84{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim)}._navLink_19hyu_63._disabled_19hyu_91{color:var(--text-muted);pointer-events:none;cursor:default}._navLink_19hyu_63._disabled_19hyu_91:hover{background:transparent}._icon_19hyu_102{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}._label_19hyu_113{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._secondaryDivider_19hyu_120{height:1px;margin:4px 16px;background:var(--border)}._secondaryNav_19hyu_127,._secondaryNavEntry_19hyu_134{display:flex;flex-direction:column;gap:2px}._secondaryItemDivider_19hyu_140{height:1px;margin:4px 16px;background:var(--border)}._helpDivider_19hyu_147{height:1px;margin:8px 16px 4px;background:var(--border)}._helpGroupTitle_19hyu_154{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_19hyu_165{display:flex;flex-direction:column;gap:2px}._externalIcon_19hyu_172{margin-left:auto;display:inline-flex;align-items:center;color:var(--text-muted)}@media(max-width:768px){._sidebar_19hyu_2{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}._brand_19hyu_17{justify-content:center;padding:0}._brandText_19hyu_33{display:none}._navLink_19hyu_63{justify-content:center;padding:10px 0;gap:0}._label_19hyu_113,._helpGroupTitle_19hyu_154,._externalIcon_19hyu_172{display:none}}._header_8mywd_2{display:flex;flex-direction:column;justify-content:center;gap:6px;height:var(--header-height);padding:10px 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_8mywd_17{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}._contextGroups_8mywd_25{display:flex;align-items:stretch;gap:18px;min-width:0;flex:1}._projectGroup_8mywd_33,._studioGroup_8mywd_34{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}._projectGroup_8mywd_33{flex:1 1 44%;padding-right:18px;border-right:1px solid var(--border)}._studioGroup_8mywd_34{flex:1 1 52%}._groupTitleRow_8mywd_52{display:flex;align-items:center;gap:8px;min-width:0}._groupLabel_8mywd_59{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase;white-space:nowrap}._groupIcon_8mywd_73{color:var(--accent);flex-shrink:0}._projectName_8mywd_78{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,24vw,320px)}._placeChips_8mywd_90{display:flex;gap:6px;flex-wrap:wrap;min-width:0;max-height:24px;overflow:hidden}._metaActions_8mywd_99{display:flex;align-items:center;gap:8px;flex-shrink:0}._placeChip_8mywd_90{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_8mywd_122,._placeChipMuted_8mywd_123{cursor:default}._placeChipActive_8mywd_127{border-color:var(--border-highlight);color:var(--text-primary);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent-glow) inset}._placeChipInactive_8mywd_134{border-color:var(--border);color:var(--text-muted);opacity:.85}._placeChipMuted_8mywd_123{border-color:var(--border);color:var(--text-muted)}._placeChipId_8mywd_145{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_8mywd_127 ._placeChipId_8mywd_145{color:var(--text-secondary);border-left-color:var(--border-highlight)}._placeChipClient_8mywd_160{font-family:var(--font-code);font-size:11px;color:var(--text-muted)}._placeChipState_8mywd_166{font-size:10px;color:var(--text-secondary);text-transform:lowercase}._placeChipBadge_8mywd_172{font-size:10px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 5px}._placeDot_8mywd_180{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--success);box-shadow:0 0 6px var(--success)}._placeChipName_8mywd_188{white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}._row2_8mywd_196{display:flex;align-items:center;height:18px;min-width:0;flex-shrink:0}._row2_8mywd_196[data-state=empty]{pointer-events:none}._pathRow_8mywd_208,._auxiliaryPath_8mywd_209{display:flex;align-items:center;gap:8px;min-width:0;flex:1}._auxiliaryPath_8mywd_209{width:100%}._pathLabel_8mywd_221{color:var(--text-muted);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase;white-space:nowrap}._projectPath_8mywd_232{font-family:var(--font-code);font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}._changeButton_8mywd_242{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;text-decoration:none;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}._changeButton_8mywd_242:hover{border-color:var(--border-highlight);background:var(--accent-dim);color:var(--accent)}._changeButton_8mywd_242:disabled{cursor:not-allowed;opacity:.52}._iconButton_8mywd_276{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_8mywd_276:hover{border-color:var(--border-highlight);background:var(--accent-dim);color:var(--accent);text-decoration:none}._notificationDot_8mywd_301{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_8mywd_2{padding:10px 16px;height:auto;min-height:var(--header-height)}._row1_8mywd_17{align-items:flex-start;gap:8px}._contextGroups_8mywd_25{flex-direction:column;gap:8px}._projectGroup_8mywd_33{padding-right:0;border-right:none}._groupTitleRow_8mywd_52{flex-wrap:wrap}._placeChips_8mywd_90{max-height:none}._row2_8mywd_196,._auxiliaryPath_8mywd_209{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}._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);--bg-overlay: rgba(15, 21, 37, .88);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #475569;--border: #1e293b;--border-highlight: #2563eb;--accent: #3b82f6;--accent-dim: rgba(59, 130, 246, .12);--accent-glow: rgba(59, 130, 246, .25);--pro-badge: #d4a72c;--pro-text: #f3d46b;--pro-text-on-badge: #1a1407;--pro-bg: #3a2d12;--pro-bg-soft: rgba(212, 167, 44, .12);--pro-border: #8f6f1f;--success: #22c55e;--success-bg: rgba(34, 197, 94, .14);--success-border: rgba(34, 197, 94, .5);--success-text: #86efac;--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .14);--warning-border: rgba(245, 158, 11, .5);--warning-text: #fcd34d;--info: #60a5fa;--info-bg: rgba(96, 165, 250, .14);--info-border: rgba(96, 165, 250, .5);--info-text: #93c5fd;--error: #ef4444;--error-bg: rgba(239, 68, 68, .12);--error-border: rgba(239, 68, 68, .5);--error-text: #f4c1c1;--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);--diff-add: var(--success);--diff-add-bg: var(--success-bg);--diff-add-text: var(--success-text);--diff-remove: var(--error);--diff-remove-bg: var(--error-bg);--diff-remove-text: var(--error-text);--diff-update: var(--warning);--diff-update-bg: var(--warning-bg);--diff-update-text: var(--warning-text);--diff-rename: var(--info);--diff-rename-bg: var(--info-bg);--diff-rename-text: var(--info-text);--font-code: "JetBrains Mono", "Fira Code", monospace;--font-label: "Inter", "DM Sans", -apple-system, sans-serif;--sidebar-width: 220px;--sidebar-collapsed: 56px;--header-height: 96px;--content-max: 1080px;--content-gap: 16px;--radius: 10px;--radius-sm: 6px;--radius-pill: 999px;--transition: .2s ease}@media(prefers-color-scheme:light){:root{--bg-primary: #f1f5f9;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-sidebar: rgba(255, 255, 255, .95);--bg-overlay: rgba(255, 255, 255, .95);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border: #e2e8f0;--border-highlight: #3b82f6;--accent: #2563eb;--accent-dim: rgba(37, 99, 235, .08);--accent-glow: rgba(37, 99, 235, .15);--pro-badge: #b07c00;--pro-text: #8a5f00;--pro-text-on-badge: #1a1407;--pro-bg: #fff4d6;--pro-bg-soft: rgba(176, 124, 0, .12);--pro-border: #d9b14d;--success: #16a34a;--success-bg: rgba(22, 163, 74, .1);--success-border: rgba(22, 163, 74, .4);--success-text: #166534;--warning: #d97706;--warning-bg: rgba(217, 119, 6, .1);--warning-border: rgba(217, 119, 6, .4);--warning-text: #92400e;--info: #2563eb;--info-bg: rgba(37, 99, 235, .1);--info-border: rgba(37, 99, 235, .4);--info-text: #1d4ed8;--error: #dc2626;--error-bg: rgba(220, 38, 38, .08);--error-border: rgba(220, 38, 38, .3);--error-text: #b91c1c;--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}
@@ -1 +1 @@
1
- import{s as P,w as v,u as G,r as d,j as n}from"./index-DG2RrKOl.js";async function u(t,e){const r=await fetch(`${P}${t}`,e);if(!r.ok){let a=null;try{a=await r.json()}catch{}throw new v(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 D="_overlay_1mkpg_4",A="_dialog_1mkpg_15",C="_title_1mkpg_28",E="_titleDanger_1mkpg_37",x="_message_1mkpg_42",U="_cascadeRow_1mkpg_50",H="_actions_1mkpg_69",Z="_cancelBtn_1mkpg_77",R="_confirmBtn_1mkpg_99",w="_confirmBtnDanger_1mkpg_122",L="_busySpinner_1mkpg_129",o={overlay:D,dialog:A,title:C,titleDanger:E,message:x,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:g}=G(),[_,h]=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 k=async()=>{if(!(_||i)){h(!0);try{await T()}finally{h(!1)}}},B=()=>{!i&&!_&&p()},c=i||_,M=s??g("common.delete","삭제");return n.jsx("div",{className:o.overlay,role:"presentation",onClick:B,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:g("common.cancel","취소")}),n.jsxs("button",{className:`${o.confirmBtn} ${r?o.confirmBtnDanger:""}`,onClick:()=>void k(),disabled:c,type:"button",children:[c&&n.jsx("span",{className:o.busySpinner,"aria-hidden":"true"}),M]})]})]})})}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
+ import{n as P,q as v,u as G,r as d,j as n}from"./index-B9LVK3-K.js";async function u(t,e){const r=await fetch(`${P}${t}`,e);if(!r.ok){let a=null;try{a=await r.json()}catch{}throw new v(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 D="_overlay_1mkpg_4",A="_dialog_1mkpg_15",C="_title_1mkpg_28",E="_titleDanger_1mkpg_37",x="_message_1mkpg_42",U="_cascadeRow_1mkpg_50",H="_actions_1mkpg_69",Z="_cancelBtn_1mkpg_77",R="_confirmBtn_1mkpg_99",w="_confirmBtnDanger_1mkpg_122",L="_busySpinner_1mkpg_129",o={overlay:D,dialog:A,title:C,titleDanger:E,message:x,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:g}=G(),[_,h]=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 k=async()=>{if(!(_||i)){h(!0);try{await T()}finally{h(!1)}}},B=()=>{!i&&!_&&p()},c=i||_,M=s??g("common.delete","삭제");return n.jsx("div",{className:o.overlay,role:"presentation",onClick:B,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:g("common.cancel","취소")}),n.jsxs("button",{className:`${o.confirmBtn} ${r?o.confirmBtnDanger:""}`,onClick:()=>void k(),disabled:c,type:"button",children:[c&&n.jsx("span",{className:o.busySpinner,"aria-hidden":"true"}),M]})]})]})})}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-DG2RrKOl.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-B9LVK3-K.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};
@@ -0,0 +1 @@
1
+ ._page_w870o_2{display:flex;flex-direction:column;gap:16px;max-width:820px}._card_w870o_10{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}._card_w870o_10:focus{outline:none}._card_w870o_10:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 68%,white 8%);outline-offset:3px}._licenseCardTarget_w870o_26{scroll-margin-top:18px;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}._licenseCardPro_w870o_31{border-color:var(--pro-border);background:linear-gradient(180deg,var(--pro-bg-soft),transparent 28%),var(--bg-card);box-shadow:inset 0 1px #f3d46b2e,0 0 0 1px #8f6f1f24}._cardHeader_w870o_42{font-family:var(--font-label);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}._cardHeaderActions_w870o_55{display:flex;align-items:center;gap:8px}._collapseButton_w870o_61{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;line-height:1;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition)}._collapseButton_w870o_61:hover{border-color:var(--accent);color:var(--text-primary)}._headerBadge_w870o_83{font-size:10px;font-weight:400;padding:2px 8px;border-radius:4px;border:1px solid var(--border);color:var(--text-muted);text-transform:none;letter-spacing:0}._headerBadgeLive_w870o_94{color:var(--success);border-color:var(--success)}._licenseGrid_w870o_100{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-family:var(--font-code);font-size:13px}._licenseGrid_w870o_100 dt{color:var(--text-muted)}._licenseGrid_w870o_100 dd{color:var(--text-primary);margin:0}._statusDot_w870o_118{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}._statusActive_w870o_127{background:var(--success);box-shadow:0 0 4px var(--success)}._statusGrace_w870o_132{background:var(--warning);box-shadow:0 0 4px color-mix(in srgb,var(--warning) 70%,transparent)}._statusInactive_w870o_137{background:var(--text-muted)}._statusError_w870o_141{background:var(--error)}._proBadge_w870o_146{color:var(--pro-badge);font-weight:500}._licenseCardPro_w870o_31 ._cardHeader_w870o_42 span:first-child{color:var(--pro-text)}._licenseCardPro_w870o_31 ._licenseGrid_w870o_100 dt{color:var(--pro-badge)}._upgradeLink_w870o_160{display:inline-block;margin-top:8px;font-family:var(--font-label);font-size:12px;color:var(--accent);cursor:pointer;text-decoration:underline}._upgradeLink_w870o_160:hover{opacity:.8}._licenseControls_w870o_174{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}._licenseControlRow_w870o_183{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}._licenseField_w870o_190{display:flex;flex-direction:column;gap:6px}._licenseFieldGrow_w870o_196{flex:1;min-width:220px}._controlLabel_w870o_201{font-family:var(--font-label);font-size:12px;color:var(--text-primary)}._textInput_w870o_207{font-family:var(--font-code);font-size:12px;padding:6px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color var(--transition)}._textInput_w870o_207:focus{border-color:var(--accent)}._actionBtn_w870o_223{font-family:var(--font-label);font-size:12px;padding:6px 14px;border-radius:4px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;transition:background var(--transition),color var(--transition),opacity var(--transition)}._actionBtn_w870o_223:hover{background:var(--accent);color:var(--bg-primary)}._actionBtn_w870o_223:disabled{opacity:.5;cursor:not-allowed}._licenseMessage_w870o_245{margin:0;font-family:var(--font-code);font-size:12px;color:var(--text-secondary)}._licenseNotice_w870o_252{margin:12px 0 0;padding:10px 12px;border-radius:8px;border:1px solid var(--border);font-family:var(--font-label);font-size:12px;line-height:1.5}._licenseNoticeInfo_w870o_262{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}._licenseNoticeWarning_w870o_268{color:var(--text-primary);background:color-mix(in srgb,var(--warning) 12%,transparent);border-color:color-mix(in srgb,var(--warning) 34%,var(--border))}._licenseNoticeMuted_w870o_274{color:var(--text-secondary);background:var(--bg-secondary)}._controlGrid_w870o_279{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0 0 10px;font-family:var(--font-code);font-size:12px}._controlGrid_w870o_279 dt{color:var(--text-muted)}._controlGrid_w870o_279 dd{min-width:0;margin:0;overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}._controlHint_w870o_301{margin:0 0 12px;font-family:var(--font-label);font-size:12px;line-height:1.5;color:var(--text-secondary)}._routingOverview_w870o_309{display:flex;align-items:stretch;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary)}._routingOverviewCopy_w870o_321{display:flex;flex-direction:column;gap:5px;min-width:0}._routingEyebrow_w870o_328{color:var(--text-muted);font-family:var(--font-label);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}._routingOverviewCopy_w870o_321 strong{color:var(--text-primary);font-family:var(--font-label);font-size:14px}._routingOverviewCopy_w870o_321 p{margin:0;color:var(--text-secondary);font-family:var(--font-label);font-size:12px;line-height:1.45}._priorityTargetSummary_w870o_351{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:min(260px,34%);padding-left:14px;border-left:1px solid var(--border)}._priorityTargetSummary_w870o_351 span{color:var(--text-muted);font-family:var(--font-label);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}._priorityTargetSummary_w870o_351 strong{color:var(--text-primary);font-family:var(--font-code);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._tableWrap_w870o_380{overflow-x:auto}._table_w870o_380{width:100%;border-collapse:collapse;font-family:var(--font-code);font-size:12px}._table_w870o_380 th{padding:6px 8px 6px 0;color:var(--text-muted);font-weight:500;text-align:left;border-bottom:1px solid var(--border)}._table_w870o_380 td{padding:7px 8px 7px 0;color:var(--text-primary);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}._studioRoutingChoiceControl_w870o_405{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);overflow:hidden}._segment_w870o_416,._segmentActive_w870o_417{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:52px;padding:8px 10px;border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-secondary);font-family:var(--font-label);font-size:12px;cursor:pointer;text-align:left}._segment_w870o_416:last-child,._segmentActive_w870o_417:last-child{border-right:none}._segment_w870o_416:hover:not(:disabled){background:var(--accent-dim);color:var(--accent)}._segmentActive_w870o_417{background:var(--accent-dim);color:var(--text-primary);font-weight:600}._segment_w870o_416 small,._segmentActive_w870o_417 small{color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.3}._segment_w870o_416:disabled,._segmentActive_w870o_417:disabled{cursor:default;opacity:.55}._routingWarning_w870o_464{margin:-2px 0 12px;color:var(--warning-text);font-family:var(--font-label);font-size:12px;line-height:1.45}._monoMuted_w870o_472{color:var(--text-secondary)}._copyIconButton_w870o_476{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;vertical-align:middle;transition:border-color var(--transition),background var(--transition),color var(--transition)}._copyIconButton_w870o_476:hover{color:var(--accent);border-color:var(--border-highlight);background:var(--accent-dim)}._routingBadge_w870o_501{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid var(--border-highlight);border-radius:var(--radius-sm);background:var(--accent-dim);color:var(--text-primary);font-family:var(--font-label);font-size:11px;font-weight:600}._setPriorityTargetButton_w870o_515{height:24px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-label);font-size:11px;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}._setPriorityTargetButton_w870o_515:hover:not(:disabled){border-color:var(--border-highlight);background:var(--accent-dim);color:var(--accent)}._setPriorityTargetButton_w870o_515:disabled{cursor:default;opacity:.55}._emptyRow_w870o_542{padding:14px 0;color:var(--text-muted);font-family:var(--font-label);text-align:center}@media(max-width:760px){._routingOverview_w870o_309{flex-direction:column}._priorityTargetSummary_w870o_351{min-width:0;padding-left:0;padding-top:10px;border-left:none;border-top:1px solid var(--border)}._studioRoutingChoiceControl_w870o_405{grid-template-columns:1fr}._segment_w870o_416,._segmentActive_w870o_417{border-right:none;border-bottom:1px solid var(--border)}._segment_w870o_416:last-child,._segmentActive_w870o_417:last-child{border-bottom:none}}._settingRow_w870o_579{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}._settingRow_w870o_579:last-child{border-bottom:none}._settingLabel_w870o_593{font-family:var(--font-label);color:var(--text-primary);flex:1}._settingControl_w870o_600{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-width:112px}._select_w870o_609{font-family:var(--font-code);font-size:12px;padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;outline:none;transition:border-color var(--transition)}._select_w870o_609:focus{border-color:var(--accent)}._numberInput_w870o_627{font-family:var(--font-code);font-size:12px;padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);width:80px;outline:none;transition:border-color var(--transition)}._numberInput_w870o_627:focus{border-color:var(--accent)}._toggleSwitch_w870o_645{position:relative;display:inline-flex;align-items:center;cursor:pointer}._toggleInput_w870o_652{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}._toggleTrack_w870o_660{position:relative;display:inline-flex;align-items:center;width:46px;height:28px;padding:3px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:linear-gradient(180deg,#ffffff08,#fff0),color-mix(in srgb,var(--bg-secondary) 88%,#0b1220 12%);box-shadow:inset 0 1px #ffffff0d,inset 0 0 0 1px #070a122e;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}._toggleThumb_w870o_682{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffffd1,#ffffff14 45%),linear-gradient(180deg,#f7fbff,#c8d4ea);box-shadow:0 4px 10px #00000047,inset 0 1px #ffffffa6;transform:translate(0);transition:transform var(--transition),background var(--transition),box-shadow var(--transition)}._toggleInput_w870o_652:focus-visible+._toggleTrack_w870o_660{border-color:color-mix(in srgb,var(--accent) 70%,white 8%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent),inset 0 1px #ffffff0d}._toggleInput_w870o_652:checked+._toggleTrack_w870o_660{border-color:color-mix(in srgb,var(--accent) 62%,white 6%);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 36%,white 4%),color-mix(in srgb,var(--accent) 78%,#1b2640 22%)),var(--accent);box-shadow:inset 0 1px #ffffff29,0 0 16px color-mix(in srgb,var(--accent) 22%,transparent)}._toggleInput_w870o_652:checked+._toggleTrack_w870o_660 ._toggleThumb_w870o_682{transform:translate(18px);background:radial-gradient(circle at 30% 30%,#ffffffeb,#ffffff1f 42%),linear-gradient(180deg,#fff,#d8e5ff)}._toggleSwitch_w870o_645:hover ._toggleTrack_w870o_660{border-color:color-mix(in srgb,var(--accent) 38%,var(--border))}._toggleSwitch_w870o_645:hover ._toggleInput_w870o_652:checked+._toggleTrack_w870o_660{box-shadow:inset 0 1px #ffffff29,0 0 20px color-mix(in srgb,var(--accent) 28%,transparent)}._savedIndicator_w870o_731{font-family:var(--font-code);font-size:11px;color:var(--success);opacity:1;min-width:56px;text-align:right;white-space:nowrap;transition:opacity .3s ease}._savedIndicatorHidden_w870o_742{opacity:0}._dataHistoryIntro_w870o_747{margin:0 0 12px;font-family:var(--font-label);font-size:12px;line-height:1.5;color:var(--text-secondary)}._dataHistoryList_w870o_755{display:flex;flex-direction:column;border-top:1px solid var(--border)}._dataHistoryRow_w870o_761{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}._dataHistoryDetail_w870o_770{padding:0 0 14px;border-bottom:1px solid var(--border)}._uiStudioDataHistoryRow_w870o_775{border-bottom:none;padding-bottom:10px}._uiStudioDataHistoryDetail_w870o_780{margin-left:16px;padding:12px 0 16px 16px;border-left:2px solid var(--border);background:linear-gradient(90deg,color-mix(in srgb,var(--bg-secondary) 42%,transparent),transparent 58%)}._dataHistoryMain_w870o_787{min-width:0}._dataHistoryTitle_w870o_791{font-family:var(--font-label);font-size:13px;color:var(--text-primary)}._dataHistoryDescription_w870o_797{margin-top:3px;font-family:var(--font-label);font-size:12px;line-height:1.45;color:var(--text-muted)}._dataHistoryMetric_w870o_805{font-family:var(--font-code);font-size:12px;color:var(--text-secondary);white-space:nowrap}._dataHistoryActions_w870o_812{display:flex;align-items:center;gap:8px}._linkButton_w870o_818,._dangerButton_w870o_819{font-family:var(--font-label);font-size:12px;line-height:1;padding:7px 10px;border-radius:4px;text-decoration:none;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),opacity var(--transition)}._linkButton_w870o_818{color:var(--accent);border:1px solid var(--border);background:transparent}._linkButton_w870o_818:hover{border-color:var(--accent)}._dangerButton_w870o_819{color:var(--error-text);border:1px solid var(--error-border);background:var(--error-bg)}._dangerButton_w870o_819:hover{opacity:.86}._dangerButton_w870o_819:disabled{opacity:.45;cursor:not-allowed}._inlineStatus_w870o_855{margin:12px 0 0;font-family:var(--font-code);font-size:12px;color:var(--text-secondary)}._coldGrid_w870o_863{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-family:var(--font-code);font-size:13px}._coldGrid_w870o_863 dt{color:var(--text-muted)}._coldGrid_w870o_863 dd{color:var(--text-primary);margin:0}._coldHint_w870o_881{margin-top:10px;font-family:var(--font-label);font-size:12px;color:var(--text-muted);font-style:italic}._langRow_w870o_890{display:flex;align-items:center;gap:12px;font-size:13px}._langRow_w870o_890 label{font-family:var(--font-label);color:var(--text-primary)}._loading_w870o_903{color:var(--text-muted);font-family:var(--font-code);font-size:13px;padding:32px 0;text-align:center}._unit_w870o_912{font-family:var(--font-code);font-size:11px;color:var(--text-muted)}@media(max-width:720px){._dataHistoryRow_w870o_761{grid-template-columns:minmax(0,1fr);align-items:stretch}._dataHistoryMetric_w870o_805{white-space:normal}._dataHistoryActions_w870o_812{justify-content:flex-start}._uiStudioDataHistoryDetail_w870o_780{margin-left:0}}
@@ -0,0 +1 @@
1
+ import{f as k,r as s,z as D,D as R,B as M,C as T,F as G,a as f}from"./index-B9LVK3-K.js";const A="_page_w870o_2",N="_card_w870o_10",E="_licenseCardTarget_w870o_26",W="_licenseCardPro_w870o_31",F="_cardHeader_w870o_42",P="_cardHeaderActions_w870o_55",O="_collapseButton_w870o_61",K="_headerBadge_w870o_83",$="_headerBadgeLive_w870o_94",q="_licenseGrid_w870o_100",z="_statusDot_w870o_118",j="_statusActive_w870o_127",x="_statusGrace_w870o_132",J="_statusInactive_w870o_137",Q="_statusError_w870o_141",U="_proBadge_w870o_146",V="_upgradeLink_w870o_160",X="_licenseControls_w870o_174",Y="_licenseControlRow_w870o_183",Z="_licenseField_w870o_190",tt="_licenseFieldGrow_w870o_196",et="_controlLabel_w870o_201",ot="_textInput_w870o_207",st="_actionBtn_w870o_223",nt="_licenseMessage_w870o_245",it="_licenseNotice_w870o_252",at="_licenseNoticeInfo_w870o_262",ct="_licenseNoticeWarning_w870o_268",rt="_licenseNoticeMuted_w870o_274",_t="_controlGrid_w870o_279",lt="_controlHint_w870o_301",dt="_routingOverview_w870o_309",ut="_routingOverviewCopy_w870o_321",gt="_routingEyebrow_w870o_328",wt="_priorityTargetSummary_w870o_351",yt="_tableWrap_w870o_380",ft="_table_w870o_380",Ht="_studioRoutingChoiceControl_w870o_405",Lt="_segment_w870o_416",pt="_segmentActive_w870o_417",ht="_routingWarning_w870o_464",mt="_monoMuted_w870o_472",bt="_copyIconButton_w870o_476",Ct="_routingBadge_w870o_501",St="_setPriorityTargetButton_w870o_515",Bt="_emptyRow_w870o_542",It="_settingRow_w870o_579",vt="_settingLabel_w870o_593",kt="_settingControl_w870o_600",Dt="_select_w870o_609",Rt="_numberInput_w870o_627",Mt="_toggleSwitch_w870o_645",Tt="_toggleInput_w870o_652",Gt="_toggleTrack_w870o_660",At="_toggleThumb_w870o_682",Nt="_savedIndicator_w870o_731",Et="_savedIndicatorHidden_w870o_742",Wt="_dataHistoryIntro_w870o_747",Ft="_dataHistoryList_w870o_755",Pt="_dataHistoryRow_w870o_761",Ot="_dataHistoryDetail_w870o_770",Kt="_uiStudioDataHistoryRow_w870o_775",$t="_uiStudioDataHistoryDetail_w870o_780",qt="_dataHistoryMain_w870o_787",zt="_dataHistoryTitle_w870o_791",jt="_dataHistoryDescription_w870o_797",xt="_dataHistoryMetric_w870o_805",Jt="_dataHistoryActions_w870o_812",Qt="_linkButton_w870o_818",Ut="_dangerButton_w870o_819",Vt="_inlineStatus_w870o_855",Xt="_coldGrid_w870o_863",Yt="_coldHint_w870o_881",Zt="_langRow_w870o_890",te="_loading_w870o_903",ee="_unit_w870o_912",se={page:A,card:N,licenseCardTarget:E,licenseCardPro:W,cardHeader:F,cardHeaderActions:P,collapseButton:O,headerBadge:K,headerBadgeLive:$,licenseGrid:q,statusDot:z,statusActive:j,statusGrace:x,statusInactive:J,statusError:Q,proBadge:U,upgradeLink:V,licenseControls:X,licenseControlRow:Y,licenseField:Z,licenseFieldGrow:tt,controlLabel:et,textInput:ot,actionBtn:st,licenseMessage:nt,licenseNotice:it,licenseNoticeInfo:at,licenseNoticeWarning:ct,licenseNoticeMuted:rt,controlGrid:_t,controlHint:lt,routingOverview:dt,routingOverviewCopy:ut,routingEyebrow:gt,priorityTargetSummary:wt,tableWrap:yt,table:ft,studioRoutingChoiceControl:Ht,segment:Lt,segmentActive:pt,routingWarning:ht,monoMuted:mt,copyIconButton:bt,routingBadge:Ct,setPriorityTargetButton:St,emptyRow:Bt,settingRow:It,settingLabel:vt,settingControl:kt,select:Dt,numberInput:Rt,toggleSwitch:Mt,toggleInput:Tt,toggleTrack:Gt,toggleThumb:At,savedIndicator:Nt,savedIndicatorHidden:Et,dataHistoryIntro:Wt,dataHistoryList:Ft,dataHistoryRow:Pt,dataHistoryDetail:Ot,uiStudioDataHistoryRow:Kt,uiStudioDataHistoryDetail:$t,dataHistoryMain:qt,dataHistoryTitle:zt,dataHistoryDescription:jt,dataHistoryMetric:xt,dataHistoryActions:Jt,linkButton:Qt,dangerButton:Ut,inlineStatus:Vt,coldGrid:Xt,coldHint:Yt,langRow:Zt,loading:te,unit:ee};function ne(){const{level:H}=k(),[l,g]=s.useState(null),[L,w]=s.useState(null),[p,y]=s.useState(!1),[h,m]=s.useState(!0),[b,a]=s.useState(!1),[C,_]=s.useState(null),i=H==="disconnected",n=s.useCallback(t=>{t&&w(e=>({...e,...t,maskedKey:t.maskedKey??(e==null?void 0:e.maskedKey),provider:t.provider??(e==null?void 0:e.provider)??"auto"}))},[]),d=s.useCallback(t=>{if(!t){w(null);return}w({...t,provider:t.provider??"auto"})},[]),u=s.useCallback(async()=>{try{return await D()}catch{return null}},[]);s.useEffect(()=>{let t=!1;async function e(){try{const[o,r]=await Promise.all([f.get("/api/dashboard/settings").catch(()=>null),u()]);if(t)return;o&&g(o),r&&n(r)}catch{}finally{t||m(!1)}}return e(),()=>{t=!0}},[u,n]),s.useEffect(()=>{const t=new R;t.connect();const e=t.on("license",o=>{u().then(r=>{if(r){if((o==null?void 0:o.cleared)===!0){d(r);return}n(r)}})});return()=>{e(),t.disconnect()}},[u,n,d]);const c=s.useCallback((t,e)=>{_(t??e)},[]),S=s.useCallback(async t=>{if(i)return!1;if(!t.trim())return _("License key is required."),!1;a(!0);try{const e=await M({licenseKey:t.trim()});return n(e.license),c(e.message,e.ok?"License updated.":"License activation failed."),e.ok}catch{return _("License activation failed."),!1}finally{a(!1)}},[c,i,n]),B=s.useCallback(async()=>{if(!i){a(!0);try{const t=await T();n(t.license),c(t.message,t.ok?"License updated.":"License refresh failed.")}catch{_("License refresh failed.")}finally{a(!1)}}},[c,i,n]),I=s.useCallback(async()=>{if(!i){a(!0);try{const t=await G();d(t.license),c(t.message,t.ok?"License reset.":"License reset failed.")}catch{_("License reset failed.")}finally{a(!1)}}},[c,i,d]),v=s.useCallback(async(t,e)=>{if(l){g(o=>o&&{...o,hot:{...o.hot,[t]:e}}),y(!0);try{await f.patch("/api/dashboard/settings",{[t]:e})}catch{g(o=>o&&{...o,hot:{...o.hot,[t]:l.hot[t]}})}finally{y(!1)}}},[l]);return{settings:l,license:L,saving:p,licenseControlsDisabled:i,licenseSubmitting:b,licenseMessage:C,activateLicense:S,refreshLicense:B,resetLicense:I,updateHotSetting:v,loading:h}}export{se as s,ne 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-DG2RrKOl.js"></script>
9
- <link rel="stylesheet" crossorigin href="/dashboard/assets/index-CjzKb5lS.css">
8
+ <script type="module" crossorigin src="/dashboard/assets/index-B9LVK3-K.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/dashboard/assets/index-Dd1aCYFM.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>