import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{$ as o,B as s,D as c,I as l,L as u,R as d,T as f,X as p,Y as m,Z as h,_ as g,b as _,bt as v,g as y,ht as b,it as x,pt as S,r as C,w,x as T,y as E}from"./abfragen-pD_qBEtc.js";import{t as D}from"./chevron-right-DF8ikrVh.js";import{n as O,t as k}from"./undo-2-B8COJmAr.js";import{t as A}from"./button-BHVKhtQ6.js";import{$ as j,A as M,B as N,D as P,E as F,H as I,J as L,L as R,O as z,Q as B,V,X as H,Y as U,Z as W,at as G,ct as K,dt as q,et as ee,ft as te,ht as ne,it as re,j as ie,k as ae,m as oe,mt as se,n as ce,nt as le,ot as ue,p as J,pt as de,r as Y,rt as fe,s as pe,t as me,tt as he}from"./index-Bumw6krN.js";import{n as ge,r as _e,t as ve}from"./Lagekopf-DUjslgBy.js";var ye={name:`circle-dashed`,size:24,node:[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]};ye.node;var be=r(ye),xe={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};xe.node;var Se=r(xe),Ce={name:`skip-forward`,size:24,node:[[`path`,{d:`M21 4v16`,key:`7j8fe9`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`,key:`zs4d6`}]]};Ce.node;var we=r(Ce),X=i(),Z=n(),Te={neu:{text:`Update verfügbar`,klasse:`text-cyan-text`},lokal:{text:`lokal gebaut`,klasse:`text-text-3`},aktuell:{text:`aktuell`,klasse:`text-text-3`},unbekannt:{text:`Update-Stand unklar`,klasse:`text-bernstein`}};function Ee(e){return e.zustand===`restarting`||e.gesund===!1?`rot`:e.zustand===`running`?`ok`:`aus`}function De(e){return e.gesund===!1?`ungesund`:e.zustand===`restarting`?`startet immer wieder neu`:e.zustand===`running`?e.gesund?`läuft, gesund`:`läuft`:e.zustand===`exited`?`beendet`:e.zustand===`paused`?`angehalten`:e.zustand}var Oe=e=>(e??``).split(`/`).at(-1)?.split(`:`)[0]??``;function ke(e){let t=e.luecken;return!t||!t.kritisch&&!t.hoch?null:`${[t.kritisch?`${t.kritisch} kritische`:null,t.hoch?`${t.hoch} hohe`:null].filter(Boolean).join(`, `)} Lücken`}function Ae(e){let t=(0,X.c)(42),{c:n}=e,r=Te[n.update]??Te.unbekannt,i;t[0]===n?i=t[1]:(i=ke(n),t[0]=n,t[1]=i);let o=i,s;t[2]!==n.dienst||t[3]!==n.image?(s=N({art:`container`,name:n.dienst??Oe(n.image)}),t[2]=n.dienst,t[3]=n.image,t[4]=s):s=t[4];let c;t[5]===n?c=t[6]:(c=Ee(n),t[5]=n,t[6]=c);let l;t[7]!==s||t[8]!==c?(l=(0,Z.jsx)(R,{bild:s,groesse:`sm`,punkt:c}),t[7]=s,t[8]=c,t[9]=l):l=t[9];let u;t[10]===n.name?u=t[11]:(u=(0,Z.jsx)(`span`,{className:`truncate text-[14.5px] font-medium`,children:n.name}),t[10]=n.name,t[11]=u);let d;t[12]===n.image?d=t[13]:(d=(0,Z.jsx)(`span`,{className:`truncate text-[12.5px] text-text-3`,children:n.image}),t[12]=n.image,t[13]=d);let f;t[14]!==n.luecken?.kritisch||t[15]!==o?(f=o&&(0,Z.jsx)(`span`,{className:a(`truncate text-[12.5px]`,n.luecken?.kritisch?`text-rot-text`:`text-bernstein`),children:o}),t[14]=n.luecken?.kritisch,t[15]=o,t[16]=f):f=t[16];let p;t[17]!==u||t[18]!==d||t[19]!==f?(p=(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[u,d,f]}),t[17]=u,t[18]=d,t[19]=f,t[20]=p):p=t[20];let m;t[21]===n?m=t[22]:(m=Ee(n)===`rot`?`text-rot-text`:`text-text-2`,t[21]=n,t[22]=m);let h;t[23]===m?h=t[24]:(h=a(`text-[13px]`,m),t[23]=m,t[24]=h);let g;t[25]===n?g=t[26]:(g=De(n),t[25]=n,t[26]=g);let _;t[27]!==h||t[28]!==g?(_=(0,Z.jsx)(`span`,{className:h,children:g}),t[27]=h,t[28]=g,t[29]=_):_=t[29];let v;t[30]===r.klasse?v=t[31]:(v=a(`text-[12px]`,r.klasse),t[30]=r.klasse,t[31]=v);let y;t[32]!==v||t[33]!==r.text?(y=(0,Z.jsx)(`span`,{className:v,children:r.text}),t[32]=v,t[33]=r.text,t[34]=y):y=t[34];let b;t[35]!==_||t[36]!==y?(b=(0,Z.jsxs)(`span`,{className:`flex shrink-0 flex-col items-end text-right`,children:[_,y]}),t[35]=_,t[36]=y,t[37]=b):b=t[37];let x;return t[38]!==b||t[39]!==l||t[40]!==p?(x=(0,Z.jsxs)(`li`,{className:`flex min-w-0 items-center gap-3 border-t border-white/[0.06] py-2.5 first:border-t-0`,children:[l,p,b]}),t[38]=b,t[39]=l,t[40]=p,t[41]=x):x=t[41],x}function je(e){let t=(0,X.c)(4),{lage:n}=e;if(!n.verfuegbar||n.stacks.length===0)return null;let r;t[0]===n.stacks?r=t[1]:(r=n.stacks.map(Me),t[0]=n.stacks,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Z.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-3`,children:r}),t[2]=r,t[3]=i),i}function Me(e){let t=e.container.filter(Fe).length,n=e.container.filter(Pe).length;return(0,Z.jsxs)(`section`,{"aria-label":`Stack ${e.name}`,className:`flaeche-innen flex min-w-0 flex-col rounded-2xl px-4 py-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 pb-1`,children:[(0,Z.jsx)(`h3`,{className:`m-0 truncate text-[15px] font-semibold`,children:e.name}),(0,Z.jsxs)(`span`,{className:`shrink-0 text-[12.5px] text-text-3`,children:[t,` von `,e.container.length,` laufen`,n?` · ${n} mit Update`:``]})]}),(0,Z.jsx)(`ul`,{className:`m-0 list-none p-0`,children:e.container.map(Ne)})]},e.name)}function Ne(e){return(0,Z.jsx)(Ae,{c:e},e.id)}function Pe(e){return e.update===`neu`}function Fe(e){return e.zustand===`running`}var Ie=`md:grid-cols-[minmax(0,1.35fr)_110px_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1fr)_90px]`,Le=e=>(e/1e9).toFixed(1).replace(`.`,`,`);function Re(e){let t=(0,X.c)(20),{wert:n,gelb:r,rot:i,zusatz:o,unter:s}=e;if(n==null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let c=n>=i?`var(--rot)`:n>=r?`var(--bernstein)`:`color-mix(in srgb, var(--lab) 80%, transparent)`,l=n>=i?`text-rot-text`:n>=r?`text-bernstein`:`text-text-2`,u;t[1]===l?u=t[2]:(u=a(`ziffern text-sm`,l),t[1]=l,t[2]=u);let d;t[3]===n?d=t[4]:(d=Math.round(n),t[3]=n,t[4]=d);let f;t[5]===o?f=t[6]:(f=o&&(0,Z.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,o]}),t[5]=o,t[6]=f);let p;t[7]!==u||t[8]!==d||t[9]!==f?(p=(0,Z.jsxs)(`span`,{className:u,children:[d,` %`,f]}),t[7]=u,t[8]=d,t[9]=f,t[10]=p):p=t[10];let m=`${Math.min(100,Math.max(2,n))}%`,h;t[11]!==c||t[12]!==m?(h=(0,Z.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:m,background:c}})}),t[11]=c,t[12]=m,t[13]=h):h=t[13];let g;t[14]===s?g=t[15]:(g=s&&(0,Z.jsx)(`span`,{className:a(`text-xs`,F[s.stufe]),children:s.text}),t[14]=s,t[15]=g);let _;return t[16]!==p||t[17]!==h||t[18]!==g?(_=(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1.5`,children:[p,h,g]}),t[16]=p,t[17]=h,t[18]=g,t[19]=_):_=t[19],_}function ze(e){if(e.erreichbar===!1)return 0;let t=le(e);return t!==null&&t>=.8?1:e.art===`proxmox-host`?2:3}function Be(e){let t=(0,X.c)(4),{ziele:n,messwerte:r}=e,i;if(t[0]!==r||t[1]!==n){let e=new Map((r??[]).map(Ue)),o=new Map((r??[]).map(He)),s=[...n].sort(Ve),c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Ie),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Netz`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`})]}),t[3]=c):c=t[3],i=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Zustand der Geräte`,className:`flex flex-col`,children:[c,s.map(t=>{let n=e.get(t.id),r=n?.platte??(le(t)===null?null:le(t)*100),i=n?.ram_used&&n.ram_total?`${Le(n.ram_used)} / ${Le(n.ram_total)} GB`:void 0;return(0,Z.jsxs)(`div`,{id:`geraet-${t.id}`,role:`row`,className:a(`grid scroll-mt-24 grid-cols-2 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3 md:items-center`,Ie),children:[(0,Z.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-3 md:col-span-1`,children:[(0,Z.jsx)(R,{bild:N(t),groesse:`sm`,punkt:t.erreichbar===!1?`rot`:t.erreichbar?`ok`:null}),(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(se,{to:`/homelab/monitoring`,hash:t.id,className:`text-[15px] font-semibold break-words hover:text-lab-text`,children:t.name}),(0,Z.jsxs)(`span`,{className:`flex flex-wrap gap-x-2 text-[13px] text-text-3`,children:[U(t)!==t.name&&(0,Z.jsx)(`span`,{children:U(t)}),(0,Z.jsx)(se,{to:`/homelab/protokoll`,hash:t.id,className:`text-lab-text hover:underline`,children:`Zeitleiste`})]})]})]}),(0,Z.jsxs)(`span`,{role:`cell`,className:a(`flex items-center gap-1.5 text-[13px]`,t.erreichbar===!1?`text-rot-text`:`text-text-3`),children:[t.erreichbar!==null&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:a(`size-1.5 rounded-full`,t.erreichbar?`bg-gruen`:`bg-rot`)}),t.erreichbar===null?`–`:t.erreichbar?`erreichbar`:`antwortet nicht`]}),(0,Z.jsxs)(`span`,{role:`cell`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`CPU `}),(0,Z.jsx)(Re,{wert:n?.cpu,gelb:85,rot:95})]}),(0,Z.jsxs)(`span`,{role:`cell`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Speicher `}),(0,Z.jsx)(Re,{wert:n?.ram,gelb:85,rot:95,zusatz:i})]}),(0,Z.jsxs)(`span`,{role:`cell`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Platte `}),(0,Z.jsx)(Re,{wert:r,gelb:80,rot:90,unter:P(o.get(t.id))})]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2`,children:[(0,Z.jsx)(`span`,{className:`font-sans text-xs text-text-3 md:hidden`,children:`Läuft seit `}),ie(n?.uptime_s)]})]},t.id)})]}),t[0]=r,t[1]=n,t[2]=i}else i=t[2];return i}function Ve(e,t){return ze(e)-ze(t)}function He(e){return[e.id,e.prognose?.platte]}function Ue(e){return[e.id,e.aktuell]}function We(e){let t=(0,X.c)(15),{lage:n,ziele:r,imUpdate:i,onAnsehen:a,onGeraet:o}=e,s=n.art,c=n.oben,l=n.mitte,u=n.unten,d=n.ziel!==null,f;if(t[0]!==i||t[1]!==o||t[2]!==r){let e;t[4]!==i||t[5]!==o?(e=e=>{let t=j(e,i.has(e.id)),n=H(e.kennzahl);return(0,Z.jsx)(ve,{bild:N(e),name:W(e),wert:t.wert,zustand:t.zustand,zahl:n?{text:n,stufe:e.kennzahl?.stufe}:null,onClick:()=>o(e,t.zustand===`info`)},e.id)},t[4]=i,t[5]=o,t[6]=e):e=t[6],f=r.map(e),t[0]=i,t[1]=o,t[2]=r,t[3]=f}else f=t[3];let p;return t[7]!==n.art||t[8]!==n.mitte||t[9]!==n.oben||t[10]!==n.unten||t[11]!==a||t[12]!==d||t[13]!==f?(p=(0,Z.jsx)(ge,{art:s,oben:c,mitte:l,unten:u,aktiv:d,onAnsehen:a,label:`Lage im Homelab`,children:f}),t[7]=n.art,t[8]=n.mitte,t[9]=n.oben,t[10]=n.unten,t[11]=a,t[12]=d,t[13]=f,t[14]=p):p=t[14],p}var Q=t(e(),1),Ge={skript:`Updates über das Community-Script`,"eigene-oberflaeche":`Updates über die eigene Oberfläche der App`,pakete:`Updates über die Pakete im Gast`};function Ke(e){let t=(0,X.c)(60),{g:n,gesperrt:r,onWahl:i}=e,a=n.app?.kennung??n.hostname??n.name,o;t[0]!==n.art||t[1]!==a?(o=N({art:n.art,name:a}),t[0]=n.art,t[1]=a,t[2]=o):o=t[2];let s=o,c=n.app?`${n.app.name}${n.app.quelle?` (GitHub ${n.app.quelle})`:``}`:`App unbekannt`,l=n.app?Ge[n.app.weg]??n.app.weg:null,u=n.app?.adresse?`Weboberfläche ${n.app.adresse} wird geprüft`:n.app?`Weboberfläche nicht gefunden, keine Webprüfung`:null,d;t[3]!==c||t[4]!==l||t[5]!==u?(d=[c,l,u].filter(Boolean),t[3]=c,t[4]=l,t[5]=u,t[6]=d):d=t[6];let f=d,p=n.status===`running`?`ok`:`aus`,m;t[7]!==s||t[8]!==p?(m=(0,Z.jsx)(R,{bild:s,groesse:`md`,punkt:p}),t[7]=s,t[8]=p,t[9]=m):m=t[9];let h;t[10]===n.name?h=t[11]:(h=(0,Z.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[10]=n.name,t[11]=h);let g=n.art===`container`?`Container`:`VM`,_=n.hostname&&n.hostname!==n.name?` · „${n.hostname}“`:``,v;t[12]===n.erstmals?v=t[13]:(v=n.erstmals?` · entdeckt ${b(new Date(n.erstmals*1e3).toISOString()).toLowerCase()}`:``,t[12]=n.erstmals,t[13]=v);let y;t[14]!==n.vmid||t[15]!==g||t[16]!==_||t[17]!==v?(y=(0,Z.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[g,` `,n.vmid,_,v]}),t[14]=n.vmid,t[15]=g,t[16]=_,t[17]=v,t[18]=y):y=t[18];let x;t[19]!==y||t[20]!==h?(x=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[h,y]}),t[19]=y,t[20]=h,t[21]=x):x=t[21];let S;t[22]!==x||t[23]!==m?(S=(0,Z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[m,x]}),t[22]=x,t[23]=m,t[24]=S):S=t[24];let C;t[25]===f?C=t[26]:(C=f.map(qe),t[25]=f,t[26]=C);let w;t[27]!==n.community_script||t[28]!==n.freigegeben?(w=n.freigegeben&&(0,Z.jsxs)(`li`,{children:[`Schon freigegeben (Etikett `,n.community_script?`community-script`:`watcher`,`).`]}),t[27]=n.community_script,t[28]=n.freigegeben,t[29]=w):w=t[29];let T;t[30]===n.ohne_sicherung?T=t[31]:(T=n.ohne_sicherung&&(0,Z.jsx)(`li`,{className:`text-bernstein`,children:`In keinem Sicherungsauftrag — in Proxmox: Rechenzentrum → Backup → den Auftrag bearbeiten.`}),t[30]=n.ohne_sicherung,t[31]=T);let E;t[32]!==C||t[33]!==w||t[34]!==T?(E=(0,Z.jsxs)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 text-sm text-text-2`,children:[C,w,T]}),t[32]=C,t[33]=w,t[34]=T,t[35]=E):E=t[35];let D;t[36]!==n.ausgeschlossen||t[37]!==n.freigegeben||t[38]!==r||t[39]!==i?(D=!n.freigegeben&&!n.ausgeschlossen&&(0,Z.jsx)(A,{size:`sm`,disabled:r,onClick:()=>i(`freigeben`),children:`Für Updates freigeben`}),t[36]=n.ausgeschlossen,t[37]=n.freigegeben,t[38]=r,t[39]=i,t[40]=D):D=t[40];let O=n.freigegeben?`default`:`outline`,k;t[41]===i?k=t[42]:(k=()=>i(`beobachten`),t[41]=i,t[42]=k);let j=n.freigegeben?`Übernehmen`:`Nur beobachten`,M;t[43]!==r||t[44]!==O||t[45]!==k||t[46]!==j?(M=(0,Z.jsx)(A,{variant:O,size:`sm`,disabled:r,onClick:k,children:j}),t[43]=r,t[44]=O,t[45]=k,t[46]=j,t[47]=M):M=t[47];let P;t[48]!==n.ausgeschlossen||t[49]!==r||t[50]!==i?(P=!n.ausgeschlossen&&(0,Z.jsx)(A,{variant:`ghost`,size:`sm`,disabled:r,onClick:()=>i(`ausschliessen`),children:`Nicht anfassen`}),t[48]=n.ausgeschlossen,t[49]=r,t[50]=i,t[51]=P):P=t[51];let F;t[52]!==D||t[53]!==M||t[54]!==P?(F=(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[D,M,P]}),t[52]=D,t[53]=M,t[54]=P,t[55]=F):F=t[55];let I;return t[56]!==S||t[57]!==E||t[58]!==F?(I=(0,Z.jsxs)(`li`,{className:`flaeche-innen flex flex-col gap-3 rounded-2xl p-4`,children:[S,E,F]}),t[56]=S,t[57]=E,t[58]=F,t[59]=I):I=t[59],I}function qe(e){return(0,Z.jsx)(`li`,{children:e},e)}var Je={freigeben:{titel:`Für Updates freigeben?`,text:`Der Orchestrator setzt in Proxmox das Etikett „watcher“. Danach darf er dort Snapshots anlegen und Updates einspielen — immer erst nach deinem Klick, mit Snapshot vorher und Rückweg bei Rot.`,knopf:`Freigeben`},beobachten:{titel:`Nur beobachten?`,text:``,knopf:`Übernehmen`},ausschliessen:{titel:`Nicht anfassen?`,text:`Der Orchestrator setzt in Proxmox das Etikett „watcher-aus“ und lässt das Gerät dann auch bei „Alle aktualisieren“ aus.`,knopf:`Nicht anfassen`}};function Ye(e){let t=(0,X.c)(29),{s:n,gesperrt:r,onWahl:i}=e,a;t[0]===n.name?a=t[1]:(a=N({art:`container`,name:n.name}),t[0]=n.name,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,Z.jsx)(R,{bild:a,groesse:`md`,punkt:`ok`}),t[2]=a,t[3]=o);let s;t[4]===n.name?s=t[5]:(s=(0,Z.jsxs)(`span`,{className:`text-[15px] font-semibold break-words`,children:[`Docker-Stack `,n.name]}),t[4]=n.name,t[5]=s);let c;t[6]===n.erstmals?c=t[7]:(c=n.erstmals?` · entdeckt ${b(new Date(n.erstmals*1e3).toISOString()).toLowerCase()}`:``,t[6]=n.erstmals,t[7]=c);let l;t[8]===c?l=t[9]:(l=(0,Z.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[`unter Arcane`,c]}),t[8]=c,t[9]=l);let u;t[10]!==s||t[11]!==l?(u=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[s,l]}),t[10]=s,t[11]=l,t[12]=u):u=t[12];let d;t[13]!==o||t[14]!==u?(d=(0,Z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[o,u]}),t[13]=o,t[14]=u,t[15]=d):d=t[15];let f;t[16]===n.container?f=t[17]:(f=n.container.join(`, `)||`–`,t[16]=n.container,t[17]=f);let p;t[18]===f?p=t[19]:(p=(0,Z.jsxs)(`p`,{className:`m-0 text-sm break-words text-text-2`,children:[`Container: `,f]}),t[18]=f,t[19]=p);let m;t[20]===i?m=t[21]:(m=()=>i(`beobachten`),t[20]=i,t[21]=m);let h;t[22]!==r||t[23]!==m?(h=(0,Z.jsx)(A,{size:`sm`,className:`self-start`,disabled:r,onClick:m,children:`Übernehmen`}),t[22]=r,t[23]=m,t[24]=h):h=t[24];let g;return t[25]!==h||t[26]!==d||t[27]!==p?(g=(0,Z.jsxs)(`li`,{className:`flaeche-innen flex flex-col gap-3 rounded-2xl p-4`,children:[d,p,h]}),t[25]=h,t[26]=d,t[27]=p,t[28]=g):g=t[28],g}function Xe(e){let t=(0,X.c)(38),{geraete:n,stacks:r,gesperrt:i,onWahl:o}=e,s;t[0]===r?s=t[1]:(s=r===void 0?[]:r,t[0]=r,t[1]=s);let c=s,[l,u]=(0,Q.useState)(null),d=n.length+c.length;if(d===0)return null;let f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=a(`-mt-2 text-[15px] text-text-2`),t[2]=f):f=t[2];let p=d===1?`Eins kennt`:`${d} kennt`,m=d===1?` es`:` sie`,h;t[3]!==p||t[4]!==m?(h=(0,Z.jsxs)(`p`,{className:f,children:[p,` der Orchestrator noch nicht. Entscheide, ob er`,m,` nur beobachtet oder auch aktualisieren darf.`]}),t[3]=p,t[4]=m,t[5]=h):h=t[5];let g;if(t[6]!==n||t[7]!==i||t[8]!==o){let e;t[10]!==i||t[11]!==o?(e=e=>(0,Z.jsx)(Ke,{g:e,gesperrt:i,onWahl:t=>t===`beobachten`?o(e.id,t):u({g:e,wahl:t})},e.id),t[10]=i,t[11]=o,t[12]=e):e=t[12],g=n.map(e),t[6]=n,t[7]=i,t[8]=o,t[9]=g}else g=t[9];let _;if(t[13]!==i||t[14]!==o||t[15]!==c){let e;t[17]!==i||t[18]!==o?(e=e=>(0,Z.jsx)(Ye,{s:e,gesperrt:i,onWahl:t=>o(e.id,t)},e.id),t[17]=i,t[18]=o,t[19]=e):e=t[19],_=c.map(e),t[13]=i,t[14]=o,t[15]=c,t[16]=_}else _=t[16];let v;t[20]!==g||t[21]!==_?(v=(0,Z.jsxs)(`ul`,{className:`m-0 grid list-none gap-3 p-0 md:grid-cols-2`,children:[g,_]}),t[20]=g,t[21]=_,t[22]=v):v=t[22];let y=!!l,b=l?`${l.g.name}: ${Je[l.wahl].titel}`:``,x=l?Je[l.wahl].text:``,S=l?Je[l.wahl].knopf:``,C;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>u(null),t[23]=C):C=t[23];let w;t[24]!==l||t[25]!==o?(w=()=>{l&&o(l.g.id,l.wahl),u(null)},t[24]=l,t[25]=o,t[26]=w):w=t[26];let T;t[27]!==i||t[28]!==y||t[29]!==b||t[30]!==x||t[31]!==S||t[32]!==w?(T=(0,Z.jsx)(oe,{offen:y,titel:b,text:x,knopf:S,gesperrt:i,onNein:C,onJa:w}),t[27]=i,t[28]=y,t[29]=b,t[30]=x,t[31]=S,t[32]=w,t[33]=T):T=t[33];let E;return t[34]!==T||t[35]!==h||t[36]!==v?(E=(0,Z.jsxs)(J,{titel:`Neu entdeckt`,id:`neu`,children:[h,v,T]}),t[34]=T,t[35]=h,t[36]=v,t[37]=E):E=t[37],E}var Ze=`md:grid-cols-[minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,1.1fr)_minmax(0,1.1fr)]`,Qe=e=>b(new Date(e*1e3).toISOString()).toLowerCase();function $e(e){let t=(0,X.c)(8),{titel:n,children:r,className:i}=e,o;t[0]===i?o=t[1]:(o=a(`text-sm text-text-2`,i),t[0]=i,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,Z.jsxs)(`span`,{className:`text-xs text-text-3 md:hidden`,children:[n,` `]}),t[2]=n,t[3]=s);let c;return t[4]!==r||t[5]!==o||t[6]!==s?(c=(0,Z.jsxs)(`span`,{role:`cell`,className:o,children:[s,r]}),t[4]=r,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function et(e){let t=(0,X.c)(39),{g:n}=e,r=n.geprueft?.zustand===`failed`,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=a(`grid grid-cols-2 gap-x-4 gap-y-1.5 border-t border-white/[0.06] py-3 md:items-start`,Ze),t[0]=i):i=t[0];let o;t[1]===n.name?o=t[2]:(o=(0,Z.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[1]=n.name,t[2]=o);let s;t[3]===n.auftrag?s=t[4]:(s=!n.auftrag&&(0,Z.jsx)(`span`,{className:`text-[13px] text-bernstein`,children:`in keinem Sicherungsauftrag`}),t[3]=n.auftrag,t[4]=s);let c;t[5]!==o||t[6]!==s?(c=(0,Z.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 flex-col md:col-span-1`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7];let l=n.auftrag&&!n.frisch&&`text-bernstein`,u;t[8]===l?u=t[9]:(u=a(l),t[8]=l,t[9]=u);let d;t[10]===n.zuletzt?d=t[11]:(d=n.zuletzt?(0,Z.jsx)(`span`,{className:`ziffern`,children:v(n.zuletzt)}):`noch nie`,t[10]=n.zuletzt,t[11]=d);let f;t[12]!==u||t[13]!==d?(f=(0,Z.jsx)($e,{titel:`Gesichert`,className:u,children:d}),t[12]=u,t[13]=d,t[14]=f):f=t[14];let p=r&&`text-rot-text`,m;t[15]===p?m=t[16]:(m=a(p),t[15]=p,t[16]=m);let h;t[17]!==r||t[18]!==n.geprueft?(h=n.geprueft?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`ziffern`,children:Qe(n.geprueft.zeit)}),r?` · beschädigt`:` · in Ordnung`]}):(0,Z.jsx)(`span`,{className:`text-text-3`,children:`noch nicht`}),t[17]=r,t[18]=n.geprueft,t[19]=h):h=t[19];let g;t[20]!==r||t[21]!==n.defekt.length?(g=n.defekt.length>0&&!r&&(0,Z.jsx)(`span`,{className:`block text-xs text-bernstein`,children:n.defekt.length===1?`eine ältere Sicherung beschädigt`:`${n.defekt.length} ältere Sicherungen beschädigt`}),t[20]=r,t[21]=n.defekt.length,t[22]=g):g=t[22];let _;t[23]!==m||t[24]!==h||t[25]!==g?(_=(0,Z.jsxs)($e,{titel:`Vom PBS geprüft`,className:m,children:[h,g]}),t[23]=m,t[24]=h,t[25]=g,t[26]=_):_=t[26];let y=n.probe&&!n.probe.ok&&`text-rot-text`,b;t[27]===y?b=t[28]:(b=a(y),t[27]=y,t[28]=b);let x;t[29]===n.probe?x=t[30]:(x=n.probe?(0,Z.jsxs)(Z.Fragment,{children:[n.probe.ok?`gelungen`:`gescheitert`,` `,(0,Z.jsx)(`span`,{className:`ziffern`,children:v(n.probe.zeit)}),n.probe.fehler&&(0,Z.jsx)(`span`,{className:`block text-xs break-words`,children:n.probe.fehler})]}):(0,Z.jsx)(`span`,{className:`text-text-3`,children:`noch keine`}),t[29]=n.probe,t[30]=x);let S;t[31]!==b||t[32]!==x?(S=(0,Z.jsx)($e,{titel:`Probe`,className:b,children:x}),t[31]=b,t[32]=x,t[33]=S):S=t[33];let C;return t[34]!==_||t[35]!==S||t[36]!==c||t[37]!==f?(C=(0,Z.jsxs)(`div`,{role:`row`,className:i,children:[c,f,_,S]}),t[34]=_,t[35]=S,t[36]=c,t[37]=f,t[38]=C):C=t[38],C}function tt(e,t){let n=t.filter(e=>!e.auftrag).length,r=[n?`${n} ohne Auftrag`:`alle ${t.length} in einem Auftrag`],i=t.filter(e=>e.probe&&!e.probe.ok).length;return i?r.push(`Probe bei ${i} gescheitert`):e.probe?.zeit&&r.push(`Probe ${v(e.probe.zeit)}`),r.join(` · `)}function nt(e){let t=(0,X.c)(27),{s:n,onProbe:r,probeGesperrt:i}=e,o=i!==void 0&&i,s;t[0]===n.geraete?s=t[1]:(s=n.geraete??[],t[0]=n.geraete,t[1]=s);let c=s;if(c.length===0)return null;let l;t[2]===c?l=t[3]:(l=c.some(it),t[2]=c,t[3]=l);let u=l,d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Z.jsx)(D,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Sicherungen je Gerät`]}),t[4]=d):d=t[4];let f=u?`text-bernstein`:`text-text-2`,p;t[5]===f?p=t[6]:(p=a(`text-right text-sm`,f),t[5]=f,t[6]=p);let m;t[7]!==c||t[8]!==n?(m=tt(n,c),t[7]=c,t[8]=n,t[9]=m):m=t[9];let h;t[10]!==p||t[11]!==m?(h=(0,Z.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[d,(0,Z.jsx)(`span`,{className:p,children:m})]}),t[10]=p,t[11]=m,t[12]=h):h=t[12];let g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Z.jsx)(`p`,{className:`m-0 pb-1 text-sm text-text-2`,children:`Der PBS prüft die Sicherungen selbst (Prüfauftrag im PBS). Die Probe öffnet einmal die Woche die jüngste Sicherung jedes Geräts, nur lesend: Die Konfiguration muss sich daraus lesen lassen, bei Containern auch der Dateibaum.`}),t[13]=g):g=t[13];let _;t[14]!==r||t[15]!==o?(_=r&&(0,Z.jsx)(A,{variant:`outline`,size:`sm`,className:`my-2`,disabled:o,onClick:r,children:`Jetzt prüfen`}),t[14]=r,t[15]=o,t[16]=_):_=t[16];let v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pt-1 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Ze),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Gesichert`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Vom PBS geprüft`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Probe`})]}),t[17]=v):v=t[17];let y;t[18]===c?y=t[19]:(y=c.map(rt),t[18]=c,t[19]=y);let b;t[20]===y?b=t[21]:(b=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Sicherungen je Gerät`,className:`flex flex-col`,children:[v,y]}),t[20]=y,t[21]=b);let x;return t[22]!==u||t[23]!==_||t[24]!==b||t[25]!==h?(x=(0,Z.jsxs)(`details`,{open:u,className:`flaeche-innen group rounded-2xl px-4 open:pb-3`,children:[h,g,_,b]}),t[22]=u,t[23]=_,t[24]=b,t[25]=h,t[26]=x):x=t[26],x}function rt(e){return(0,Z.jsx)(et,{g:e},e.ziel)}function it(e){return!e.auftrag||e.defekt.length>0||e.probe&&!e.probe.ok}var at={ok:`gruen`,gelb:`bernstein`,rot:`rot`,keine:`grau`},ot={ok:`color-mix(in srgb, var(--lab) 80%, transparent)`,gelb:`var(--bernstein)`,rot:`var(--rot)`},st=e=>b(new Date(e*1e3).toISOString());function ct(e){let t=(0,X.c)(11),{anteil:n,stufe:r,name:i}=e,a;t[0]===n?a=t[1]:(a=Math.round(n*100),t[0]=n,t[1]=a);let o=a,s=`${i}: ${o} % belegt`,c=`${Math.min(100,Math.max(2,o))}%`,l=ot[r],u;t[2]!==c||t[3]!==l?(u=(0,Z.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:c,background:l}}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[80%] w-px bg-bernstein/70`}),f=(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[90%] w-px bg-rot/80`}),t[5]=d,t[6]=f):(d=t[5],f=t[6]);let p;return t[7]!==o||t[8]!==s||t[9]!==u?(p=(0,Z.jsxs)(`div`,{role:`meter`,"aria-label":s,"aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,className:`relative h-2 w-full overflow-hidden rounded-full bg-white/[0.07]`,children:[u,d,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=p):p=t[10],p}function lt(e){let t=(0,X.c)(11),{v:n}=e;if(n?.grund===`gleich`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:`Belegung gleichbleibend`}),t[0]=e):e=t[0],e}let r;t[1]===n?r=t[2]:(r=ae(n),t[1]=n,t[2]=r);let i=r;if(!i)return null;let o=F[M(n)],s;t[3]===o?s=t[4]:(s=a(`ziffern text-xs`,o),t[3]=o,t[4]=s);let c;t[5]===n?c=t[6]:(c=z(n),t[5]=n,t[6]=c);let l;return t[7]!==s||t[8]!==c||t[9]!==i?(l=(0,Z.jsxs)(`p`,{className:s,children:[c,` · `,i]}),t[7]=s,t[8]=c,t[9]=i,t[10]=l):l=t[10],l}function $(e){let t=(0,X.c)(16),{titel:n,unter:r,chip:i,chipText:a,children:o}=e,s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n}),t[0]=n,t[1]=s);let c;t[2]===r?c=t[3]:(c=r&&(0,Z.jsx)(`span`,{className:`text-sm break-words text-text-3`,children:r}),t[2]=r,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==a?(u=(0,Z.jsx)(V,{art:i,children:a}),t[7]=i,t[8]=a,t[9]=u):u=t[9];let d;t[10]!==l||t[11]!==u?(d=(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==o||t[14]!==d?(f=(0,Z.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 flex-col gap-3 rounded-2xl p-4`,children:[d,o]}),t[13]=o,t[14]=d,t[15]=f):f=t[15],f}function ut(e){let t=(0,X.c)(34),{p:n}=e,r;t[0]===n.anteil?r=t[1]:(r=Math.round(n.anteil*100),t[0]=n.anteil,t[1]=r);let i=r,o=`Speicherpool ${n.speicher}`,s=at[n.stufe],c=me[n.stufe],l=Math.max(n.anteil,n.meta_anteil??0),u=`Speicherpool ${n.speicher}`,d;t[2]!==n.stufe||t[3]!==l||t[4]!==u?(d=(0,Z.jsx)(ct,{anteil:l,stufe:n.stufe,name:u}),t[2]=n.stufe,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f;t[6]===n.belegt?f=t[7]:(f=Y(n.belegt),t[6]=n.belegt,t[7]=f);let p;t[8]===n.gesamt?p=t[9]:(p=Y(n.gesamt),t[8]=n.gesamt,t[9]=p);let m=n.stufe!==`ok`&&`text-foreground`,h;t[10]===m?h=t[11]:(h=a(m),t[10]=m,t[11]=h);let g;t[12]===n.frei?g=t[13]:(g=Y(n.frei),t[12]=n.frei,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,Z.jsxs)(`span`,{className:h,children:[g,` frei`]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==i||t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,Z.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[i,` % · `,f,` von `,p,` · `,_]}),t[17]=i,t[18]=_,t[19]=f,t[20]=p,t[21]=v):v=t[21];let y;t[22]===n.meta_anteil?y=t[23]:(y=n.meta_anteil!==null&&(0,Z.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Metadaten `,Math.round(n.meta_anteil*100),` % belegt`]}),t[22]=n.meta_anteil,t[23]=y);let b;t[24]===n.vorhersage?b=t[25]:(b=(0,Z.jsx)(lt,{v:n.vorhersage}),t[24]=n.vorhersage,t[25]=b);let x;return t[26]!==v||t[27]!==y||t[28]!==b||t[29]!==o||t[30]!==s||t[31]!==c||t[32]!==d?(x=(0,Z.jsxs)($,{titel:o,unter:`Platten der Container und VMs`,chip:s,chipText:c,children:[d,v,y,b]}),t[26]=v,t[27]=y,t[28]=b,t[29]=o,t[30]=s,t[31]=c,t[32]=d,t[33]=x):x=t[33],x}function dt(e){let t=(0,X.c)(24),{s:n}=e,r=at[n.stufe],i=me[n.stufe],a;t[0]!==n.anteil||t[1]!==n.stufe?(a=(0,Z.jsx)(ct,{anteil:n.anteil,stufe:n.stufe,name:`Systemplatte des Proxmox-Hosts`}),t[0]=n.anteil,t[1]=n.stufe,t[2]=a):a=t[2];let o;t[3]===n.anteil?o=t[4]:(o=Math.round(n.anteil*100),t[3]=n.anteil,t[4]=o);let s;t[5]===n.belegt?s=t[6]:(s=Y(n.belegt),t[5]=n.belegt,t[6]=s);let c;t[7]===n.gesamt?c=t[8]:(c=Y(n.gesamt),t[7]=n.gesamt,t[8]=c);let l;t[9]===n.frei?l=t[10]:(l=Y(n.frei),t[9]=n.frei,t[10]=l);let u;t[11]!==o||t[12]!==s||t[13]!==c||t[14]!==l?(u=(0,Z.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[o,` % · `,s,` von `,c,` · `,l,` frei`]}),t[11]=o,t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15];let d;t[16]===n.vorhersage?d=t[17]:(d=(0,Z.jsx)(lt,{v:n.vorhersage}),t[16]=n.vorhersage,t[17]=d);let f;return t[18]!==r||t[19]!==i||t[20]!==a||t[21]!==u||t[22]!==d?(f=(0,Z.jsxs)($,{titel:`Systemplatte`,unter:`Proxmox-Host: Kernel, Sicherungen vor Updates`,chip:r,chipText:i,children:[a,u,d]}),t[18]=r,t[19]=i,t[20]=a,t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function ft(e){let t=(0,X.c)(22),{n}=e,r=n.problem?n.stufe===`rot`?`gestört`:`unklar`:me[n.stufe],i=`NAS ${n.server??``}`,o;t[0]===i?o=t[1]:(o=i.trim(),t[0]=i,t[1]=o);let s;t[2]===n.art?s=t[3]:(s=n.art.toUpperCase(),t[2]=n.art,t[3]=s);let c=`${s} · ${n.quelle??`?`} → ${n.ziel}`,l=at[n.stufe],u;t[4]!==n.anteil||t[5]!==n.belegt||t[6]!==n.gesamt||t[7]!==n.problem||t[8]!==n.server||t[9]!==n.stufe||t[10]!==n.vorhersage?(u=n.problem?(0,Z.jsx)(`p`,{className:a(`text-sm`,n.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:n.problem}):n.anteil!==null&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ct,{anteil:n.anteil,stufe:n.stufe,name:`NAS ${n.server??``}`}),(0,Z.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[Math.round(n.anteil*100),` % · `,Y(n.belegt),` von `,Y(n.gesamt),` · `,Y((n.gesamt??0)-(n.belegt??0)),` frei`]}),(0,Z.jsx)(lt,{v:n.vorhersage})]}),t[4]=n.anteil,t[5]=n.belegt,t[6]=n.gesamt,t[7]=n.problem,t[8]=n.server,t[9]=n.stufe,t[10]=n.vorhersage,t[11]=u):u=t[11];let d=n.erreichbar===!1?`antwortet nicht`:`antwortet`,f=n.eingebunden?`auf dem Proxmox-Host eingebunden`:`nicht eingebunden`,p;t[12]!==d||t[13]!==f?(p=(0,Z.jsxs)(`p`,{className:`text-xs text-text-3`,children:[d,` · `,f]}),t[12]=d,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==r||t[16]!==o||t[17]!==c||t[18]!==l||t[19]!==u||t[20]!==p?(m=(0,Z.jsxs)($,{titel:o,unter:c,chip:l,chipText:r,children:[u,p]}),t[15]=r,t[16]=o,t[17]=c,t[18]=l,t[19]=u,t[20]=p,t[21]=m):m=t[21],m}function pt(e){let t=(0,X.c)(25),{s:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={ok:`aktuell`,gelb:`Lücke`,rot:`gestört`,keine:`kein Auftrag`},t[0]=r):r=t[0];let i=r[n.stufe],a;t[1]===n?a=t[2]:(a=ce(n),t[1]=n,t[2]=a);let o=at[n.stufe],s;t[3]===n.probleme?s=t[4]:(s=n.probleme.map(vt),t[3]=n.probleme,t[4]=s);let c;t[5]!==n.erfasst||t[6]!==n.stufe||t[7]!==n.stufe_frische||t[8]!==n.zuletzt?(c=(n.stufe_frische??n.stufe)===`ok`&&(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Alle `,n.erfasst,` Geräte gesichert`,n.zuletzt?(0,Z.jsxs)(Z.Fragment,{children:[`, zuletzt `,(0,Z.jsx)(`span`,{className:`ziffern`,children:st(n.zuletzt)})]}):null,`.`]}),t[5]=n.erfasst,t[6]=n.stufe,t[7]=n.stufe_frische,t[8]=n.zuletzt,t[9]=c):c=t[9];let l;t[10]===n.ohne_auftrag?l=t[11]:(l=(n.ohne_auftrag?.length??0)>0&&(0,Z.jsxs)(`p`,{className:`text-sm text-bernstein`,children:[`In keinem Sicherungsauftrag: `,n.ohne_auftrag.map(_t).join(`, `)]}),t[10]=n.ohne_auftrag,t[11]=l);let u;t[12]===n.fehlend?u=t[13]:(u=n.fehlend.length>0&&(0,Z.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm`,children:n.fehlend.map(gt)}),t[12]=n.fehlend,t[13]=u);let d;t[14]===n.ziele?d=t[15]:(d=n.ziele.filter(ht).map(mt),t[14]=n.ziele,t[15]=d);let f;return t[16]!==i||t[17]!==a||t[18]!==o||t[19]!==s||t[20]!==c||t[21]!==l||t[22]!==u||t[23]!==d?(f=(0,Z.jsxs)($,{titel:`Sicherungen`,unter:a,chip:o,chipText:i,children:[s,c,l,u,d]}),t[16]=i,t[17]=a,t[18]=o,t[19]=s,t[20]=c,t[21]=l,t[22]=u,t[23]=d,t[24]=f):f=t[24],f}function mt(e){let t=ae(e.vorhersage);return(0,Z.jsxs)(`p`,{className:a(`ziffern text-xs`,t?F[M(e.vorhersage)]:`text-text-3`),children:[`Ziel `,e.speicher,`: `,Math.round((e.belegt??0)/(e.gesamt??1)*100),` % belegt`,t?` · ${t}`:e.vorhersage?.grund===`gleich`?` · gleichbleibend`:``,e.vorhersage?.quelle===`pbs`&&(t||e.vorhersage.grund===`gleich`)?` (Schätzung des PBS)`:``]},e.speicher)}function ht(e){return e.gesamt}function gt(e){return(0,Z.jsxs)(`li`,{className:`text-bernstein`,children:[e.name,`: `,e.zuletzt?(0,Z.jsxs)(Z.Fragment,{children:[`zuletzt `,(0,Z.jsx)(`span`,{className:`ziffern`,children:st(e.zuletzt)})]}):`noch nie gesichert`]},e.ziel)}function _t(e){return e.name}function vt(e){return(0,Z.jsx)(`p`,{className:`text-sm text-rot-text`,children:e},e)}function yt(e){let t=(0,X.c)(53),{daten:n,laeuft:r,gesperrt:i,onAktion:a,snapshotsLink:o,onProbe:s,probeGesperrt:c}=e,l=r===void 0?null:r,u=i!==void 0&&i,[d,f]=(0,Q.useState)(null),p;t[0]!==n.pools||t[1]!==n.systemplatte?.stufe?(p=n.pools.some(Ct)||(n.systemplatte?.stufe??`ok`)!==`ok`,t[0]=n.pools,t[1]=n.systemplatte?.stufe,t[2]=p):p=t[2];let m=p,h,g,_,v;if(t[3]!==n.empfehlungen||t[4]!==n.nas||t[5]!==n.pools||t[6]!==n.sicherungen||t[7]!==n.systemplatte||t[8]!==u||t[9]!==m||t[10]!==l||t[11]!==a||t[12]!==s||t[13]!==c||t[14]!==o){let e=n.empfehlungen.reduce(St,0);h=`flex flex-col gap-4`;let r;t[19]===n.pools?r=t[20]:(r=n.pools.map(xt),t[19]=n.pools,t[20]=r);let i;t[21]===n.systemplatte?i=t[22]:(i=n.systemplatte&&(0,Z.jsx)(dt,{s:n.systemplatte}),t[21]=n.systemplatte,t[22]=i);let d;t[23]===n.nas?d=t[24]:(d=n.nas.length>0?n.nas.map(bt):(0,Z.jsx)($,{titel:`NAS`,chip:`grau`,chipText:`keins`,children:(0,Z.jsx)(`p`,{className:`text-sm text-text-3`,children:`Auf dem Proxmox-Host ist kein Netzlaufwerk eingebunden.`})}),t[23]=n.nas,t[24]=d);let p;t[25]===n.sicherungen?p=t[26]:(p=(0,Z.jsx)(pt,{s:n.sicherungen}),t[25]=n.sicherungen,t[26]=p),t[27]!==d||t[28]!==p||t[29]!==r||t[30]!==i?(g=(0,Z.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-4`,children:[r,i,d,p]}),t[27]=d,t[28]=p,t[29]=r,t[30]=i,t[31]=g):g=t[31],t[32]!==n.sicherungen||t[33]!==s||t[34]!==c?(_=(0,Z.jsx)(nt,{s:n.sicherungen,onProbe:s,probeGesperrt:c}),t[32]=n.sicherungen,t[33]=s,t[34]=c,t[35]=_):_=t[35],v=n.empfehlungen.length>0&&(0,Z.jsxs)(`details`,{open:m,className:`flaeche-innen group rounded-2xl px-4 open:pb-3`,children:[(0,Z.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Z.jsx)(D,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Was Platz bringt`]}),(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[n.empfehlungen.length,` `,n.empfehlungen.length===1?`Vorschlag`:`Vorschläge`,e>0&&` · bis zu ${Y(e)}`]})]}),(0,Z.jsx)(`ol`,{className:`flex flex-col`,children:n.empfehlungen.map(e=>(0,Z.jsx)(Et,{e,laeuft:l,gesperrt:u||!a,onFrage:f,verweis:e.art===`snapshot`?o:null},e.titel))})]}),t[3]=n.empfehlungen,t[4]=n.nas,t[5]=n.pools,t[6]=n.sicherungen,t[7]=n.systemplatte,t[8]=u,t[9]=m,t[10]=l,t[11]=a,t[12]=s,t[13]=c,t[14]=o,t[15]=h,t[16]=g,t[17]=_,t[18]=v}else h=t[15],g=t[16],_=t[17],v=t[18];let y=!!d,b=d?`Proxmox-Host: ${d.label}`:``,x=d?.frage??``,S=d?.label??``,C;t[36]!==d||t[37]!==a?(C=()=>{d&&a&&a(d),f(null)},t[36]=d,t[37]=a,t[38]=C):C=t[38];let w;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>f(null),t[39]=w):w=t[39];let T;t[40]!==u||t[41]!==x||t[42]!==S||t[43]!==C||t[44]!==y||t[45]!==b?(T=(0,Z.jsx)(oe,{offen:y,titel:b,text:x,knopf:S,gesperrt:u,onJa:C,onNein:w}),t[40]=u,t[41]=x,t[42]=S,t[43]=C,t[44]=y,t[45]=b,t[46]=T):T=t[46];let E;return t[47]!==T||t[48]!==h||t[49]!==g||t[50]!==_||t[51]!==v?(E=(0,Z.jsxs)(`div`,{className:h,children:[g,_,v,T]}),t[47]=T,t[48]=h,t[49]=g,t[50]=_,t[51]=v,t[52]=E):E=t[52],E}function bt(e){return(0,Z.jsx)(ft,{n:e},e.ziel)}function xt(e){return(0,Z.jsx)(ut,{p:e},e.speicher)}function St(e,t){return e+(t.platz??0)}function Ct(e){return e.stufe!==`ok`}var wt={pool:`Speicherpool`,systemplatte:`Systemplatte des Hosts`};function Tt({text:e}){return e.split(/`([^`]+)`/).map((e,t)=>t%2==1?(0,Z.jsx)(`code`,{className:`rounded-md bg-white/[0.07] px-1 font-mono text-[13px] text-foreground [font-variant-ligatures:none]`,children:e},t):e)}function Et(e){let t=(0,X.c)(24),{e:n,laeuft:r,gesperrt:i,onFrage:a,verweis:o}=e,s;t[0]===n.titel?s=t[1]:(s=(0,Z.jsx)(`span`,{className:`text-[15px] font-medium break-words`,children:n.titel}),t[0]=n.titel,t[1]=s);let c;t[2]===n.platz?c=t[3]:(c=n.platz?`≈ ${Y(n.platz)}`:`Größe unbekannt`,t[2]=n.platz,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:c}),t[4]=c,t[5]=l);let u;t[6]!==s||t[7]!==l?(u=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[s,l]}),t[6]=s,t[7]=l,t[8]=u):u=t[8];let d;t[9]===n.ort?d=t[10]:(d=n.ort&&(0,Z.jsx)(`span`,{className:`etikett text-[10.5px] tracking-[0.14em] text-text-3`,children:wt[n.ort]??n.ort}),t[9]=n.ort,t[10]=d);let f;t[11]===n.text?f=t[12]:(f=(0,Z.jsx)(`p`,{className:`text-sm break-words text-text-2`,children:(0,Z.jsx)(Tt,{text:n.text})}),t[11]=n.text,t[12]=f);let p;t[13]!==n.aktion||t[14]!==i||t[15]!==r||t[16]!==a?(p=n.aktion&&(r?(0,Z.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,r]}):(0,Z.jsx)(A,{variant:`outline`,size:`sm`,className:`mt-1 self-start`,disabled:i,onClick:()=>a(n.aktion),children:n.aktion.label})),t[13]=n.aktion,t[14]=i,t[15]=r,t[16]=a,t[17]=p):p=t[17];let m;return t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p||t[22]!==o?(m=(0,Z.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-1`,children:[u,d,f,o,p]}),t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=o,t[23]=m):m=t[23],m}var Dt={snapshot:`Snapshot`,sicherung:`Sicherung`,keiner:`kein Rückweg`};function Ot(e){let t=(0,X.c)(24),{anzahl:n,gesperrt:r}=e,[i,a]=(0,Q.useState)(!1),o=m(i),s=C(),c;t[0]===o.data?.schritte?c=t[1]:(c=o.data?.schritte??[],t[0]=o.data?.schritte,t[1]=c);let l=c,u=r||n===0||s.isPending,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>a(!0),t[2]=d):d=t[2];let f=n>0?` (${n})`:``,p;t[3]!==u||t[4]!==f?(p=(0,Z.jsxs)(A,{disabled:u,onClick:d,children:[`Alle aktualisieren`,f]}),t[3]=u,t[4]=f,t[5]=p):p=t[5];let h=l.length?`${l.length} Updates starten`:`Starten`,g=s.isPending||o.isPending||l.length===0,_;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>a(!1),t[6]=_):_=t[6];let v;t[7]!==i||t[8]!==s?(v=()=>{i&&(s.mutate(void 0),a(!1))},t[7]=i,t[8]=s,t[9]=v):v=t[9];let y;t[10]!==o.data||t[11]!==o.error||t[12]!==o.isPending||t[13]!==l?(y=o.isPending?(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Die Reihenfolge wird gelesen …`}):o.error?(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Der Plan lässt sich nicht lesen: `,o.error.message]}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1`,children:[(0,Z.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:l.map(kt)}),o.data?.hinweis&&(0,Z.jsx)(`p`,{className:`text-xs text-bernstein`,children:o.data.hinweis})]}),t[10]=o.data,t[11]=o.error,t[12]=o.isPending,t[13]=l,t[14]=y):y=t[14];let b;t[15]!==i||t[16]!==y||t[17]!==h||t[18]!==g||t[19]!==v?(b=(0,Z.jsx)(oe,{offen:i,titel:`Alle Homelab-Updates einspielen?`,text:`Die Updates laufen nacheinander, jedes mit Rückweg und Prüfung. Ist eine Prüfung rot, geht dieser Schritt von selbst zurück und der Rest bleibt stehen. AdGuard und NPMplus kommen zuletzt, der Proxmox-Host ganz am Ende; neu gestartet wird er nicht.`,knopf:h,gesperrt:g,onNein:_,onJa:v,children:y}),t[15]=i,t[16]=y,t[17]=h,t[18]=g,t[19]=v,t[20]=b):b=t[20];let x;return t[21]!==b||t[22]!==p?(x=(0,Z.jsxs)(Z.Fragment,{children:[p,b]}),t[21]=b,t[22]=p,t[23]=x):x=t[23],x}function kt(e,t){return(0,Z.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-baseline gap-2 text-sm`,children:[(0,Z.jsxs)(`span`,{className:`ziffern text-text-3`,children:[t+1,`.`]}),(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:e.name}),` `,(0,Z.jsxs)(`span`,{className:`text-text-2`,children:[`· `,e.was]})]}),(0,Z.jsx)(`span`,{className:a(`text-xs`,e.rueckweg_art===`keiner`?`text-bernstein`:`text-text-3`),children:Dt[e.rueckweg_art]})]},`${e.ziel}-${e.baustein}`)}var At={wartet:{Symbol:be,farbe:`text-text-3`,text:`wartet`},laeuft:{Symbol:Se,farbe:`text-cyan-text`,text:`läuft`},eingespielt:{Symbol:te,farbe:`text-gruen`,text:`eingespielt`},zurueckgerollt:{Symbol:k,farbe:`text-bernstein`,text:`zurückgerollt`},fehler:{Symbol:O,farbe:`text-rot`,text:`Fehler`},uebersprungen:{Symbol:we,farbe:`text-text-3`,text:`übersprungen`}},jt={laeuft:{art:`cyan`,text:`läuft`},fertig:{art:`gruen`,text:`fertig`},abgebrochen:{art:`bernstein`,text:`abgebrochen`}};function Mt(e){let t=(0,X.c)(33),{lauf:n,onQuittieren:r}=e,i;t[0]===n.schritte?i=t[1]:(i=n.schritte.filter(Pt),t[0]=n.schritte,t[1]=i);let a=i.length,o=jt[n.status],s;t[2]!==a||t[3]!==n.schritte.length?(s=(0,Z.jsxs)(`span`,{className:`text-[15px] font-semibold text-cyan-text`,children:[`Alle aktualisieren · `,a,` von `,n.schritte.length]}),t[2]=a,t[3]=n.schritte.length,t[4]=s):s=t[4];let c;t[5]===n.start?c=t[6]:(c=b(new Date(n.start*1e3).toISOString()),t[5]=n.start,t[6]=c);let l;t[7]===c?l=t[8]:(l=(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:c}),t[7]=c,t[8]=l);let u;t[9]!==o.art||t[10]!==o.text?(u=(0,Z.jsx)(V,{art:o.art,children:o.text}),t[9]=o.art,t[10]=o.text,t[11]=u):u=t[11];let d;t[12]!==l||t[13]!==u?(d=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]!==s||t[16]!==d?(f=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[15]=s,t[16]=d,t[17]=f):f=t[17];let p=`${a/Math.max(1,n.schritte.length)*100}%`,m;t[18]===p?m=t[19]:(m=(0,Z.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,Z.jsx)(`div`,{className:`h-full rounded-full bg-cyan shadow-[0_0_10px_var(--cyan)] transition-all`,style:{width:p}})}),t[18]=p,t[19]=m);let h;t[20]===n.schritte?h=t[21]:(h=n.schritte.map(Nt),t[20]=n.schritte,t[21]=h);let g;t[22]===h?g=t[23]:(g=(0,Z.jsx)(`ol`,{className:`m-0 grid list-none gap-x-6 gap-y-1.5 p-0 sm:grid-cols-2`,children:h}),t[22]=h,t[23]=g);let _;t[24]!==n.status||t[25]!==n.text||t[26]!==r?(_=(n.text||n.status!==`laeuft`&&r)&&(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n.text&&(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:n.text}),n.status!==`laeuft`&&r&&(0,Z.jsx)(A,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:r,children:`Ausblenden`})]}),t[24]=n.status,t[25]=n.text,t[26]=r,t[27]=_):_=t[27];let v;return t[28]!==g||t[29]!==_||t[30]!==f||t[31]!==m?(v=(0,Z.jsxs)(`section`,{"aria-label":`Alle aktualisieren`,className:`flex flex-col gap-3 rounded-2xl bg-cyan/[0.06] p-4 ring-1 ring-cyan/30 ring-inset`,children:[f,m,g,_]}),t[28]=g,t[29]=_,t[30]=f,t[31]=m,t[32]=v):v=t[32],v}function Nt(e){let t=At[e.status];return(0,Z.jsxs)(`li`,{className:`flex items-start gap-2 text-sm`,children:[(0,Z.jsx)(t.Symbol,{className:a(`mt-0.5 size-4 shrink-0`,t.farbe,e.status===`laeuft`&&`motion-safe:animate-spin`),"aria-hidden":!0}),(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,Z.jsxs)(`span`,{className:`text-text-3`,children:[`· `,e.was,` · `,t.text]}),e.text&&e.status!==`eingespielt`&&(0,Z.jsx)(`span`,{className:`block text-xs text-text-3`,children:e.text})]})]},`${e.ziel}-${e.baustein}`)}function Pt(e){return![`wartet`,`laeuft`].includes(e.status)}function Ft(e){let t=(0,X.c)(9),{d:n}=e,r=n.zusammenfassung;if(!r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`p`,{className:`m-0 text-sm text-text-3`,children:`Lucy konnte gerade keine Kurzfassung schreiben; die Quellen stehen unten.`}),t[0]=e):e=t[0],e}let i;t[1]!==r.aktion||t[2]!==r.aktion_text?(i=r.aktion?(0,Z.jsxs)(`p`,{className:`m-0 rounded-xl bg-bernstein/10 px-3 py-2 text-sm text-bernstein ring-1 ring-bernstein/30 ring-inset`,children:[`⚠ Handarbeit: `,r.aktion_text||`Lies die Hinweise unten, bevor du updatest.`]}):r.aktion===!1&&(0,Z.jsx)(`p`,{className:`m-0 text-sm text-gruen-text`,children:`Du musst dafür nichts selbst tun.`}),t[1]=r.aktion,t[2]=r.aktion_text,t[3]=i):i=t[3];let a;t[4]===r.punkte?a=t[5]:(a=r.punkte.length>0&&(0,Z.jsx)(`ul`,{className:`m-0 flex list-disc flex-col gap-1 pl-5 text-sm text-text-2`,children:r.punkte.map(It)}),t[4]=r.punkte,t[5]=a);let o;return t[6]!==i||t[7]!==a?(o=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[i,a]}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function It(e){return(0,Z.jsx)(`li`,{children:e},e)}function Lt(e){let t=(0,X.c)(16),{d:n}=e,r;t[0]===n.versionen?r=t[1]:(r=n.versionen??[],t[0]=n.versionen,t[1]=r);let i=r,a;t[2]===n.pakete?a=t[3]:(a=n.pakete??[],t[2]=n.pakete,t[3]=a);let o=a;if(i.length===0&&o.length===0)return null;let s=i.length?`Release Notes (${i.length} ${i.length===1?`Version`:`Versionen`})`:`Änderungslisten (${o.length} Pakete${n.weitere?`, ${n.weitere} weitere ohne Liste`:``})`,c;t[4]===s?c=t[5]:(c=(0,Z.jsx)(`summary`,{className:`cursor-pointer text-text-3 hover:text-text-2`,children:s}),t[4]=s,t[5]=c);let l;t[6]===i?l=t[7]:(l=i.map(zt),t[6]=i,t[7]=l);let u;t[8]===o?u=t[9]:(u=o.map(Rt),t[8]=o,t[9]=u);let d;t[10]!==l||t[11]!==u?(d=(0,Z.jsxs)(`div`,{className:`mt-2 flex max-h-80 flex-col gap-3 overflow-y-auto pr-1`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==c||t[14]!==d?(f=(0,Z.jsxs)(`details`,{className:`group text-sm`,children:[c,d]}),t[13]=c,t[14]=d,t[15]=f):f=t[15],f}function Rt(e){return(0,Z.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-[13px] font-medium`,children:e.name}),(0,Z.jsx)(`pre`,{className:`m-0 font-mono text-[12px] break-words whitespace-pre-wrap text-text-3`,children:e.text})]},e.name)}function zt(e){return(0,Z.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex items-baseline justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`font-medium`,children:e.titel}),e.url&&(0,Z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener`,className:`inline-flex shrink-0 items-center gap-1 text-cyan hover:underline`,children:[`GitHub `,(0,Z.jsx)(q,{className:`size-3`,"aria-hidden":!0})]})]}),(0,Z.jsx)(`pre`,{className:`m-0 font-sans text-[13px] break-words whitespace-pre-wrap text-text-3`,children:e.text||`–`})]},e.version)}function Bt(e){let t=(0,X.c)(21),{zid:n,baustein:r,kompakt:i,className:o}=e,s=i!==void 0&&i,c=d(n,r,!0),l;if(c.isPending){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`p`,{className:`m-0 text-sm text-text-3`,role:`status`,children:`Lucy liest, was neu ist …`}),t[0]=e):e=t[0],l=e}else if(c.error){let e;t[1]===c.error.message?e=t[2]:(e=(0,Z.jsxs)(`p`,{className:`m-0 text-sm text-text-3`,children:[`Ließ sich gerade nicht lesen: `,c.error.message]}),t[1]=c.error.message,t[2]=e),l=e}else if(c.data?.verfuegbar){let e;t[8]===c.data?e=t[9]:(e=(0,Z.jsx)(Ft,{d:c.data}),t[8]=c.data,t[9]=e);let n;t[10]!==s||t[11]!==c.data?(n=!s&&(0,Z.jsx)(Lt,{d:c.data}),t[10]=s,t[11]=c.data,t[12]=n):n=t[12];let r;t[13]!==e||t[14]!==n?(r=(0,Z.jsxs)(Z.Fragment,{children:[e,n]}),t[13]=e,t[14]=n,t[15]=r):r=t[15],l=r}else{let e=c.data?.grund??`Keine Angaben.`,n;t[3]===c.data?n=t[4]:(n=c.data?.quelle_url&&(0,Z.jsxs)(Z.Fragment,{children:[` `,(0,Z.jsx)(`a`,{href:c.data.quelle_url,target:`_blank`,rel:`noopener`,className:`text-cyan hover:underline`,children:`Zu den Releases`})]}),t[3]=c.data,t[4]=n);let r;t[5]!==e||t[6]!==n?(r=(0,Z.jsxs)(`p`,{className:`m-0 text-sm text-text-3`,children:[e,n]}),t[5]=e,t[6]=n,t[7]=r):r=t[7],l=r}let u;t[16]===o?u=t[17]:(u=a(`flex flex-col gap-2`,o),t[16]=o,t[17]=u);let f;return t[18]!==l||t[19]!==u?(f=(0,Z.jsx)(`div`,{className:u,children:l}),t[18]=l,t[19]=u,t[20]=f):f=t[20],f}var Vt=`md:grid-cols-[minmax(0,1.1fr)_minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,0.9fr)_11.5rem]`;function Ht(e){let t=(0,X.c)(16),{ziel:n,b:r}=e,i=x();if(r.uebersprungen){let e;t[0]!==i||t[1]!==n.id?(e=()=>i.mutate({zid:n.id,version:null}),t[0]=i,t[1]=n.id,t[2]=e):e=t[2];let a;t[3]!==e||t[4]!==i.isPending?(a=(0,Z.jsx)(`button`,{type:`button`,className:`text-cyan hover:underline`,disabled:i.isPending,onClick:e,children:`wieder anbieten`}),t[3]=e,t[4]=i.isPending,t[5]=a):a=t[5];let o;return t[6]!==r.uebersprungen||t[7]!==a?(o=(0,Z.jsxs)(`span`,{className:`text-xs text-text-3`,children:[r.uebersprungen,` übersprungen ·`,` `,a]}),t[6]=r.uebersprungen,t[7]=a,t[8]=o):o=t[8],o}if(r.zustand!==`neu`||!r.verfuegbar)return null;let a;t[9]!==r.verfuegbar||t[10]!==i||t[11]!==n.id?(a=()=>i.mutate({zid:n.id,version:r.verfuegbar}),t[9]=r.verfuegbar,t[10]=i,t[11]=n.id,t[12]=a):a=t[12];let o;return t[13]!==a||t[14]!==i.isPending?(o=(0,Z.jsx)(`button`,{type:`button`,className:`self-start text-xs text-text-3 hover:text-foreground hover:underline`,disabled:i.isPending,onClick:a,children:`Version überspringen`}),t[13]=a,t[14]=i.isPending,t[15]=o):o=t[15],o}function Ut(e){let t=(0,X.c)(30),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?re(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,Z.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,Z.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e,t[1]=r),r}let i;t[2]===r.installiert?i=t[3]:(i=r.installiert?ue(r.installiert):`–`,t[2]=r.installiert,t[3]=i);let a=i,o=r.zustand===`aktuell`?`text-foreground`:`text-text-2`,s;t[4]!==a||t[5]!==o?(s=(0,Z.jsx)(`span`,{className:o,children:a}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]!==r.verfuegbar||t[8]!==r.zustand?(c=r.zustand===`neu`&&r.verfuegbar&&(0,Z.jsxs)(`span`,{className:`text-cyan-text`,children:[`→ `,r.verfuegbar]}),t[7]=r.verfuegbar,t[8]=r.zustand,t[9]=c):c=t[9];let l;t[10]===r.zustand?l=t[11]:(l=r.zustand===`aktuell`&&(0,Z.jsx)(`span`,{className:`font-sans text-xs text-gruen-text`,children:`aktuell`}),t[10]=r.zustand,t[11]=l);let u;t[12]===r.zustand?u=t[13]:(u=r.zustand===`unbekannt`&&(0,Z.jsx)(`span`,{className:`font-sans text-xs text-text-3`,children:`unklar`}),t[12]=r.zustand,t[13]=u);let d;t[14]!==s||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,Z.jsxs)(`span`,{className:`ziffern flex flex-wrap items-baseline gap-x-2 text-sm`,children:[s,c,l,u]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]!==r.aktion||t[20]!==r.grund||t[21]!==r.zustand?(f=r.zustand===`neu`&&!r.aktion&&r.grund&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r.grund}),t[19]=r.aktion,t[20]=r.grund,t[21]=r.zustand,t[22]=f):f=t[22];let p;t[23]!==r||t[24]!==n?(p=n.art!==`proxmox-host`&&(0,Z.jsx)(Ht,{ziel:n,b:r}),t[23]=r,t[24]=n,t[25]=p):p=t[25];let m;return t[26]!==d||t[27]!==f||t[28]!==p?(m=(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[d,f,p]}),t[26]=d,t[27]=f,t[28]=p,t[29]=m):m=t[29],m}function Wt(e){let t=(0,X.c)(25),{b:n,onSuchen:r,gesperrt:i}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let a=n.id===`docker`,o;if(n.zustand===`neu`){let e=n.kurz||`Update bereit`,r;t[1]===n.sicherheit?r=t[2]:(r=!!n.sicherheit&&(0,Z.jsxs)(`span`,{className:`text-rot-text`,children:[` · `,n.sicherheit,` Sicherheit`]}),t[1]=n.sicherheit,t[2]=r);let i;t[3]!==e||t[4]!==r?(i=(0,Z.jsxs)(`span`,{className:`text-cyan-text`,children:[e,r]}),t[3]=e,t[4]=r,t[5]=i):i=t[5],o=i}else if(n.zustand===`aktuell`){let e=a?`Images aktuell`:`aktuell`,n;t[6]===e?n=t[7]:(n=(0,Z.jsx)(`span`,{className:`text-gruen-text`,children:e}),t[6]=e,t[7]=n),o=n}else{let e;t[8]===n.grund?e=t[9]:(e=ee(n.grund),t[8]=n.grund,t[9]=e);let r=e,i=n.grund??void 0,s=a?`Images unklar`:`unklar`,c;t[10]===r?c=t[11]:(c=r&&(0,Z.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,r]}),t[10]=r,t[11]=c);let l;t[12]!==i||t[13]!==s||t[14]!==c?(l=(0,Z.jsxs)(`span`,{className:`text-text-2`,title:i,children:[s,c]}),t[12]=i,t[13]=s,t[14]=c,t[15]=l):l=t[15],o=l}let s=n.zustand===`unbekannt`?n.aktion:null,c;t[16]===o?c=t[17]:(c=(0,Z.jsx)(`span`,{className:`min-w-0`,children:o}),t[16]=o,t[17]=c);let l;t[18]!==i||t[19]!==r||t[20]!==s?(l=s&&(0,Z.jsx)(A,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":s.label,title:s.label,disabled:i,onClick:()=>r(s),children:(0,Z.jsx)(K,{})}),t[18]=i,t[19]=r,t[20]=s,t[21]=l):l=t[21];let u;return t[22]!==c||t[23]!==l?(u=(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-sm`,children:[c,l]}),t[22]=c,t[23]=l,t[24]=u):u=t[24],u}var Gt={app:`App updaten`,os:`Pakete einspielen`,pakete:`Pakete einspielen`};function Kt(e,t){return!t||t.zustand!==`neu`?!1:t.id===`app`&&!!t.verfuegbar||e.art===`proxmox-host`&&t.id===`pakete`}function qt(e){let t=(0,X.c)(52),{ziel:n,laeuft:r,gesperrt:i,onFrage:o}=e,s;t[0]===n?s=t[1]:(s=L(n),t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=re(n),t[2]=n,t[3]=l);let u=l,d=n.bausteine.filter(Jt),f=G(n)>=2,p;t[4]===n?p=t[5]:(p=n.bausteine.find(e=>Kt(n,e)),t[4]=n,t[5]=p);let m=p,[h,g]=(0,Q.useState)(!1),_=f&&`opacity-75`,v;t[6]===_?v=t[7]:(v=a(`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3.5 md:items-center`,Vt,_),t[6]=_,t[7]=v);let y;t[8]===n?y=t[9]:(y=N(n),t[8]=n,t[9]=y);let b=d.length?`info`:null,x;t[10]!==y||t[11]!==b?(x=(0,Z.jsx)(R,{bild:y,groesse:`sm`,punkt:b}),t[10]=y,t[11]=b,t[12]=x):x=t[12];let S;t[13]===n.name?S=t[14]:(S=(0,Z.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[13]=n.name,t[14]=S);let C;t[15]===n?C=t[16]:(C=U(n)!==n.name&&(0,Z.jsx)(`span`,{className:`text-[13px] text-text-3`,children:U(n)}),t[15]=n,t[16]=C);let w;t[17]!==S||t[18]!==C?(w=(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[S,C]}),t[17]=S,t[18]=C,t[19]=w):w=t[19];let T;t[20]!==w||t[21]!==x?(T=(0,Z.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 items-center gap-3`,children:[x,w]}),t[20]=w,t[21]=x,t[22]=T):T=t[22];let E;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`App `}),t[23]=E):E=t[23];let O;t[24]!==c||t[25]!==n?(O=(0,Z.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[E,(0,Z.jsx)(Ut,{ziel:n,b:c})]}),t[24]=c,t[25]=n,t[26]=O):O=t[26];let k;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Pakete `}),t[27]=k):k=t[27];let j=i||!!r,M;t[28]!==o||t[29]!==n?(M=e=>o({ziel:n,aktion:e}),t[28]=o,t[29]=n,t[30]=M):M=t[30];let P;t[31]!==u||t[32]!==j||t[33]!==M?(P=(0,Z.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[k,(0,Z.jsx)(Wt,{b:u,gesperrt:j,onSuchen:M})]}),t[31]=u,t[32]=j,t[33]=M,t[34]=P):P=t[34];let F=d.length?fe(n):``,I;t[35]===F?I=t[36]:(I=(0,Z.jsx)(`span`,{role:`cell`,className:`text-sm text-text-3`,children:F}),t[35]=F,t[36]=I);let z=r?(0,Z.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,r]}):d.map(e=>(0,Z.jsx)(A,{variant:`outline`,size:`sm`,disabled:i,onClick:()=>e.aktion&&o({ziel:n,aktion:e.aktion}),children:Gt[e.id]??e.aktion?.label??`Updaten`},e.id)),B;t[37]===z?B=t[38]:(B=(0,Z.jsx)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 md:flex-col md:items-stretch`,children:z}),t[37]=z,t[38]=B);let V;t[39]!==m||t[40]!==h||t[41]!==g||t[42]!==n.id?(V=m&&(0,Z.jsxs)(`div`,{className:`col-span-full flex flex-col gap-2`,children:[(0,Z.jsxs)(`button`,{type:`button`,"aria-expanded":h,onClick:()=>g(!h),className:`inline-flex min-h-9 items-center gap-1.5 self-start text-sm text-cyan-text hover:underline`,children:[(0,Z.jsx)(D,{className:a(`size-4 transition-transform`,h&&`rotate-90`),"aria-hidden":!0}),`Was ist neu?`]}),h&&(0,Z.jsx)(Bt,{zid:n.id,baustein:m.id,className:`flaeche-innen rounded-xl p-3`})]}),t[39]=m,t[40]=h,t[41]=g,t[42]=n.id,t[43]=V):V=t[43];let H;return t[44]!==T||t[45]!==O||t[46]!==P||t[47]!==I||t[48]!==B||t[49]!==V||t[50]!==v?(H=(0,Z.jsxs)(`div`,{role:`row`,className:v,children:[T,O,P,I,B,V]}),t[44]=T,t[45]=O,t[46]=P,t[47]=I,t[48]=B,t[49]=V,t[50]=v,t[51]=H):H=t[51],H}function Jt(e){return e.zustand===`neu`&&e.aktion}function Yt(e){let t=(0,X.c)(48),{ziele:n,laufend:r,gesperrt:i,onAktion:o}=e,[s,c]=(0,Q.useState)(null),l;t[0]===s?l=t[1]:(l=s?s.ziel.bausteine.find(e=>e.aktion?.pfad===s.aktion.pfad&&Kt(s.ziel,e)):void 0,t[0]=s,t[1]=l);let u=l,d,f,p,m,h,g;if(t[2]!==i||t[3]!==r||t[4]!==n){let e=[...n].sort(Zt),o;t[11]===n?o=t[12]:(o=n.filter(Xt),t[11]=n,t[12]=o),d=o.length,f=`table`,p=`Updates je Gerät`,m=`flex flex-col`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Vt),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),t[13]=h):h=t[13];let s;t[14]!==i||t[15]!==r?(s=e=>(0,Z.jsx)(qt,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:i||r.has(e.id),onFrage:c},e.id),t[14]=i,t[15]=r,t[16]=s):s=t[16],g=e.map(s),t[2]=i,t[3]=r,t[4]=n,t[5]=d,t[6]=f,t[7]=p,t[8]=m,t[9]=h,t[10]=g}else d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10];let _;t[17]!==f||t[18]!==p||t[19]!==m||t[20]!==h||t[21]!==g?(_=(0,Z.jsxs)(`div`,{role:f,"aria-label":p,className:m,children:[h,g]}),t[17]=f,t[18]=p,t[19]=m,t[20]=h,t[21]=g,t[22]=_):_=t[22];let v;t[23]!==d||t[24]!==n.length?(v=d>0&&d===n.length&&(0,Z.jsx)(V,{art:`gruen`,children:`Alles aktuell`}),t[23]=d,t[24]=n.length,t[25]=v):v=t[25];let y=!!s,b=s?`${s.ziel.name}: ${s.aktion.label}`:``,x=s?.aktion.frage??``,S=s?.aktion.label??``,C;t[26]===s?.aktion.pfad?C=t[27]:(C=s?.aktion.pfad.endsWith(`/neustart`),t[26]=s?.aktion.pfad,t[27]=C);let w=!!C,T;t[28]!==s||t[29]!==o?(T=()=>{s&&o(s.aktion),c(null)},t[28]=s,t[29]=o,t[30]=T):T=t[30];let E;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>c(null),t[31]=E):E=t[31];let D;t[32]!==s||t[33]!==u?(D=u&&s&&(0,Z.jsx)(Bt,{zid:s.ziel.id,baustein:u.id,kompakt:!0}),t[32]=s,t[33]=u,t[34]=D):D=t[34];let O;t[35]!==i||t[36]!==b||t[37]!==x||t[38]!==S||t[39]!==w||t[40]!==T||t[41]!==D||t[42]!==y?(O=(0,Z.jsx)(oe,{offen:y,titel:b,text:x,knopf:S,gefahr:w,gesperrt:i,onJa:T,onNein:E,children:D}),t[35]=i,t[36]=b,t[37]=x,t[38]=S,t[39]=w,t[40]=T,t[41]=D,t[42]=y,t[43]=O):O=t[43];let k;return t[44]!==O||t[45]!==_||t[46]!==v?(k=(0,Z.jsxs)(Z.Fragment,{children:[_,v,O]}),t[44]=O,t[45]=_,t[46]=v,t[47]=k):k=t[47],k}function Xt(e){return G(e)===3}function Zt(e,t){return G(e)-G(t)}var Qt=`md:grid-cols-[minmax(0,1.6fr)_minmax(0,1fr)_minmax(0,1.4fr)]`,$t={ok:`bg-gruen`,gelb:`bg-bernstein`,rot:`bg-rot shadow-[0_0_8px_var(--rot)]`},en={ok:`text-text-3`,gelb:`text-bernstein`,rot:`text-rot-text`},tn=e=>b(new Date(e*1e3).toISOString()).toLowerCase();function nn(e){if(e<=0)return`abgelaufen`;if(e<86400)return`noch ${Math.max(1,Math.round(e/3600))} Std.`;let t=Math.round(e/86400);return t<60?`noch ${t} ${t===1?`Tag`:`Tage`}`:t<730?`noch ${Math.round(t/30)} Monate`:`noch ${Math.round(t/365)} Jahre`}function rn(e){let t=(0,X.c)(40),{z:n}=e,r=n.namen.length>1?` und ${n.namen.length-1} weitere`:``,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=a(`grid grid-cols-2 gap-x-4 gap-y-1 border-t border-white/[0.06] py-3 md:items-center`,Qt),t[0]=i):i=t[0];let o=$t[n.stufe],s;t[1]===o?s=t[2]:(s=a(`mt-1.5 size-2 shrink-0 rounded-full`,o),t[1]=o,t[2]=s);let c;t[3]===s?c=t[4]:(c=(0,Z.jsx)(`span`,{"aria-hidden":!0,className:s}),t[3]=s,t[4]=c);let l;t[5]!==r||t[6]!==n.name?(l=(0,Z.jsxs)(`span`,{className:`text-[15px] font-semibold break-all`,children:[n.name,r]}),t[5]=r,t[6]=n.name,t[7]=l):l=t[7];let u;t[8]!==n.aussteller||t[9]!==n.wo?(u=[n.wo,n.aussteller].filter(Boolean),t[8]=n.aussteller,t[9]=n.wo,t[10]=u):u=t[10];let d=u.join(` · `),f;t[11]===d?f=t[12]:(f=(0,Z.jsx)(`span`,{className:`text-[13px] text-text-3`,children:d}),t[11]=d,t[12]=f);let p;t[13]!==l||t[14]!==f?(p=(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[l,f]}),t[13]=l,t[14]=f,t[15]=p):p=t[15];let m;t[16]!==c||t[17]!==p?(m=(0,Z.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 md:col-span-1`,children:[c,p]}),t[16]=c,t[17]=p,t[18]=m):m=t[18];let h;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Gültig bis `}),t[19]=h):h=t[19];let g;t[20]===n.bis?g=t[21]:(g=tn(n.bis),t[20]=n.bis,t[21]=g);let _;t[22]===g?_=t[23]:(_=(0,Z.jsx)(`span`,{className:`ziffern`,children:g}),t[22]=g,t[23]=_);let v;t[24]===n.rest_s?v=t[25]:(v=nn(n.rest_s),t[24]=n.rest_s,t[25]=v);let y;t[26]===v?y=t[27]:(y=(0,Z.jsx)(`span`,{className:`block text-xs text-text-3`,children:v}),t[26]=v,t[27]=y);let b;t[28]!==_||t[29]!==y?(b=(0,Z.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[h,_,y]}),t[28]=_,t[29]=y,t[30]=b):b=t[30];let x=en[n.stufe],S;t[31]===x?S=t[32]:(S=a(`text-sm`,x),t[31]=x,t[32]=S);let C=n.problem??`in Ordnung`,w;t[33]!==S||t[34]!==C?(w=(0,Z.jsx)(`span`,{role:`cell`,className:S,children:C}),t[33]=S,t[34]=C,t[35]=w):w=t[35];let T;return t[36]!==m||t[37]!==b||t[38]!==w?(T=(0,Z.jsxs)(`div`,{role:`row`,className:i,children:[m,b,w]}),t[36]=m,t[37]=b,t[38]=w,t[39]=T):T=t[39],T}function an(e){let t=(0,X.c)(37),{daten:n}=e,r=n.zertifikate;if(!n.gelesen||r.length===0)return null;let i,o,s,c,l,u,d,f,p;if(t[0]!==r){o=r.filter(ln),i=r.some(cn),f=o.length>0,p=`flaeche-innen group rounded-2xl px-4 open:pb-3`,u=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`;let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(D,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[10]=e):e=t[10],t[11]===r.length?d=t[12]:(d=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[e,r.length,` Zertifikate`]}),t[11]=r.length,t[12]=d),s=a,c=`text-sm`,l=o.length?en[o.some(sn)?`rot`:`gelb`]:`text-text-2`,t[0]=r,t[1]=i,t[2]=o,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p}else i=t[1],o=t[2],s=t[3],c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9];let m;t[13]!==s||t[14]!==c||t[15]!==l?(m=s(c,l),t[13]=s,t[14]=c,t[15]=l,t[16]=m):m=t[16];let h=o.length?`${o.length} mit Problem`:`alle gültig`,g;t[17]!==m||t[18]!==h?(g=(0,Z.jsx)(`span`,{className:m,children:h}),t[17]=m,t[18]=h,t[19]=g):g=t[19];let _;t[20]!==g||t[21]!==u||t[22]!==d?(_=(0,Z.jsxs)(`summary`,{className:u,children:[d,g]}),t[20]=g,t[21]=u,t[22]=d,t[23]=_):_=t[23];let v;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pt-1 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Qt),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Für`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Gültig bis`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zustand`})]}),t[24]=v):v=t[24];let y;t[25]===r?y=t[26]:(y=r.map(on),t[25]=r,t[26]=y);let b;t[27]===y?b=t[28]:(b=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Zertifikate`,className:`flex flex-col`,children:[v,y]}),t[27]=y,t[28]=b);let x;t[29]===i?x=t[30]:(x=i&&(0,Z.jsx)(`p`,{className:`m-0 border-t border-white/[0.06] pt-3 text-sm text-text-3`,children:`Die Zertifikate von NPMplus gelten nur knapp eine Woche und werden laufend erneuert — gemeldet wird erst, wenn eine Erneuerung ausbleibt.`}),t[29]=i,t[30]=x);let S;return t[31]!==_||t[32]!==b||t[33]!==x||t[34]!==f||t[35]!==p?(S=(0,Z.jsxs)(`details`,{open:f,className:p,children:[_,b,x]}),t[31]=_,t[32]=b,t[33]=x,t[34]=f,t[35]=p,t[36]=S):S=t[36],S}function on(e){return(0,Z.jsx)(rn,{z:e},`${e.quelle}-${e.datei}-${e.name}`)}function sn(e){return e.stufe===`rot`}function cn(e){return e.quelle===`npm`&&e.laufzeit_s!==null&&e.laufzeit_s<2592e3}function ln(e){return e.stufe!==`ok`}var un=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],dn={eingespielt:{art:`gruen`,text:`eingespielt`},zurueckgerollt:{art:`bernstein`,text:`zurückgerollt`},fehler:{art:`rot`,text:`Fehler`},neustart:{art:`cyan`,text:`Neustart`},aufgeraeumt:{art:`gruen`,text:`aufgeräumt`},offen:{art:`cyan`,text:`Probelauf`}},fn=e=>b(new Date(e*1e3).toISOString());function pn(){let e=(0,X.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Homelab-Teil läuft als eigene Instanz in einem kleinen Container auf dem Proxmox-PC. Von dort prüft er auch die KI-Box von außen.`}),n=(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Steht er, erscheinen hier alle Geräte mit ihren offenen Updates. Ein Update startest du mit „Jetzt updaten“: Vorher wird gesichert, danach die Erreichbarkeit geprüft, und ist sie rot, geht es von selbst zurück.`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-3`,children:`Dazu kommen`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Z.jsxs)(Z.Fragment,{children:[t,n,(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,Z.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:un.map(mn)})]}),(0,Z.jsx)(`p`,{className:`text-sm text-text-3`,children:`Der Container wird erst nach deiner Freigabe angelegt.`})]}),e[3]=i):i=e[3],i}function mn(e){return(0,Z.jsx)(`li`,{children:(0,Z.jsx)(V,{children:e})},e)}function hn(e){let t=(0,X.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,Z.jsx)(V,{art:`rot`,children:`Antwortet nicht`}):(0,Z.jsx)(V,{children:`Noch nicht eingerichtet`}),t[0]=n.eingerichtet,t[1]=r);let i=r,a;t[2]!==n.eingerichtet||t[3]!==n.fehler||t[4]!==n.url?(a=n.eingerichtet?(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Homelab-Teil (`,n.url,`) ist `,n.fehler??`nicht erreichbar`,`. Hält das an, meldet der Wächter es nach fünf Minuten auf Telegram.`]}):(0,Z.jsx)(pn,{}),t[2]=n.eingerichtet,t[3]=n.fehler,t[4]=n.url,t[5]=a):a=t[5];let o;return t[6]!==i||t[7]!==a?(o=(0,Z.jsx)(J,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function gn(e){let t=(0,X.c)(12),{hinweise:n}=e,r,i;t[0]===n?(r=t[1],i=t[2]):(r=n.filter(vn),i=r.some(_n),t[0]=n,t[1]=r,t[2]=i);let a=i?`rot`:r.length?`bernstein`:`grau`,o=r.length?`${r.length} offen`:`alle stumm`,s;t[3]!==a||t[4]!==o?(s=(0,Z.jsx)(V,{art:a,children:o}),t[3]=a,t[4]=o,t[5]=s):s=t[5];let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=[],t[6]=c):c=t[6];let l;t[7]===n?l=t[8]:(l=(0,Z.jsx)(_e,{hinweise:n,verlauf:c,basis:`/api/homelab/hinweise`}),t[7]=n,t[8]=l);let u;return t[9]!==s||t[10]!==l?(u=(0,Z.jsx)(J,{titel:`Hinweise`,id:`hinweise`,rechts:s,children:l}),t[9]=s,t[10]=l,t[11]=u):u=t[11],u}function _n(e){return e.stufe===`rot`}function vn(e){return e.zustand!==`stumm`}function yn(e){let t=(0,X.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(xn).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch kein Update im Homelab eingespielt.`}),t[4]=e):e=t[4],a=e;break bb0}r=`@container m-0 flex list-none flex-col p-0`,i=e.map(bn)}t[0]=n,t[1]=r,t[2]=i,t[3]=a}else r=t[1],i=t[2],a=t[3];if(a!==Symbol.for(`react.early_return_sentinel`))return a;let o;return t[5]!==r||t[6]!==i?(o=(0,Z.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function bn(e){let t=e.ergebnis?dn[e.ergebnis]??{art:`grau`,text:e.ergebnis}:{art:`grau`,text:`unterbrochen`};return(0,Z.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-0`,children:[(0,Z.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,Z.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:fn(e.start)}),(0,Z.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:e.name}),(0,Z.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,Z.jsx)(V,{art:t.art,children:t.text})})]}),e.text&&(0,Z.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function xn(e){return e.status!==`laeuft`&&!pe(e)}function Sn(e){let t=(0,X.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${fn(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,Z.jsxs)(`p`,{role:`alert`,className:`rounded-2xl bg-bernstein/[0.08] px-4 py-3 text-[15px] text-bernstein ring-1 ring-bernstein/35 ring-inset`,children:[`Der Ausführer auf dem Proxmox-Host meldet sich nicht`,e,`. Die Geräte zeigen den letzten bekannten Stand; Updates starten erst, wenn er wieder da ist.`]}),t[2]=e,t[3]=r),r}if(!n.bericht){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),t[4]=e):e=t[4],e}if(n.bericht.veraltet){let e;t[5]===n.bericht.empfangen?e=t[6]:(e=fn(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,Z.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,e,`; die Angaben können veraltet sein.`]}),t[7]=e,t[8]=r),r}return null}function Cn(){let e=(0,X.c)(20),t=c(),n=s(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=y(r),a=_(r),o=E(r),l=S(),u=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(I,{text:`Wird gelesen …`}),e[0]=t):t=e[0],u=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,Z.jsx)(hn,{partner:n.data}):(0,Z.jsx)(I,{fehler:!0,text:`Der Partner lässt sich nicht abfragen: ${n.error?.message??`keine Daten`}`}),e[1]=n.data,e[2]=n.error?.message,e[3]=t):t=e[3],u=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(I,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],u=t}else if(!i.data){let t=`Der Homelab-Teil antwortet nicht: ${i.error?.message??`keine Daten`}`,n;e[5]===t?n=e[6]:(n=(0,Z.jsx)(I,{fehler:!0,text:t}),e[5]=t,e[6]=n),u=n}let d;if(e[7]!==a.data?.laeufe){d=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&d.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=d}else d=e[8];let f;e[9]===a.data?.laeufe?f=e[10]:(f=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=f);let p;e[11]===o.data?.hinweise?p=e[12]:(p=o.data?.hinweise??[],e[11]=o.data?.hinweise,e[12]=p);let m;return e[13]!==l||e[14]!==u||e[15]!==i.data||e[16]!==d||e[17]!==f||e[18]!==p?(m={ersatz:u,stand:i.data,laufend:d,laeufe:f,hinweise:p,aktion:l},e[13]=l,e[14]=u,e[15]=i.data,e[16]=d,e[17]=f,e[18]=p,e[19]=m):m=e[19],m}function wn(){let e=(0,X.c)(67),t=ne(),{ersatz:n,stand:r,laufend:i,laeufe:a,hinweise:s,aktion:c}=Cn(),d=T(`1h`,!!r),p=w(!!r),m=f(!!r),h=o(),_=l(!!r),v=g(!!r),y=u();if(n||!r)return n;let b,x,S;if(e[0]!==s||e[1]!==a||e[2]!==r){b=r.bericht?fn(r.bericht.empfangen):null;let t;e[6]===a?t=e[7]:(t=new Set(a.filter(En).map(Tn)),e[6]=a,e[7]=t),x=t,S=B(r,s,x.size,b),e[0]=s,e[1]=a,e[2]=r,e[3]=b,e[4]=x,e[5]=S}else b=e[3],x=e[4],S=e[5];let C=S,E;e[8]!==C.ziel||e[9]!==t?(E=()=>{C.ziel===`updates`?t({to:`/homelab/updates`}):C.ziel&&document.getElementById(C.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[8]=C.ziel,e[9]=t,e[10]=E):E=e[10];let D;e[11]===t?D=e[12]:(D=(e,n)=>{n?t({to:`/homelab/updates`}):document.getElementById(`geraet-${e.id}`)?.scrollIntoView({behavior:`smooth`,block:`center`})},e[11]=t,e[12]=D);let O;e[13]!==x||e[14]!==C||e[15]!==r.ziele||e[16]!==E||e[17]!==D?(O=(0,Z.jsx)(We,{lage:C,ziele:r.ziele,imUpdate:x,onAnsehen:E,onGeraet:D}),e[13]=x,e[14]=C,e[15]=r.ziele,e[16]=E,e[17]=D,e[18]=O):O=e[18];let k;e[19]===r?k=e[20]:(k=(0,Z.jsx)(Sn,{stand:r}),e[19]=r,e[20]=k);let A;e[21]===s?A=e[22]:(A=s.length>0&&(0,Z.jsx)(gn,{hinweise:s}),e[21]=s,e[22]=A);let j;e[23]===_.data?.geraete?j=e[24]:(j=_.data?.geraete??[],e[23]=_.data?.geraete,e[24]=j);let M;e[25]===_.data?.docker?M=e[26]:(M=_.data?.docker??[],e[25]=_.data?.docker,e[26]=M);let N=y.isPending||!r.ausfuehrer.verbunden,P;e[27]===y?P=e[28]:(P=(e,t)=>y.mutate({id:e,wahl:t}),e[27]=y,e[28]=P);let F;e[29]!==j||e[30]!==M||e[31]!==N||e[32]!==P?(F=(0,Z.jsx)(Xe,{geraete:j,stacks:M,gesperrt:N,onWahl:P}),e[29]=j,e[30]=M,e[31]=N,e[32]=P,e[33]=F):F=e[33];let I;e[34]===b?I=e[35]:(I=b&&(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,b]}),e[34]=b,e[35]=I);let L;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,Z.jsxs)(se,{to:`/homelab/monitoring`,className:`inline-flex items-center gap-1 text-sm text-lab-text hover:underline`,children:[`Monitoring `,(0,Z.jsx)(de,{className:`size-3.5`,"aria-hidden":!0})]}),e[36]=L):L=e[36];let R;e[37]===I?R=e[38]:(R=(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[I,L]}),e[37]=I,e[38]=R);let z=d.data?.geraete,V;e[39]!==r.ziele||e[40]!==z?(V=(0,Z.jsx)(Be,{ziele:r.ziele,messwerte:z}),e[39]=r.ziele,e[40]=z,e[41]=V):V=e[41];let H;e[42]===d.isError?H=e[43]:(H=d.isError&&(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:`CPU und Speicher erscheinen, sobald der Ausführer Messwerte schickt.`}),e[42]=d.isError,e[43]=H);let U;e[44]!==R||e[45]!==V||e[46]!==H?(U=(0,Z.jsxs)(J,{titel:`Geräte`,id:`geraete`,rechts:R,children:[V,H]}),e[44]=R,e[45]=V,e[46]=H,e[47]=U):U=e[47];let W;e[48]===v.data?W=e[49]:(W=v.data?.verfuegbar&&v.data.stacks.length>0&&(0,Z.jsx)(J,{titel:`Docker-Dienste`,id:`docker`,children:(0,Z.jsx)(je,{lage:v.data})}),e[48]=v.data,e[49]=W);let G;e[50]!==c||e[51]!==i||e[52]!==h||e[53]!==p.data||e[54]!==r.ausfuehrer?(G=p.data?.bericht&&(0,Z.jsx)(J,{titel:`Speicher und Sicherungen`,id:`speicher`,children:(0,Z.jsx)(yt,{daten:p.data,laeuft:i.get(`pve`)??null,gesperrt:c.isPending||i.has(`pve`)||!r.ausfuehrer.verbunden,onAktion:e=>c.mutate(e),onProbe:()=>h.mutate(void 0),probeGesperrt:h.isPending||!r.ausfuehrer.verbunden,snapshotsLink:(0,Z.jsxs)(se,{to:`/homelab/snapshots`,className:`inline-flex min-h-10 items-center gap-1 self-start text-sm text-lab-text hover:underline`,children:[`Zu den Snapshots `,(0,Z.jsx)(de,{className:`size-3.5`,"aria-hidden":!0})]})})}),e[50]=c,e[51]=i,e[52]=h,e[53]=p.data,e[54]=r.ausfuehrer,e[55]=G):G=e[55];let K;e[56]===m.data?K=e[57]:(K=m.data?.gelesen&&m.data.zertifikate.length>0&&(0,Z.jsx)(J,{titel:`Zertifikate`,id:`zertifikate`,children:(0,Z.jsx)(an,{daten:m.data})}),e[56]=m.data,e[57]=K);let q;return e[58]!==F||e[59]!==U||e[60]!==W||e[61]!==G||e[62]!==K||e[63]!==O||e[64]!==k||e[65]!==A?(q=(0,Z.jsxs)(Z.Fragment,{children:[O,k,A,F,U,W,G,K]}),e[58]=F,e[59]=U,e[60]=W,e[61]=G,e[62]=K,e[63]=O,e[64]=k,e[65]=A,e[66]=q):q=e[66],q}function Tn(e){return e.ziel}function En(e){return e.status===`laeuft`&&!pe(e)}function Dn(){let e=(0,X.c)(30),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=Cn(),o=p(!!n),s=h();if(t||!n)return t;let c=o.data?.sammellauf??null,l=c?.status===`laeuft`,u;e[0]===n.ziele?u=e[1]:(u=he(n.ziele).filter(On),e[0]=n.ziele,e[1]=u);let d=u.length,f=a.isPending||l||!n.ausfuehrer.verbunden,m;e[2]!==d||e[3]!==f?(m=(0,Z.jsx)(Ot,{anzahl:d,gesperrt:f}),e[2]=d,e[3]=f,e[4]=m):m=e[4];let g;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Z.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Je Gerät, was läuft und was neu ist. Du startest jedes Update selbst — einzeln oder alle nacheinander. Vorher wird gesichert, danach geprüft; ist die Prüfung rot, geht es von selbst zurück.`}),e[5]=g):g=e[5];let _;e[6]===n?_=e[7]:(_=(0,Z.jsx)(Sn,{stand:n}),e[6]=n,e[7]=_);let v;e[8]!==c||e[9]!==s||e[10]!==l||e[11]!==n.bericht?.empfangen?(v=c&&(l||c.ende&&(n.bericht?.empfangen??0)-c.ende<21600)&&(0,Z.jsx)(Mt,{lauf:c,onQuittieren:()=>s.mutate(c.id)}),e[8]=c,e[9]=s,e[10]=l,e[11]=n.bericht?.empfangen,e[12]=v):v=e[12];let y=a.isPending||l||!n.ausfuehrer.verbunden,b;e[13]===a?b=e[14]:(b=e=>a.mutate(e),e[13]=a,e[14]=b);let x;e[15]!==r||e[16]!==n.ziele||e[17]!==y||e[18]!==b?(x=(0,Z.jsx)(Yt,{ziele:n.ziele,laufend:r,gesperrt:y,onAktion:b}),e[15]=r,e[16]=n.ziele,e[17]=y,e[18]=b,e[19]=x):x=e[19];let S;e[20]!==m||e[21]!==_||e[22]!==v||e[23]!==x?(S=(0,Z.jsxs)(J,{titel:`Updates`,rechts:m,children:[g,_,v,x]}),e[20]=m,e[21]=_,e[22]=v,e[23]=x,e[24]=S):S=e[24];let C;e[25]===i?C=e[26]:(C=(0,Z.jsx)(J,{titel:`Verlauf`,children:(0,Z.jsx)(yn,{laeufe:i})}),e[25]=i,e[26]=C);let w;return e[27]!==C||e[28]!==S?(w=(0,Z.jsxs)(Z.Fragment,{children:[S,C]}),e[27]=C,e[28]=S,e[29]=w):w=e[29],w}function On(e){return e.baustein.aktion}export{wn as HomelabSeite,Dn as HomelabUpdatesSeite};