| 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-Wixdakxn.js";import{c as o,f as s,i as c}from"./chunk-62JRHF6Z-B7-_tDz8.js";import{t as l}from"./useQuery-DkJQ4hAK.js";import{a as u,t as d}from"./CameraWall-DQWH0EjZ.js";import{n as f}from"./AuthContext-CtlY1WKC.js";import{t as p}from"./index-DvOZfyJ0.js";var m=e(i(),1),h=a(),g=5e3,_=4,v=8,y=1,b=16,x=2,S=60;function C(e,t,n,r){let i=parseInt(e??``,10);return Number.isFinite(i)?Math.min(r,Math.max(n,i)):t}function w(e,t,n,r,i,a){return e.has(t)?C(e.get(t),r,i,a):C(localStorage.getItem(n),r,i,a)}function T(e){let t=e.get(`size`)?.toLowerCase(),n=u.indexOf(t);if(n>=0)return n+1;let r=parseInt(localStorage.getItem(`camWallTileSize`)??``,10);return r>=1&&r<=4?r:2}function E(){let{t:e}=t(),i=o(),{authEnabled:a,loading:u,user:C,authUnconfirmed:E}=f(),[D]=s(),O=D.get(`token`),k=O!=null&&O!==``,[A,j]=(0,m.useState)(()=>w(D,`maxLive`,`camWallMaxLive`,_,y,b)),[M,N]=(0,m.useState)(()=>w(D,`interval`,`camWallSnapshotSec`,v,x,S)),[P]=(0,m.useState)(()=>T(D)),[F,I]=(0,m.useState)(()=>{let e=D.get(`status`)??localStorage.getItem(`camWallStatusMode`);return(k?[`off`,`compact`]:[`off`,`compact`,`full`]).includes(e)?e:`compact`});(0,m.useEffect)(()=>{if(k)return r(O),()=>r(null)},[k,O]);let L=l({queryKey:[`camwall-printers`,O],queryFn:()=>n.getCamWallPrinters(O??void 0),enabled:k,refetchInterval:g}),R=l({queryKey:[`printers`],queryFn:()=>n.getPrinters(),enabled:!k&&!u&&(!a||C!==null),refetchInterval:g}),z=(0,m.useMemo)(()=>{let e=new Map;for(let t of L.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},[L.data]);if(!k&&u)return(0,h.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bambu-dark text-bambu-gray`,children:e(`common.loading`)});if(!k&&E)return(0,h.jsx)(p,{});if(!k&&a&&!C)return(0,h.jsx)(c,{to:`/login`,replace:!0,state:{from:i}});let B=k?L:R,V=k?L.data??[]:R.data??[];return B.isError?(0,h.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bambu-dark p-6 text-center`,children:(0,h.jsx)(`p`,{className:`max-w-md text-sm text-red-400`,children:e(k?`printers.camWall.page.tokenRejected`:`printers.camWall.page.loadFailed`)})}):(0,h.jsx)(`div`,{className:`min-h-screen bg-bambu-dark p-4`,children:(0,h.jsx)(d,{printers:V,maxLive:A,snapshotIntervalSec:M,statusMode:F,tileSize:P,statuses:k?z:void 0,showSettings:!k,onTileClick:k?void 0:e=>window.open(`/camera/${e}`,`camera-${e}`),onChangeMaxLive:e=>{j(e),localStorage.setItem(`camWallMaxLive`,String(e))},onChangeSnapshotIntervalSec:e=>{N(e),localStorage.setItem(`camWallSnapshotSec`,String(e))},onChangeStatusMode:e=>{I(e),localStorage.setItem(`camWallStatusMode`,e)}})})}export{E as CamWallPage,E as default};
|