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