| 12 |
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/EmbeddedCameraViewer-DZln3y9W.js","assets/rolldown-runtime-aKtaBQYM.js","assets/client-Bw3urp1w.js","assets/QueryClientProvider-C3eWKLmF.js","assets/useQuery-BTfjV-1Z.js","assets/useMutation-CGk77Rd2.js","assets/ToastContext-lCIPyrWa.js","assets/info-U9JJZHLV.js","assets/loader-circle-C0WA8zwT.js","assets/x-D4CM9tS6.js","assets/file-DDkFXH-b.js","assets/external-link-DWED1Z2k.js","assets/grip-vertical-um11ds70.js","assets/maximize-2-D74_RMPS.js","assets/minimize-2-CdwtlBnW.js","assets/CameraDiagnoseModal-DMpI5Ekl.js","assets/circle-check-BWkaDckV.js","assets/circle-minus-C2rRKF7J.js","assets/stethoscope-BztTEC99.js","assets/refresh-cw-LKkW6pKU.js","assets/triangle-alert-DxTC_wVZ.js","assets/wifi-off-D6dF-fHp.js","assets/zoom-out-BXGqeLrP.js","assets/AuthContext-DQrtirY_.js","assets/camera-MsEzBYBi.js","assets/useIsSidebarCompact-IHCLqMmt.js","assets/SkipObjectsModal-BxJyX99D.js","assets/box-DWj8L42u.js","assets/square-check-big-C78V48Oa.js","assets/square-BTOA7FGQ.js","assets/ConfirmModal-fFY-Pxek.js","assets/Card-CjvOwXIN.js","assets/Button-B9_qjR81.js","assets/useCameraViewerId-NmdxxoRl.js","assets/useSidewaysBox-CLOyCxhJ.js"])))=>i.map(i=>d[i]);
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,k as n,w as r}from"./client-Bw3urp1w.js";import{t as i}from"./preload-helper-Czpn1I53.js";import{c as a}from"./chunk-62JRHF6Z-BW23DMlx.js";import{n as o}from"./QueryClientProvider-C3eWKLmF.js";import{t as s}from"./useQuery-BTfjV-1Z.js";import{a as c}from"./info-U9JJZHLV.js";import{n as l}from"./AuthContext-DQrtirY_.js";import{n as u,o as d}from"./camera-MsEzBYBi.js";var f=e(n(),1),p=`bambuddy_chunk_reload_at`,m=1e4,h=3e3,g=!1;function _(){if(g)return!0;try{let e=Number(window.sessionStorage.getItem(p));if(e&&Date.now()-e<m)return!1;window.sessionStorage.setItem(p,String(Date.now()))}catch{return!1}return g=!0,window.location.reload(),!0}async function v(){try{return(await fetch(`/health`,{cache:`no-store`,redirect:`manual`})).status<500}catch{return!1}}async function y(){for(;!await v();)await new Promise(e=>setTimeout(e,h));return _()}function b(e,t){return(0,f.lazy)(async()=>{try{return{default:(await e())[t]}}catch(e){if(await y())return new Promise(()=>{});throw e}})}var x=r(),S=`openEmbeddedCameras`,C=(0,f.lazy)(async()=>{try{return{default:(await i(()=>import(`./EmbeddedCameraViewer-DZln3y9W.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]))).EmbeddedCameraViewer}}catch(e){return await y()?new Promise(()=>{}):(console.error(`Could not load the camera overlay:`,e),{default:()=>null})}}),w=(0,f.createContext)(void 0);function T(){try{let e=localStorage.getItem(S);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>e&&Number.isInteger(e.id)&&e.id>0).map(e=>({id:e.id,name:String(e.name??``),scope:e.scope===`printers`?`printers`:`app`}))}}catch{}return[]}function E(e){try{let t=e(T());t.length>0?localStorage.setItem(S,JSON.stringify(t)):localStorage.removeItem(S)}catch{}}function D({children:e}){let{hasPermission:n}=l(),r=n(`camera:view`)&&n(`printers:read`),[i,c]=(0,f.useState)(()=>new Map(T().map(e=>[e.id,e]))),p=(0,f.useCallback)((e,t,n)=>{let r=r=>r?{...r,scope:r.scope===`app`||n===`app`?`app`:`printers`}:{id:e,name:t,scope:n};c(t=>{let n=r(t.get(e)),i=t.get(e);return i&&i.scope===n.scope?t:new Map(t).set(e,n)}),E(i=>i.some(t=>t.id===e)?i.map(t=>t.id===e?r(t):t):[...i,{id:e,name:t,scope:n}])},[]),m=(0,f.useCallback)(e=>{c(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n}),E(t=>t.filter(t=>t.id!==e))},[]),h=o(),[g]=(0,f.useState)(()=>Date.now()),{data:_,dataUpdatedAt:v,isSuccess:y,isError:b}=s({queryKey:[`printers`],queryFn:t.getPrinters,enabled:r&&i.size>0,staleTime:0,refetchOnWindowFocus:!1}),S=y&&v>=g,D=S||b;(0,f.useEffect)(()=>{if(!S||!_)return;let e=new Set(_.map(e=>e.id));Array.from(i.keys()).filter(t=>!e.has(t)).forEach(m)},[S,_,i,m]),(0,f.useEffect)(()=>r?u(d(),(e,t)=>p(e,t,`app`),async e=>(await h.fetchQuery({queryKey:[`printers`],queryFn:t.getPrinters,staleTime:0})).some(t=>t.id===e)):void 0,[r,p,h]);let O=(0,f.useMemo)(()=>Array.from(i.values()),[i]),k=a().pathname===`/`,A=(0,f.useMemo)(()=>O.filter(e=>e.scope===`app`||k),[O,k]),j=(0,f.useMemo)(()=>({openCameras:O,openEmbeddedCamera:p,closeEmbeddedCamera:m}),[O,p,m]);return(0,x.jsxs)(w.Provider,{value:j,children:[e,r&&D&&A.length>0&&(0,x.jsx)(f.Suspense,{fallback:null,children:A.map((e,t)=>(0,x.jsx)(C,{printerId:e.id,printerName:e.name,viewerIndex:t,onClose:()=>m(e.id)},e.id))})]})}function O(){let e=(0,f.useContext)(w);if(!e)throw Error(`useEmbeddedCameras must be used inside EmbeddedCameraProvider`);return e}function k({summary:e,children:t,defaultOpen:n=!1,className:r=``,summaryClassName:i=``,open:a,onToggle:o}){let[s,l]=(0,f.useState)(n),u=a!==void 0,d=u?a:s,p=()=>{let e=!d;u||l(e),o?.(e)};return(0,x.jsxs)(`div`,{className:r,children:[(0,x.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:p,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())},className:`w-full flex items-center justify-between gap-2 text-left cursor-pointer ${i}`,"aria-expanded":d,children:[(0,x.jsx)(`div`,{className:`flex-1 min-w-0`,children:e}),(0,x.jsx)(c,{className:`w-4 h-4 text-bambu-gray flex-shrink-0 transition-transform ${d?`rotate-180`:``}`})]}),d&&(0,x.jsx)(`div`,{className:`mt-3`,children:t})]})}var A=[`no_camera_frame`,`decode_failed`,`analysis_error`,`opencv_missing`,`not_calibrated`];function j(e,t){return e(`printers.plateDetection.unavailableReasons.${A.includes(t??``)?t:`error`}`)}export{b as a,O as i,k as n,y as o,D as r,j as t};
|