@weppy/roblox-mcp 2.17.11 → 2.17.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dashboard/dist/assets/{AiPromptExamples-DRAP_c3Y.js → AiPromptExamples-B3Uy68MJ.js} +1 -1
- package/dashboard/dist/assets/{AssetsPage-DClT_Xq0.js → AssetsPage-DGSoVLnO.js} +1 -1
- package/dashboard/dist/assets/{ChangelogPage-j9XKMICC.js → ChangelogPage-B9dCtQOo.js} +1 -1
- package/dashboard/dist/assets/{ConfirmModal-DQElh4mW.js → ConfirmModal-B6ovGUld.js} +1 -1
- package/dashboard/dist/assets/{ConnectionPage-ohHp3-EW.js → ConnectionPage-B3NzHXCM.js} +1 -1
- package/dashboard/dist/assets/{ControlsPage-DRq5gzh2.js → ControlsPage-dQj67_QM.js} +1 -1
- package/dashboard/dist/assets/{GameChangeDetail-DsbfZy27.js → GameChangeDetail-BfltcON0.js} +1 -1
- package/dashboard/dist/assets/{InfoLabel-BA8vYJyT.js → InfoLabel-CUAC4KaS.js} +1 -1
- package/dashboard/dist/assets/{OverviewPage-CBHqpiuH.js → OverviewPage-DAHV_J9P.js} +1 -1
- package/dashboard/dist/assets/{PageHeader-BdPmeEzS.js → PageHeader-BbXDD7J9.js} +1 -1
- package/dashboard/dist/assets/{PlaceSelectOptions-CgwpeSx4.js → PlaceSelectOptions-CoWR0lUt.js} +1 -1
- package/dashboard/dist/assets/{PlaytestAiPromptExamples-CfKnX7x5.js → PlaytestAiPromptExamples-CNzT1Zzl.js} +1 -1
- package/dashboard/dist/assets/{PlaytestPage-D5RqffbJ.js → PlaytestPage-DoyKVZGe.js} +1 -1
- package/dashboard/dist/assets/{SettingsPage-DsjksWTh.js → SettingsPage-DmuhCaCs.js} +1 -1
- package/dashboard/dist/assets/SyncPage-BeZ52U2s.css +1 -0
- package/dashboard/dist/assets/SyncPage-DTwGdjCc.js +1 -0
- package/dashboard/dist/assets/{Tabs-B_c28LwF.js → Tabs-CI7QBRFn.js} +1 -1
- package/dashboard/dist/assets/{TierPromoPanel-D0J8rNec.js → TierPromoPanel-BcWyr5ni.js} +1 -1
- package/dashboard/dist/assets/{ToolsPage-sfWcLmtW.js → ToolsPage-BYlAjTDF.js} +1 -1
- package/dashboard/dist/assets/{TooltipText-BVB6IaqZ.js → TooltipText-C8S8B8k6.js} +1 -1
- package/dashboard/dist/assets/{UiStudioPage-DUqrNkM_.js → UiStudioPage-Sg9Sc7dA.js} +1 -1
- package/dashboard/dist/assets/{WhatsNewPage-D24ekay9.js → WhatsNewPage-Xu9jN9ei.js} +1 -1
- package/dashboard/dist/assets/{bot-B1wgPyai.js → bot-GYHFrFjr.js} +1 -1
- package/dashboard/dist/assets/{check-BOuMxlwX.js → check-CK84xvEL.js} +1 -1
- package/dashboard/dist/assets/{copy-Cthw0Do5.js → copy-Dagqdoq_.js} +1 -1
- package/dashboard/dist/assets/{index-D7BP0kl_.js → index-Dryjq9a5.js} +29 -29
- package/dashboard/dist/assets/{rotate-ccw-DJdfoYVk.js → rotate-ccw-BhctsB9r.js} +1 -1
- package/dashboard/dist/assets/{sample-requests-Dg7Ej2AL.js → sample-requests-B6Kd_Wul.js} +1 -1
- package/dashboard/dist/assets/{trash-2-Cw9R346R.js → trash-2-BkWSghui.js} +1 -1
- package/dashboard/dist/assets/{useLiveUptime-CITQ3ubd.js → useLiveUptime-C0rFrLl1.js} +1 -1
- package/dashboard/dist/assets/{useSettings-DrQYFCsj.js → useSettings-CyIbYDSy.js} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/dist/index.js +150 -150
- package/package.json +1 -1
- package/roblox-plugin/WeppyRobloxMCP.rbxm +0 -0
- package/dashboard/dist/assets/SyncPage-BIm9tW0s.css +0 -1
- package/dashboard/dist/assets/SyncPage-u4m65tCe.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as v,h as k,u as G,r as d,j as n}from"./index-D7BP0kl_.js";import{C as D}from"./PageHeader-BdPmeEzS.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 V(t){return u(`/api/ui-studio/usage?placeId=${t}`)}function X(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 ee(t,e){return u(`/api/ui-studio/requests/${encodeURIComponent(e)}?placeId=${t}`)}function te(t,e){return u("/api/ui-studio/requests",{method:"DELETE",...S({placeId:t,...e})})}function ae(t,e){return u(`/api/ui-studio/snapshots/${encodeURIComponent(e)}?placeId=${t}`,{method:"DELETE"})}function re(t,e){return u("/api/ui-studio/snapshots",{method:"DELETE",...S({placeId:t,...e})})}function se(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 ie(t,e){return u("/api/ui-studio/cleanup",{method:"PUT",...S({placeId:t,...e})})}function oe(t){return u(`/api/ui-studio/cleanup/run?placeId=${t}`,{method:"POST"})}function ne(t,e){return u("/api/ui-studio/run",{method:"POST",...S({action:t,params:e})})}const C="_overlay_1jrww_4",w="_dialog_1jrww_15",A="_title_1jrww_28",E="_titleDanger_1jrww_38",x="_message_1jrww_43",U="_cascadeRow_1jrww_51",H="_actions_1jrww_66",Z="_cancelBtn_1jrww_74",j="_confirmBtn_1jrww_96",R="_confirmBtnDanger_1jrww_119",L="_busySpinner_1jrww_126",o={overlay:C,dialog:w,title:A,titleDanger:E,message:x,cascadeRow:U,actions:H,cancelBtn:Z,confirmBtn:j,confirmBtnDanger:R,busySpinner:L};function ue({title:t,message:e,danger:r=!1,cascadeOption:a,confirmLabel:s,busy:i=!1,onConfirm:T,onClose:p}){const{t:h}=G(),[_,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(D,{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 z="/dashboard/assets/ui-studio-sample-DrNTD6yi.png",me=z,le={requestCount:6,mutationCount:22,snapshotCount:8,historyBytes:12e3,snapshotBytes:48e4,totalBytes:492e3},_e={mode:"off",cascadeSnapshots:!0},O={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"},N={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"},$={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"},K={sample_mut_6_3:"uiStudio.sample.history.request6.mutation3.error",sample_mut_6_4:"uiStudio.sample.history.request6.mutation4.error"},Y=[{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"]}],F={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 W(t,e){var s;const r=N[e.mutationId],a=K[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($[i.property]??"",i.label)}))}}function de(t){const e=Y.map(a=>({...a,label:a.label?t(O[a.requestId]??"",a.label):a.label})),r=Object.fromEntries(Object.entries(F).map(([a,s])=>[a,s.map(i=>W(t,i))]));return{requests:e,mutationsByRequest:r}}export{ue as D,le as S,V as a,_e as b,ne as c,te as d,ae as e,se as f,z as g,re as h,X as i,ee as j,de as k,me as l,oe as r,ie as s};
|
|
1
|
+
import{l as v,h as k,u as G,r as d,j as n}from"./index-Dryjq9a5.js";import{C as D}from"./PageHeader-BbXDD7J9.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 V(t){return u(`/api/ui-studio/usage?placeId=${t}`)}function X(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 ee(t,e){return u(`/api/ui-studio/requests/${encodeURIComponent(e)}?placeId=${t}`)}function te(t,e){return u("/api/ui-studio/requests",{method:"DELETE",...S({placeId:t,...e})})}function ae(t,e){return u(`/api/ui-studio/snapshots/${encodeURIComponent(e)}?placeId=${t}`,{method:"DELETE"})}function re(t,e){return u("/api/ui-studio/snapshots",{method:"DELETE",...S({placeId:t,...e})})}function se(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 ie(t,e){return u("/api/ui-studio/cleanup",{method:"PUT",...S({placeId:t,...e})})}function oe(t){return u(`/api/ui-studio/cleanup/run?placeId=${t}`,{method:"POST"})}function ne(t,e){return u("/api/ui-studio/run",{method:"POST",...S({action:t,params:e})})}const C="_overlay_1jrww_4",w="_dialog_1jrww_15",A="_title_1jrww_28",E="_titleDanger_1jrww_38",x="_message_1jrww_43",U="_cascadeRow_1jrww_51",H="_actions_1jrww_66",Z="_cancelBtn_1jrww_74",j="_confirmBtn_1jrww_96",R="_confirmBtnDanger_1jrww_119",L="_busySpinner_1jrww_126",o={overlay:C,dialog:w,title:A,titleDanger:E,message:x,cascadeRow:U,actions:H,cancelBtn:Z,confirmBtn:j,confirmBtnDanger:R,busySpinner:L};function ue({title:t,message:e,danger:r=!1,cascadeOption:a,confirmLabel:s,busy:i=!1,onConfirm:T,onClose:p}){const{t:h}=G(),[_,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(D,{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 z="/dashboard/assets/ui-studio-sample-DrNTD6yi.png",me=z,le={requestCount:6,mutationCount:22,snapshotCount:8,historyBytes:12e3,snapshotBytes:48e4,totalBytes:492e3},_e={mode:"off",cascadeSnapshots:!0},O={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"},N={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"},$={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"},K={sample_mut_6_3:"uiStudio.sample.history.request6.mutation3.error",sample_mut_6_4:"uiStudio.sample.history.request6.mutation4.error"},Y=[{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"]}],F={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 W(t,e){var s;const r=N[e.mutationId],a=K[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($[i.property]??"",i.label)}))}}function de(t){const e=Y.map(a=>({...a,label:a.label?t(O[a.requestId]??"",a.label):a.label})),r=Object.fromEntries(Object.entries(F).map(([a,s])=>[a,s.map(i=>W(t,i))]));return{requests:e,mutationsByRequest:r}}export{ue as D,le as S,V as a,_e as b,ne as c,te as d,ae as e,se as f,z as g,re as h,X as i,ee as j,de as k,me as l,oe as r,ie as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as l,j as a,r as c}from"./index-
|
|
1
|
+
import{u as l,j as a,r as c}from"./index-Dryjq9a5.js";const r="_badge_1ucqq_2",u="_dot_1ucqq_12",_="_online_1ucqq_20",f="_offline_1ucqq_25",d="_idle_1ucqq_30",g="_syncing_1ucqq_34",q="_initializing_1ucqq_35",e={badge:r,dot:u,online:_,offline:f,idle:d,syncing:g,initializing:q},S={online:"status.online",offline:"status.offline",idle:"status.idle",syncing:"status.syncing",initializing:"status.initializing"};function h({status:t}){const{t:n}=l();return a.jsxs("span",{className:e.badge,children:[a.jsx("span",{className:`${e.dot} ${e[t]}`}),n(S[t])]})}function x(t){const n=Math.max(0,Math.floor(t/1e3)),i=Math.floor(n/3600),s=Math.floor(n%3600/60),o=Math.floor(n%60);return`${String(i).padStart(2,"0")}:${String(s).padStart(2,"0")}:${String(o).padStart(2,"0")}`}const m=1e3;function w(t){const[n,i]=c.useState(t??null);return c.useEffect(()=>{if(t==null){i(null);return}const s=Date.now();i(t);const o=window.setInterval(()=>{i(t+(Date.now()-s))},m);return()=>{window.clearInterval(o)}},[t]),n}export{h as S,x as f,w as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as D,r as a,U as P,D as I,V as k,W as A,Y as F,b as C}from"./index-D7BP0kl_.js";const G="_page_nev6i_2",E="_card_nev6i_10",M="_licenseCardTarget_nev6i_26",U="_licenseCardPro_nev6i_31",W="_dashboardCard_nev6i_41",N="_dashboardCardTarget_nev6i_45",x="_dashboardSettingRow_nev6i_49",O="_dashboardSettingCopy_nev6i_56",K="_dashboardSettingLabel_nev6i_62",Q="_dashboardSettingDescription_nev6i_70",$="_dashboardSettingMeta_nev6i_71",V="_dashboardSaveFeedback_nev6i_72",q="_dashboardToggleTarget_nev6i_86",Y="_dashboardDetails_nev6i_92",z="_dashboardDetailRow_nev6i_100",J="_dashboardSettingsFilePath_nev6i_119",X="_dashboardAgentPrompt_nev6i_120",Z="_dashboardSaveFeedbackError_nev6i_145",ee="_cardHeader_nev6i_150",te="_cardHeaderActions_nev6i_163",ne="_cardHeaderTitleGroup_nev6i_169",oe="_cardHelpButton_nev6i_176",ae="_validationCard_nev6i_208",ie="_validationSettingRow_nev6i_212",se="_validationSettingCopy_nev6i_219",re="_validationSettingLabel_nev6i_225",ce="_validationSettingStatus_nev6i_233",_e="_validationPolicyControl_nev6i_240",de="_validationToggleTarget_nev6i_248",ge="_touchTarget44_nev6i_254",le="_collapseButton_nev6i_259",ue="_headerBadge_nev6i_286",ve="_headerBadgeLive_nev6i_300",he="_licenseGrid_nev6i_306",pe="_statusDot_nev6i_324",Ce="_statusActive_nev6i_333",be="_statusGrace_nev6i_338",ye="_statusInactive_nev6i_343",Se="_statusError_nev6i_347",je="_proBadge_nev6i_352",me="_upgradeLink_nev6i_366",Le="_licenseControls_nev6i_380",fe="_licenseControlRow_nev6i_389",He="_licenseField_nev6i_396",Re="_licenseFieldGrow_nev6i_402",we="_controlLabel_nev6i_407",Te="_textInput_nev6i_413",Be="_actionBtn_nev6i_433",De="_licenseMessage_nev6i_460",Pe="_licenseNotice_nev6i_467",Ie="_licenseNoticeInfo_nev6i_477",ke="_licenseNoticeWarning_nev6i_483",Ae="_licenseNoticeMuted_nev6i_489",Fe="_controlGrid_nev6i_494",Ge="_controlHint_nev6i_516",Ee="_routingOverview_nev6i_524",Me="_routingOverviewCopy_nev6i_536",Ue="_routingEyebrow_nev6i_543",We="_priorityTargetSummary_nev6i_568",Ne="_routingFeedback_nev6i_596",xe="_tableWrap_nev6i_601",Oe="_table_nev6i_601",Ke="_routingTargetsTable_nev6i_612",Qe="_routingActionColumn_nev6i_617",$e="_routingActionSlot_nev6i_621",Ve="_studioRoutingChoiceControl_nev6i_643",qe="_segment_nev6i_652",Ye="_segmentActive_nev6i_653",ze="_segmentCopy_nev6i_674",Je="_segmentLabel_nev6i_680",Xe="_segmentDescription_nev6i_687",Ze="_segmentIndicator_nev6i_694",et="_routingDisabledReason_nev6i_733",tt="_routingWarning_nev6i_741",nt="_monoMuted_nev6i_749",ot="_copyIconButton_nev6i_753",at="_routingBadge_nev6i_778",it="_routingTargetRadio_nev6i_792",st="_routingTargetRadioActive_nev6i_813",rt="_routingRadioIndicator_nev6i_829",ct="_emptyRow_nev6i_845",_t="_settingRow_nev6i_898",dt="_settingLabel_nev6i_912",gt="_settingControl_nev6i_919",lt="_select_nev6i_928",ut="_numberInput_nev6i_950",vt="_toggleSwitch_nev6i_972",ht="_toggleInput_nev6i_979",pt="_toggleTrack_nev6i_987",Ct="_toggleThumb_nev6i_1009",bt="_savedIndicator_nev6i_1058",yt="_savedIndicatorHidden_nev6i_1070",St="_savedIndicatorFailed_nev6i_1074",jt="_dataHistoryIntro_nev6i_1079",mt="_dataHistoryList_nev6i_1087",Lt="_dataHistoryRow_nev6i_1093",ft="_dataHistoryDetail_nev6i_1102",Ht="_dataHistoryRowExpanded_nev6i_1113",Rt="_projectChangesDataHistoryDetail_nev6i_1120",wt="_uiStudioDataHistoryDetail_nev6i_1124",Tt="_dataHistoryMain_nev6i_1128",Bt="_dataHistoryTitle_nev6i_1132",Dt="_dataHistoryDescription_nev6i_1138",Pt="_dataHistoryMetric_nev6i_1146",It="_dataHistoryActions_nev6i_1153",kt="_linkButton_nev6i_1159",At="_manageStorageButton_nev6i_1160",Ft="_dangerButton_nev6i_1161",Gt="_inlineStatus_nev6i_1228",Et="_projectChangesPanel_nev6i_1236",Mt="_projectChangesConsoleGrid_nev6i_1247",Ut="_projectChangesUsageColumn_nev6i_1254",Wt="_projectChangesPolicyColumn_nev6i_1255",Nt="_projectChangesPanelTitle_nev6i_1266",xt="_projectChangesScope_nev6i_1273",Ot="_projectChangesUsageBlock_nev6i_1279",Kt="_projectChangesUsageSummary_nev6i_1285",Qt="_projectChangesQuotaRail_nev6i_1294",$t="_projectChangesSessionRail_nev6i_1303",Vt="_projectChangesContextRail_nev6i_1304",qt="_projectChangesUsageLegend_nev6i_1319",Yt="_projectChangesPolicyFieldset_nev6i_1335",zt="_projectChangesPolicyLegend_nev6i_1349",Jt="_projectChangesPresetGroup_nev6i_1358",Xt="_projectChangesPresetButton_nev6i_1364",Zt="_projectChangesPresetButtonActive_nev6i_1391",en="_projectChangesActions_nev6i_1398",tn="_projectChangesSaveButton_nev6i_1405",nn="_projectChangesSecondaryButton_nev6i_1406",on="_projectChangesSaved_nev6i_1463",an="_projectChangesWarning_nev6i_1469",sn="_projectChangesError_nev6i_1470",rn="_projectChangesEmpty_nev6i_1471",cn="_projectChangesLastRun_nev6i_1491",_n="_projectChangesLastRunLabel_nev6i_1502",dn="_coldGrid_nev6i_1508",gn="_coldHint_nev6i_1526",ln="_langRow_nev6i_1535",un="_loading_nev6i_1548",vn="_unit_nev6i_1557",pn={page:G,card:E,licenseCardTarget:M,licenseCardPro:U,dashboardCard:W,dashboardCardTarget:N,dashboardSettingRow:x,dashboardSettingCopy:O,dashboardSettingLabel:K,dashboardSettingDescription:Q,dashboardSettingMeta:$,dashboardSaveFeedback:V,dashboardToggleTarget:q,dashboardDetails:Y,dashboardDetailRow:z,dashboardSettingsFilePath:J,dashboardAgentPrompt:X,dashboardSaveFeedbackError:Z,cardHeader:ee,cardHeaderActions:te,cardHeaderTitleGroup:ne,cardHelpButton:oe,validationCard:ae,validationSettingRow:ie,validationSettingCopy:se,validationSettingLabel:re,validationSettingStatus:ce,validationPolicyControl:_e,validationToggleTarget:de,touchTarget44:ge,collapseButton:le,headerBadge:ue,headerBadgeLive:ve,licenseGrid:he,statusDot:pe,statusActive:Ce,statusGrace:be,statusInactive:ye,statusError:Se,proBadge:je,upgradeLink:me,licenseControls:Le,licenseControlRow:fe,licenseField:He,licenseFieldGrow:Re,controlLabel:we,textInput:Te,actionBtn:Be,licenseMessage:De,licenseNotice:Pe,licenseNoticeInfo:Ie,licenseNoticeWarning:ke,licenseNoticeMuted:Ae,controlGrid:Fe,controlHint:Ge,routingOverview:Ee,routingOverviewCopy:Me,routingEyebrow:Ue,priorityTargetSummary:We,routingFeedback:Ne,tableWrap:xe,table:Oe,routingTargetsTable:Ke,routingActionColumn:Qe,routingActionSlot:$e,studioRoutingChoiceControl:Ve,segment:qe,segmentActive:Ye,segmentCopy:ze,segmentLabel:Je,segmentDescription:Xe,segmentIndicator:Ze,routingDisabledReason:et,routingWarning:tt,monoMuted:nt,copyIconButton:ot,routingBadge:at,routingTargetRadio:it,routingTargetRadioActive:st,routingRadioIndicator:rt,emptyRow:ct,settingRow:_t,settingLabel:dt,settingControl:gt,select:lt,numberInput:ut,toggleSwitch:vt,toggleInput:ht,toggleTrack:pt,toggleThumb:Ct,savedIndicator:bt,savedIndicatorHidden:yt,savedIndicatorFailed:St,dataHistoryIntro:jt,dataHistoryList:mt,dataHistoryRow:Lt,dataHistoryDetail:ft,dataHistoryRowExpanded:Ht,projectChangesDataHistoryDetail:Rt,uiStudioDataHistoryDetail:wt,dataHistoryMain:Tt,dataHistoryTitle:Bt,dataHistoryDescription:Dt,dataHistoryMetric:Pt,dataHistoryActions:It,linkButton:kt,manageStorageButton:At,dangerButton:Ft,inlineStatus:Gt,projectChangesPanel:Et,projectChangesConsoleGrid:Mt,projectChangesUsageColumn:Ut,projectChangesPolicyColumn:Wt,projectChangesPanelTitle:Nt,projectChangesScope:xt,projectChangesUsageBlock:Ot,projectChangesUsageSummary:Kt,projectChangesQuotaRail:Qt,projectChangesSessionRail:$t,projectChangesContextRail:Vt,projectChangesUsageLegend:qt,projectChangesPolicyFieldset:Yt,projectChangesPolicyLegend:zt,projectChangesPresetGroup:Jt,projectChangesPresetButton:Xt,projectChangesPresetButtonActive:Zt,projectChangesActions:en,projectChangesSaveButton:tn,projectChangesSecondaryButton:nn,projectChangesSaved:on,projectChangesWarning:an,projectChangesError:sn,projectChangesEmpty:rn,projectChangesLastRun:cn,projectChangesLastRunLabel:_n,coldGrid:dn,coldHint:gn,langRow:ln,loading:un,unit:vn};function Cn(){const{level:b}=D(),[s,c]=a.useState(null),[y,p]=a.useState(null),[S,l]=a.useState(!1),[j,m]=a.useState(!0),[L,_]=a.useState(!1),[f,g]=a.useState(null),r=b==="disconnected",i=a.useCallback(e=>{e&&p(t=>({...t,...e,maskedKey:e.maskedKey??(t==null?void 0:t.maskedKey),provider:e.provider??(t==null?void 0:t.provider)??"auto"}))},[]),u=a.useCallback(e=>{if(!e){p(null);return}p({...e,provider:e.provider??"auto"})},[]),v=a.useCallback(async()=>{try{return await P()}catch{return null}},[]);a.useEffect(()=>{let e=!1;async function t(){try{const[n,o]=await Promise.all([C.get("/api/dashboard/settings").catch(()=>null),v()]);if(e)return;n&&c(n),o&&i(o)}catch{}finally{e||m(!1)}}return t(),()=>{e=!0}},[v,i]),a.useEffect(()=>{const e=new I;e.connect();const t=e.on("license",n=>{v().then(o=>{if(o){if((n==null?void 0:n.cleared)===!0){u(o);return}i(o)}})});return()=>{t(),e.disconnect()}},[v,i,u]);const d=a.useCallback((e,t)=>{g(e??t)},[]),H=a.useCallback(async e=>{if(r)return!1;if(!e.trim())return g("License key is required."),!1;_(!0);try{const t=await k({licenseKey:e.trim()});return i(t.license),d(t.message,t.ok?"License updated.":"License activation failed."),t.ok}catch{return g("License activation failed."),!1}finally{_(!1)}},[d,r,i]),R=a.useCallback(async()=>{if(!r){_(!0);try{const e=await A();i(e.license),d(e.message,e.ok?"License updated.":"License refresh failed.")}catch{g("License refresh failed.")}finally{_(!1)}}},[d,r,i]),w=a.useCallback(async()=>{if(!r){_(!0);try{const e=await F();u(e.license),d(e.message,e.ok?"License reset.":"License reset failed.")}catch{g("License reset failed.")}finally{_(!1)}}},[d,r,u]),T=a.useCallback(async(e,t)=>{if(!s)return;const n=s.hot[e];c(o=>o&&{...o,hot:{...o.hot,[e]:t}}),l(!0);try{await C.patch("/api/dashboard/settings",{[e]:t})}catch(o){throw c(h=>h&&{...h,hot:{...h.hot,[e]:n}}),o}finally{l(!1)}},[s]),B=a.useCallback(async e=>{if(!s)return;const t=s.dashboard;c(n=>n&&{...n,dashboard:{...n.dashboard,...e}}),l(!0);try{const n=await C.patch("/api/dashboard/preferences",e);c(n)}catch(n){throw c(o=>o&&{...o,dashboard:t}),n}finally{l(!1)}},[s]);return{settings:s,license:y,saving:S,licenseControlsDisabled:r,licenseSubmitting:L,licenseMessage:f,activateLicense:H,refreshLicense:R,resetLicense:w,updateHotSetting:T,updateDashboardPreferences:B,loading:j}}export{pn as s,Cn as u};
|
|
1
|
+
import{d as D,r as a,U as P,D as I,V as k,W as A,Y as F,b as C}from"./index-Dryjq9a5.js";const G="_page_nev6i_2",E="_card_nev6i_10",M="_licenseCardTarget_nev6i_26",U="_licenseCardPro_nev6i_31",W="_dashboardCard_nev6i_41",N="_dashboardCardTarget_nev6i_45",x="_dashboardSettingRow_nev6i_49",O="_dashboardSettingCopy_nev6i_56",K="_dashboardSettingLabel_nev6i_62",Q="_dashboardSettingDescription_nev6i_70",$="_dashboardSettingMeta_nev6i_71",V="_dashboardSaveFeedback_nev6i_72",q="_dashboardToggleTarget_nev6i_86",Y="_dashboardDetails_nev6i_92",z="_dashboardDetailRow_nev6i_100",J="_dashboardSettingsFilePath_nev6i_119",X="_dashboardAgentPrompt_nev6i_120",Z="_dashboardSaveFeedbackError_nev6i_145",ee="_cardHeader_nev6i_150",te="_cardHeaderActions_nev6i_163",ne="_cardHeaderTitleGroup_nev6i_169",oe="_cardHelpButton_nev6i_176",ae="_validationCard_nev6i_208",ie="_validationSettingRow_nev6i_212",se="_validationSettingCopy_nev6i_219",re="_validationSettingLabel_nev6i_225",ce="_validationSettingStatus_nev6i_233",_e="_validationPolicyControl_nev6i_240",de="_validationToggleTarget_nev6i_248",ge="_touchTarget44_nev6i_254",le="_collapseButton_nev6i_259",ue="_headerBadge_nev6i_286",ve="_headerBadgeLive_nev6i_300",he="_licenseGrid_nev6i_306",pe="_statusDot_nev6i_324",Ce="_statusActive_nev6i_333",be="_statusGrace_nev6i_338",ye="_statusInactive_nev6i_343",Se="_statusError_nev6i_347",je="_proBadge_nev6i_352",me="_upgradeLink_nev6i_366",Le="_licenseControls_nev6i_380",fe="_licenseControlRow_nev6i_389",He="_licenseField_nev6i_396",Re="_licenseFieldGrow_nev6i_402",we="_controlLabel_nev6i_407",Te="_textInput_nev6i_413",Be="_actionBtn_nev6i_433",De="_licenseMessage_nev6i_460",Pe="_licenseNotice_nev6i_467",Ie="_licenseNoticeInfo_nev6i_477",ke="_licenseNoticeWarning_nev6i_483",Ae="_licenseNoticeMuted_nev6i_489",Fe="_controlGrid_nev6i_494",Ge="_controlHint_nev6i_516",Ee="_routingOverview_nev6i_524",Me="_routingOverviewCopy_nev6i_536",Ue="_routingEyebrow_nev6i_543",We="_priorityTargetSummary_nev6i_568",Ne="_routingFeedback_nev6i_596",xe="_tableWrap_nev6i_601",Oe="_table_nev6i_601",Ke="_routingTargetsTable_nev6i_612",Qe="_routingActionColumn_nev6i_617",$e="_routingActionSlot_nev6i_621",Ve="_studioRoutingChoiceControl_nev6i_643",qe="_segment_nev6i_652",Ye="_segmentActive_nev6i_653",ze="_segmentCopy_nev6i_674",Je="_segmentLabel_nev6i_680",Xe="_segmentDescription_nev6i_687",Ze="_segmentIndicator_nev6i_694",et="_routingDisabledReason_nev6i_733",tt="_routingWarning_nev6i_741",nt="_monoMuted_nev6i_749",ot="_copyIconButton_nev6i_753",at="_routingBadge_nev6i_778",it="_routingTargetRadio_nev6i_792",st="_routingTargetRadioActive_nev6i_813",rt="_routingRadioIndicator_nev6i_829",ct="_emptyRow_nev6i_845",_t="_settingRow_nev6i_898",dt="_settingLabel_nev6i_912",gt="_settingControl_nev6i_919",lt="_select_nev6i_928",ut="_numberInput_nev6i_950",vt="_toggleSwitch_nev6i_972",ht="_toggleInput_nev6i_979",pt="_toggleTrack_nev6i_987",Ct="_toggleThumb_nev6i_1009",bt="_savedIndicator_nev6i_1058",yt="_savedIndicatorHidden_nev6i_1070",St="_savedIndicatorFailed_nev6i_1074",jt="_dataHistoryIntro_nev6i_1079",mt="_dataHistoryList_nev6i_1087",Lt="_dataHistoryRow_nev6i_1093",ft="_dataHistoryDetail_nev6i_1102",Ht="_dataHistoryRowExpanded_nev6i_1113",Rt="_projectChangesDataHistoryDetail_nev6i_1120",wt="_uiStudioDataHistoryDetail_nev6i_1124",Tt="_dataHistoryMain_nev6i_1128",Bt="_dataHistoryTitle_nev6i_1132",Dt="_dataHistoryDescription_nev6i_1138",Pt="_dataHistoryMetric_nev6i_1146",It="_dataHistoryActions_nev6i_1153",kt="_linkButton_nev6i_1159",At="_manageStorageButton_nev6i_1160",Ft="_dangerButton_nev6i_1161",Gt="_inlineStatus_nev6i_1228",Et="_projectChangesPanel_nev6i_1236",Mt="_projectChangesConsoleGrid_nev6i_1247",Ut="_projectChangesUsageColumn_nev6i_1254",Wt="_projectChangesPolicyColumn_nev6i_1255",Nt="_projectChangesPanelTitle_nev6i_1266",xt="_projectChangesScope_nev6i_1273",Ot="_projectChangesUsageBlock_nev6i_1279",Kt="_projectChangesUsageSummary_nev6i_1285",Qt="_projectChangesQuotaRail_nev6i_1294",$t="_projectChangesSessionRail_nev6i_1303",Vt="_projectChangesContextRail_nev6i_1304",qt="_projectChangesUsageLegend_nev6i_1319",Yt="_projectChangesPolicyFieldset_nev6i_1335",zt="_projectChangesPolicyLegend_nev6i_1349",Jt="_projectChangesPresetGroup_nev6i_1358",Xt="_projectChangesPresetButton_nev6i_1364",Zt="_projectChangesPresetButtonActive_nev6i_1391",en="_projectChangesActions_nev6i_1398",tn="_projectChangesSaveButton_nev6i_1405",nn="_projectChangesSecondaryButton_nev6i_1406",on="_projectChangesSaved_nev6i_1463",an="_projectChangesWarning_nev6i_1469",sn="_projectChangesError_nev6i_1470",rn="_projectChangesEmpty_nev6i_1471",cn="_projectChangesLastRun_nev6i_1491",_n="_projectChangesLastRunLabel_nev6i_1502",dn="_coldGrid_nev6i_1508",gn="_coldHint_nev6i_1526",ln="_langRow_nev6i_1535",un="_loading_nev6i_1548",vn="_unit_nev6i_1557",pn={page:G,card:E,licenseCardTarget:M,licenseCardPro:U,dashboardCard:W,dashboardCardTarget:N,dashboardSettingRow:x,dashboardSettingCopy:O,dashboardSettingLabel:K,dashboardSettingDescription:Q,dashboardSettingMeta:$,dashboardSaveFeedback:V,dashboardToggleTarget:q,dashboardDetails:Y,dashboardDetailRow:z,dashboardSettingsFilePath:J,dashboardAgentPrompt:X,dashboardSaveFeedbackError:Z,cardHeader:ee,cardHeaderActions:te,cardHeaderTitleGroup:ne,cardHelpButton:oe,validationCard:ae,validationSettingRow:ie,validationSettingCopy:se,validationSettingLabel:re,validationSettingStatus:ce,validationPolicyControl:_e,validationToggleTarget:de,touchTarget44:ge,collapseButton:le,headerBadge:ue,headerBadgeLive:ve,licenseGrid:he,statusDot:pe,statusActive:Ce,statusGrace:be,statusInactive:ye,statusError:Se,proBadge:je,upgradeLink:me,licenseControls:Le,licenseControlRow:fe,licenseField:He,licenseFieldGrow:Re,controlLabel:we,textInput:Te,actionBtn:Be,licenseMessage:De,licenseNotice:Pe,licenseNoticeInfo:Ie,licenseNoticeWarning:ke,licenseNoticeMuted:Ae,controlGrid:Fe,controlHint:Ge,routingOverview:Ee,routingOverviewCopy:Me,routingEyebrow:Ue,priorityTargetSummary:We,routingFeedback:Ne,tableWrap:xe,table:Oe,routingTargetsTable:Ke,routingActionColumn:Qe,routingActionSlot:$e,studioRoutingChoiceControl:Ve,segment:qe,segmentActive:Ye,segmentCopy:ze,segmentLabel:Je,segmentDescription:Xe,segmentIndicator:Ze,routingDisabledReason:et,routingWarning:tt,monoMuted:nt,copyIconButton:ot,routingBadge:at,routingTargetRadio:it,routingTargetRadioActive:st,routingRadioIndicator:rt,emptyRow:ct,settingRow:_t,settingLabel:dt,settingControl:gt,select:lt,numberInput:ut,toggleSwitch:vt,toggleInput:ht,toggleTrack:pt,toggleThumb:Ct,savedIndicator:bt,savedIndicatorHidden:yt,savedIndicatorFailed:St,dataHistoryIntro:jt,dataHistoryList:mt,dataHistoryRow:Lt,dataHistoryDetail:ft,dataHistoryRowExpanded:Ht,projectChangesDataHistoryDetail:Rt,uiStudioDataHistoryDetail:wt,dataHistoryMain:Tt,dataHistoryTitle:Bt,dataHistoryDescription:Dt,dataHistoryMetric:Pt,dataHistoryActions:It,linkButton:kt,manageStorageButton:At,dangerButton:Ft,inlineStatus:Gt,projectChangesPanel:Et,projectChangesConsoleGrid:Mt,projectChangesUsageColumn:Ut,projectChangesPolicyColumn:Wt,projectChangesPanelTitle:Nt,projectChangesScope:xt,projectChangesUsageBlock:Ot,projectChangesUsageSummary:Kt,projectChangesQuotaRail:Qt,projectChangesSessionRail:$t,projectChangesContextRail:Vt,projectChangesUsageLegend:qt,projectChangesPolicyFieldset:Yt,projectChangesPolicyLegend:zt,projectChangesPresetGroup:Jt,projectChangesPresetButton:Xt,projectChangesPresetButtonActive:Zt,projectChangesActions:en,projectChangesSaveButton:tn,projectChangesSecondaryButton:nn,projectChangesSaved:on,projectChangesWarning:an,projectChangesError:sn,projectChangesEmpty:rn,projectChangesLastRun:cn,projectChangesLastRunLabel:_n,coldGrid:dn,coldHint:gn,langRow:ln,loading:un,unit:vn};function Cn(){const{level:b}=D(),[s,c]=a.useState(null),[y,p]=a.useState(null),[S,l]=a.useState(!1),[j,m]=a.useState(!0),[L,_]=a.useState(!1),[f,g]=a.useState(null),r=b==="disconnected",i=a.useCallback(e=>{e&&p(t=>({...t,...e,maskedKey:e.maskedKey??(t==null?void 0:t.maskedKey),provider:e.provider??(t==null?void 0:t.provider)??"auto"}))},[]),u=a.useCallback(e=>{if(!e){p(null);return}p({...e,provider:e.provider??"auto"})},[]),v=a.useCallback(async()=>{try{return await P()}catch{return null}},[]);a.useEffect(()=>{let e=!1;async function t(){try{const[n,o]=await Promise.all([C.get("/api/dashboard/settings").catch(()=>null),v()]);if(e)return;n&&c(n),o&&i(o)}catch{}finally{e||m(!1)}}return t(),()=>{e=!0}},[v,i]),a.useEffect(()=>{const e=new I;e.connect();const t=e.on("license",n=>{v().then(o=>{if(o){if((n==null?void 0:n.cleared)===!0){u(o);return}i(o)}})});return()=>{t(),e.disconnect()}},[v,i,u]);const d=a.useCallback((e,t)=>{g(e??t)},[]),H=a.useCallback(async e=>{if(r)return!1;if(!e.trim())return g("License key is required."),!1;_(!0);try{const t=await k({licenseKey:e.trim()});return i(t.license),d(t.message,t.ok?"License updated.":"License activation failed."),t.ok}catch{return g("License activation failed."),!1}finally{_(!1)}},[d,r,i]),R=a.useCallback(async()=>{if(!r){_(!0);try{const e=await A();i(e.license),d(e.message,e.ok?"License updated.":"License refresh failed.")}catch{g("License refresh failed.")}finally{_(!1)}}},[d,r,i]),w=a.useCallback(async()=>{if(!r){_(!0);try{const e=await F();u(e.license),d(e.message,e.ok?"License reset.":"License reset failed.")}catch{g("License reset failed.")}finally{_(!1)}}},[d,r,u]),T=a.useCallback(async(e,t)=>{if(!s)return;const n=s.hot[e];c(o=>o&&{...o,hot:{...o.hot,[e]:t}}),l(!0);try{await C.patch("/api/dashboard/settings",{[e]:t})}catch(o){throw c(h=>h&&{...h,hot:{...h.hot,[e]:n}}),o}finally{l(!1)}},[s]),B=a.useCallback(async e=>{if(!s)return;const t=s.dashboard;c(n=>n&&{...n,dashboard:{...n.dashboard,...e}}),l(!0);try{const n=await C.patch("/api/dashboard/preferences",e);c(n)}catch(n){throw c(o=>o&&{...o,dashboard:t}),n}finally{l(!1)}},[s]);return{settings:s,license:y,saving:S,licenseControlsDisabled:r,licenseSubmitting:L,licenseMessage:f,activateLicense:H,refreshLicense:R,resetLicense:w,updateHotSetting:T,updateDashboardPreferences:B,loading:j}}export{pn as s,Cn as u};
|
|
@@ -5,7 +5,7 @@
|
|
|
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-
|
|
8
|
+
<script type="module" crossorigin src="/dashboard/assets/index-Dryjq9a5.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/dashboard/assets/index-VXvX8jPK.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|