| 1 |
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{T as t,a as n,g as r,k as i,w as a}from"./client-Bol9xAus.js";import{c as o,f as s,i as c,l}from"./chunk-62JRHF6Z-KKqrVMYU.js";import{t as u}from"./useQuery-VntlVx44.js";import{n as d,r as f,s as p,t as m}from"./camWallControls-C-CB8l0g.js";import{n as h}from"./AuthContext-D0GViS03.js";import{t as g}from"./camera-MsEzBYBi.js";import{n as _}from"./useUiSettings-hktWVJHa.js";import{t as v}from"./index-13kgnbdY.js";var y=e(i(),1),b=a(),x=5e3,S=4,C=8,w=1,T=16,E=2,D=60;function O(e,t,n,r){let i=parseInt(e??``,10);return Number.isFinite(i)?Math.min(r,Math.max(n,i)):t}function k(e,t,n,r,i,a){return e.has(t)?O(e.get(t),r,i,a):O(localStorage.getItem(n),r,i,a)}function A(e){let t=e.get(`size`)?.toLowerCase(),n=p.indexOf(t);if(n>=0)return n+1;let r=parseInt(localStorage.getItem(`camWallTileSize`)??``,10);return r>=1&&r<=4?r:2}function j(){let{t:e}=t(),i=o(),a=l(),{authEnabled:p,loading:O,user:j,authUnconfirmed:M}=h(),[N]=s(),P=N.get(`token`),F=P!=null&&P!==``,[I,L]=(0,y.useState)(()=>k(N,`maxLive`,`camWallMaxLive`,S,w,T)),[R,z]=(0,y.useState)(()=>k(N,`interval`,`camWallSnapshotSec`,C,E,D)),[B]=(0,y.useState)(()=>A(N)),[V,H]=(0,y.useState)(d),[U,W]=(0,y.useState)(()=>{let e=N.get(`status`)??localStorage.getItem(`camWallStatusMode`);return(F?[`off`,`compact`]:[`off`,`compact`,`full`]).includes(e)?e:`compact`});(0,y.useEffect)(()=>{if(F)return r(P),()=>r(null)},[F,P]);let G=u({queryKey:[`camwall-printers`,P],queryFn:()=>n.getCamWallPrinters(P??void 0),enabled:F,refetchInterval:x}),K=u({queryKey:[`printers`],queryFn:()=>n.getPrinters(),enabled:!F&&!O&&(!p||j!==null),refetchInterval:x}),{data:q}=_({enabled:!F&&!O&&(!p||j!==null)}),J=(0,y.useMemo)(()=>{let e=new Map;for(let t of G.data??[])e.set(t.id,{connected:t.connected,state:t.state,progress:t.progress,remaining_time:t.remaining_time,layer_num:t.layer_num,total_layers:t.total_layers,hms_errors:t.hms_errors});return e},[G.data]);if(!F&&O)return(0,b.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bambu-dark text-bambu-gray`,children:e(`common.loading`)});if(!F&&M)return(0,b.jsx)(v,{});if(!F&&p&&!j)return(0,b.jsx)(c,{to:`/login`,replace:!0,state:{from:i}});let Y=F?G:K,X=F?G.data??[]:K.data??[];return Y.isError?(0,b.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bambu-dark p-6 text-center`,children:(0,b.jsx)(`p`,{className:`max-w-md text-sm text-red-400`,children:e(F?`printers.camWall.page.tokenRejected`:`printers.camWall.page.loadFailed`)})}):(0,b.jsx)(`div`,{className:`min-h-screen bg-bambu-dark p-4`,children:(0,b.jsx)(f,{printers:X,maxLive:I,snapshotIntervalSec:R,statusMode:U,tileSize:B,statuses:F?J:void 0,showSettings:!F,showControls:!F,controlsMode:V,onChangeControlsMode:e=>{H(e),m(e)},timeFormat:q?.time_format||`system`,onTileClick:F?void 0:e=>g()?a(`/camera/${e}`):window.open(`/camera/${e}`,`camera-${e}`),onChangeMaxLive:e=>{L(e),localStorage.setItem(`camWallMaxLive`,String(e))},onChangeSnapshotIntervalSec:e=>{z(e),localStorage.setItem(`camWallSnapshotSec`,String(e))},onChangeStatusMode:e=>{W(e),localStorage.setItem(`camWallStatusMode`,e)}})})}export{j as CamWallPage,j as default};
|