Files
mission-control-v2/frontend/dist/assets/Homelab-Aa2Ap460.js
T

1 line
23 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{c as e,i as t,p as n,s as r,t as i,u as a}from"./button-BheHBEml.js";import{$ as o,A as s,M as c,O as l,_ as u,b as d,d as f,f as p,g as m,gt as h,h as g,i as _,k as v,l as y,m as b,n as x,p as S,r as C,st as w,t as T,tt as E,u as D,v as O,vt as k,y as A,z as j}from"./index-C6xT7cKA.js";import{t as M}from"./Bestaetigen-CE_3b0PK.js";var N=r(),P=n(a(),1),F=e();function I(e){let t=(0,N.c)(14),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?O(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,F.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,F.jsx)(`span`,{className:`text-text-3`,children:`–`}),t[0]=e,t[1]=r),r}let i=r.installiert??void 0,a;t[2]===r.installiert?a=t[3]:(a=r.installiert&&(0,F.jsx)(`span`,{className:`text-foreground`,children:A(r.installiert)}),t[2]=r.installiert,t[3]=a);let o;t[4]!==r.verfuegbar||t[5]!==r.zustand?(o=r.zustand===`neu`&&r.verfuegbar&&(0,F.jsxs)(`span`,{className:`text-cyan`,children:[`→ `,r.verfuegbar]}),t[4]=r.verfuegbar,t[5]=r.zustand,t[6]=o):o=t[6];let s;t[7]===r.zustand?s=t[8]:(s=r.zustand===`unbekannt`&&(0,F.jsx)(`span`,{className:`text-bernstein`,children:`unklar`}),t[7]=r.zustand,t[8]=s);let c;return t[9]!==i||t[10]!==a||t[11]!==o||t[12]!==s?(c=(0,F.jsxs)(`span`,{className:`ziffern flex flex-wrap gap-x-2 text-sm`,title:i,children:[a,o,s]}),t[9]=i,t[10]=a,t[11]=o,t[12]=s,t[13]=c):c=t[13],c}function L(e){let t=(0,N.c)(12),{b:n}=e,r=n.id===`docker`;if(n.zustand===`neu`){let e=n.kurz?`${n.kurz} offen`:`Update bereit`,r;return t[0]===e?r=t[1]:(r=(0,F.jsx)(`span`,{className:`text-cyan`,children:e}),t[0]=e,t[1]=r),r}if(n.zustand===`aktuell`){let e=r?`Images aktuell`:`aktuell`,n;return t[2]===e?n=t[3]:(n=(0,F.jsx)(`span`,{className:`text-text-2`,children:e}),t[2]=e,t[3]=n),n}let i;t[4]===n.grund?i=t[5]:(i=S(n.grund),t[4]=n.grund,t[5]=i);let a=i,o=n.grund??void 0,s=r?`Images unklar`:`unklar`,c;t[6]===a?c=t[7]:(c=a&&(0,F.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,a]}),t[6]=a,t[7]=c);let l;return t[8]!==o||t[9]!==s||t[10]!==c?(l=(0,F.jsxs)(`span`,{className:`text-text-2`,title:o,children:[s,c]}),t[8]=o,t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function R(e){let n=(0,N.c)(14),{ziel:r}=e,i=m(r);if(i===null){let e;return n[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.jsx)(`span`,{className:`text-text-3`,children:`–`}),n[0]=e):e=n[0],e}let a=i>=.9?`text-rot-text`:i>=.8?`text-bernstein`:`text-text-2`,o=z,s;n[1]===a?s=n[2]:(s=t(`ziffern text-sm`,a),n[1]=a,n[2]=s);let c;n[3]===r.platte.belegt?c=n[4]:(c=o(r.platte.belegt),n[3]=r.platte.belegt,n[4]=c);let l;n[5]===r.platte.gesamt?l=n[6]:(l=o(r.platte.gesamt),n[5]=r.platte.gesamt,n[6]=l);let u=`${c} von ${l} GB belegt`,d;n[7]===i?d=n[8]:(d=Math.round(i*100),n[7]=i,n[8]=d);let f=Math.min(100,d),p=i>=.9?` voll`:``,h;return n[9]!==s||n[10]!==u||n[11]!==f||n[12]!==p?(h=(0,F.jsxs)(`span`,{className:s,title:u,children:[f,` %`,p]}),n[9]=s,n[10]=u,n[11]=f,n[12]=p,n[13]=h):h=n[13],h}function z(e){return(e/1e9).toFixed(1).replace(`.`,`,`)}function B(e){let n=(0,N.c)(45),{ziel:r,laeuft:a,gesperrt:o,onFrage:s}=e,c;n[0]===r?c=n[1]:(c=y(r),n[0]=r,n[1]=c);let l=c,u;n[2]===r?u=n[3]:(u=O(r),n[2]=r,n[3]=u);let d=u,f=d?.zustand===`unbekannt`?d.aktion:null,p;n[4]===r.name?p=n[5]:(p=(0,F.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:r.name}),n[4]=r.name,n[5]=p);let m;n[6]===r?m=n[7]:(m=D(r)!==r.name&&(0,F.jsx)(`span`,{className:`text-sm text-text-3`,children:D(r)}),n[6]=r,n[7]=m);let g;n[8]===a?g=n[9]:(g=a&&(0,F.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan`,children:[`Update läuft: `,a]}),n[8]=a,n[9]=g);let _;n[10]!==p||n[11]!==m||n[12]!==g?(_=(0,F.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[p,m,g]}),n[10]=p,n[11]=m,n[12]=g,n[13]=_):_=n[13];let v;n[14]!==l||n[15]!==r?(v=(0,F.jsx)(`span`,{role:`cell`,className:`col-span-2 md:col-span-1`,children:(0,F.jsx)(I,{ziel:r,b:l})}),n[14]=l,n[15]=r,n[16]=v):v=n[16];let b;n[17]===d?b=n[18]:(b=(0,F.jsx)(`span`,{className:`min-w-0`,children:d?(0,F.jsx)(L,{b:d}):(0,F.jsx)(`span`,{className:`text-text-3`,children:`–`})}),n[17]=d,n[18]=b);let x;n[19]!==o||n[20]!==a||n[21]!==s||n[22]!==f||n[23]!==r?(x=f&&(0,F.jsx)(i,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":f.label,title:f.label,disabled:o||!!a,onClick:()=>s({ziel:r,aktion:f}),children:(0,F.jsx)(h,{})}),n[19]=o,n[20]=a,n[21]=s,n[22]=f,n[23]=r,n[24]=x):x=n[24];let S;n[25]!==b||n[26]!==x?(S=(0,F.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex items-center gap-x-2 text-sm md:col-span-1`,children:[b,x]}),n[25]=b,n[26]=x,n[27]=S):S=n[27];let C;n[28]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,F.jsx)(`span`,{className:`text-sm text-text-3 md:hidden`,children:`Platte `}),n[28]=C):C=n[28];let w;n[29]===r?w=n[30]:(w=(0,F.jsxs)(`span`,{role:`cell`,className:`col-span-2 md:col-span-1`,children:[C,(0,F.jsx)(R,{ziel:r})]}),n[29]=r,n[30]=w);let T=r.erreichbar===!1?`text-rot-text`:`text-text-3`,E;n[31]===T?E=n[32]:(E=t(`schild col-start-2 row-start-1 flex items-center gap-1.5 self-start text-xs md:col-start-auto md:row-start-auto md:self-center`,T),n[31]=T,n[32]=E);let k;n[33]===r.erreichbar?k=n[34]:(k=r.erreichbar!==null&&(0,F.jsx)(`span`,{"aria-hidden":!0,className:t(`size-2 rounded-full`,r.erreichbar?`bg-gruen`:`bg-rot`)}),n[33]=r.erreichbar,n[34]=k);let A=r.erreichbar===null?`–`:r.erreichbar?`erreichbar`:`antwortet nicht`,j;n[35]!==E||n[36]!==k||n[37]!==A?(j=(0,F.jsxs)(`span`,{role:`cell`,className:E,children:[k,A]}),n[35]=E,n[36]=k,n[37]=A,n[38]=j):j=n[38];let M;return n[39]!==S||n[40]!==w||n[41]!==j||n[42]!==_||n[43]!==v?(M=(0,F.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1 border-t border-linie py-3 md:grid-cols-[minmax(0,1.2fr)_minmax(0,1fr)_minmax(0,1.5fr)_90px_130px] md:items-center`,children:[_,v,S,w,j]}),n[39]=S,n[40]=w,n[41]=j,n[42]=_,n[43]=v,n[44]=M):M=n[44],M}function V(e){let t=(0,N.c)(24),{ziele:n,laufend:r,gesperrt:i,onAktion:a}=e,[o,s]=(0,P.useState)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,F.jsxs)(`div`,{role:`row`,className:`schild hidden grid-cols-[minmax(0,1.2fr)_minmax(0,1fr)_minmax(0,1.5fr)_90px_130px] gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,children:[(0,F.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,F.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,F.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,F.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,F.jsx)(`span`,{role:`columnheader`,children:`Netz`})]}),t[0]=c):c=t[0];let l;if(t[1]!==i||t[2]!==r||t[3]!==n){let e;t[5]!==i||t[6]!==r?(e=e=>(0,F.jsx)(B,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:i,onFrage:s},e.id),t[5]=i,t[6]=r,t[7]=e):e=t[7],l=n.map(e),t[1]=i,t[2]=r,t[3]=n,t[4]=l}else l=t[4];let u;t[8]===l?u=t[9]:(u=(0,F.jsxs)(`div`,{role:`table`,"aria-label":`Geräte im Homelab`,className:`flex flex-col`,children:[c,l]}),t[8]=l,t[9]=u);let d=!!o,f=o?`${o.ziel.name}: ${o.aktion.label}`:``,p=o?.aktion.frage??``,m=o?.aktion.label??``,h;t[10]!==o||t[11]!==a?(h=()=>{o&&a(o.aktion),s(null)},t[10]=o,t[11]=a,t[12]=h):h=t[12];let g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>s(null),t[13]=g):g=t[13];let _;t[14]!==i||t[15]!==d||t[16]!==f||t[17]!==p||t[18]!==m||t[19]!==h?(_=(0,F.jsx)(M,{offen:d,titel:f,text:p,knopf:m,gesperrt:i,onJa:h,onNein:g}),t[14]=i,t[15]=d,t[16]=f,t[17]=p,t[18]=m,t[19]=h,t[20]=_):_=t[20];let v;return t[21]!==_||t[22]!==u?(v=(0,F.jsxs)(F.Fragment,{children:[u,_]}),t[21]=_,t[22]=u,t[23]=v):v=t[23],v}function H(e){let n=(0,N.c)(24),{lage:r,lampen:i,onAnsehen:a}=e,o=r.ziel!==null,s=!o,c=`${r.oben} ${r.mitte}`,l=w[r.art],u=o?`cursor-pointer`:`cursor-default`,d;n[0]!==l||n[1]!==u?(d=t(`flex min-h-[130px] flex-col items-center justify-center gap-1 rounded-2xl border px-4 py-4 font-anzeige transition-colors`,l,u),n[0]=l,n[1]=u,n[2]=d):d=n[2];let f;n[3]===r.oben?f=n[4]:(f=(0,F.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:r.oben}),n[3]=r.oben,n[4]=f);let p;n[5]===r.mitte?p=n[6]:(p=(0,F.jsx)(`span`,{className:`text-center text-[34px] leading-none font-bold tracking-[0.04em] sm:text-[38px]`,children:r.mitte}),n[5]=r.mitte,n[6]=p);let m;n[7]===r.unten?m=n[8]:(m=(0,F.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:r.unten}),n[7]=r.unten,n[8]=m);let h;n[9]!==a||n[10]!==s||n[11]!==c||n[12]!==d||n[13]!==f||n[14]!==p||n[15]!==m?(h=(0,F.jsxs)(`button`,{type:`button`,onClick:a,disabled:s,"aria-label":c,className:d,children:[f,p,m]}),n[9]=a,n[10]=s,n[11]=c,n[12]=d,n[13]=f,n[14]=p,n[15]=m,n[16]=h):h=n[16];let g;n[17]===i?g=n[18]:(g=i.map(U),n[17]=i,n[18]=g);let _;n[19]===g?_=n[20]:(_=(0,F.jsx)(`ul`,{"aria-label":`Geräte`,className:`grid grid-cols-2 gap-2.5 rounded-2xl border border-linie bg-panel p-3 sm:grid-cols-4`,children:g}),n[19]=g,n[20]=_);let v;return n[21]!==_||n[22]!==h?(v=(0,F.jsxs)(`section`,{"aria-label":`Lage im Homelab`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[h,_]}),n[21]=_,n[22]=h,n[23]=v):v=n[23],v}function U(e){return(0,F.jsx)(T,{lampe:e},e.id)}function W(e){let t=(0,N.c)(47),{u:n,laeuft:r,gesperrt:a,onFrage:o}=e,{ziel:s,baustein:c}=n,l=c.id===`app`||c.id===`arcane`,f=c.installiert??`–`,p;t[0]===c?p=t[1]:(p=b(c),t[0]=c,t[1]=p);let m=p,h;t[2]!==c.aktion||t[3]!==c.grund||t[4]!==s?(h=c.aktion?u(s):c.grund??`Wird nicht über den Orchestrator eingespielt.`,t[2]=c.aktion,t[3]=c.grund,t[4]=s,t[5]=h):h=t[5];let g=h,_;if(r){let e;t[6]===r?e=t[7]:(e=(0,F.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}),t[6]=r,t[7]=e),_=e}else if(c.aktion){let e=c.aktion,n;t[8]!==e||t[9]!==o||t[10]!==s?(n=()=>o({ziel:s,aktion:e}),t[8]=e,t[9]=o,t[10]=s,t[11]=n):n=t[11];let r;t[12]!==e.label||t[13]!==a||t[14]!==n?(r=(0,F.jsx)(i,{variant:`outline`,size:`sm`,disabled:a,onClick:n,children:e.label}),t[12]=e.label,t[13]=a,t[14]=n,t[15]=r):r=t[15],_=r}let v;t[16]===s.name?v=t[17]:(v=(0,F.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:s.name}),t[16]=s.name,t[17]=v);let y;t[18]!==c||t[19]!==s?(y=d(s,c),t[18]=c,t[19]=s,t[20]=y):y=t[20];let x;t[21]===y?x=t[22]:(x=(0,F.jsx)(`span`,{className:`text-sm text-text-3`,children:y}),t[21]=y,t[22]=x);let S;t[23]!==v||t[24]!==x?(S=(0,F.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[v,x]}),t[23]=v,t[24]=x,t[25]=S):S=t[25];let C;t[26]!==f||t[27]!==l||t[28]!==c.installiert||t[29]!==m?(C=(0,F.jsx)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2 md:hidden`,children:l&&c.installiert?(0,F.jsxs)(F.Fragment,{children:[f,` → `,(0,F.jsx)(`span`,{className:`text-cyan`,children:m})]}):(0,F.jsx)(`span`,{className:`text-cyan`,children:m})}),t[26]=f,t[27]=l,t[28]=c.installiert,t[29]=m,t[30]=C):C=t[30];let w;t[31]===f?w=t[32]:(w=(0,F.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-text-2 md:block`,children:f}),t[31]=f,t[32]=w);let T;t[33]===m?T=t[34]:(T=(0,F.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-cyan md:block`,children:m}),t[33]=m,t[34]=T);let E=c.aktion?`text-sm text-text-2`:`text-sm text-text-3`,D;t[35]!==g||t[36]!==E?(D=(0,F.jsx)(`span`,{role:`cell`,className:E,children:g}),t[35]=g,t[36]=E,t[37]=D):D=t[37];let O;t[38]===_?O=t[39]:(O=(0,F.jsx)(`span`,{role:`cell`,className:`flex md:justify-end`,children:_}),t[38]=_,t[39]=O);let k;return t[40]!==D||t[41]!==O||t[42]!==S||t[43]!==C||t[44]!==w||t[45]!==T?(k=(0,F.jsxs)(`div`,{role:`row`,className:`grid grid-cols-1 gap-x-4 gap-y-1.5 border-t border-linie py-3.5 md:grid-cols-[210px_120px_140px_minmax(0,1fr)_auto] md:items-center`,children:[S,C,w,T,D,O]}),t[40]=D,t[41]=O,t[42]=S,t[43]=C,t[44]=w,t[45]=T,t[46]=k):k=t[46],k}function G(e){let t=(0,N.c)(21),{updates:n,laufend:r,gesperrt:i,onAktion:a}=e,[o,s]=(0,P.useState)(null),c;t[0]!==i||t[1]!==r||t[2]!==n?(c=n.length===0?(0,F.jsx)(`p`,{className:`text-[15px] text-gruen`,children:`Im Homelab ist alles aktuell.`}):(0,F.jsxs)(`div`,{role:`table`,"aria-label":`Offene Updates im Homelab`,className:`flex flex-col`,children:[(0,F.jsxs)(`div`,{role:`row`,className:`schild hidden grid-cols-[210px_120px_140px_minmax(0,1fr)_auto] gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,children:[(0,F.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,F.jsx)(`span`,{role:`columnheader`,children:`Läuft`}),(0,F.jsx)(`span`,{role:`columnheader`,children:`Neu`}),(0,F.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,F.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),n.map(e=>(0,F.jsx)(W,{u:e,laeuft:r.get(e.ziel.id)??null,gesperrt:i||r.has(e.ziel.id),onFrage:s},`${e.ziel.id}-${e.baustein.id}`))]}),t[0]=i,t[1]=r,t[2]=n,t[3]=c):c=t[3];let l=!!o,u=o?`${o.ziel.name}: ${o.aktion.label}`:``,d=o?.aktion.frage??``,f=o?.aktion.label??``,p;t[4]===o?.aktion.pfad?p=t[5]:(p=o?.aktion.pfad.endsWith(`/neustart`),t[4]=o?.aktion.pfad,t[5]=p);let m=!!p,h;t[6]!==o||t[7]!==a?(h=()=>{o&&a(o.aktion),s(null)},t[6]=o,t[7]=a,t[8]=h):h=t[8];let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>s(null),t[9]=g):g=t[9];let _;t[10]!==i||t[11]!==l||t[12]!==u||t[13]!==d||t[14]!==f||t[15]!==m||t[16]!==h?(_=(0,F.jsx)(M,{offen:l,titel:u,text:d,knopf:f,gefahr:m,gesperrt:i,onJa:h,onNein:g}),t[10]=i,t[11]=l,t[12]=u,t[13]=d,t[14]=f,t[15]=m,t[16]=h,t[17]=_):_=t[17];let v;return t[18]!==c||t[19]!==_?(v=(0,F.jsxs)(F.Fragment,{children:[c,_]}),t[18]=c,t[19]=_,t[20]=v):v=t[20],v}var K=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],q={eingespielt:{art:`gruen`,text:`eingespielt`},zurueckgerollt:{art:`bernstein`,text:`zurückgerollt`},fehler:{art:`rot`,text:`Fehler`},neustart:{art:`cyan`,text:`Neustart`}},J=e=>E(new Date(e*1e3).toISOString());function Y(){let e=(0,N.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.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,F.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,F.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] 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,F.jsxs)(F.Fragment,{children:[t,n,(0,F.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,F.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:K.map(X)})]}),(0,F.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 X(e){return(0,F.jsx)(`li`,{children:(0,F.jsx)(C,{children:e})},e)}function Z(e){let t=(0,N.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,F.jsx)(C,{art:`rot`,children:`Antwortet nicht`}):(0,F.jsx)(C,{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,F.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,F.jsx)(Y,{}),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,F.jsx)(x,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function ee(e){let t=(0,N.c)(10),{hinweise:n}=e,r=n.some(ne)?`rot`:`bernstein`,i;t[0]!==n.length||t[1]!==r?(i=(0,F.jsxs)(C,{art:r,children:[n.length,` offen`]}),t[0]=n.length,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=n.map(te),t[3]=n,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,F.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:a}),t[5]=a,t[6]=o);let s;return t[7]!==i||t[8]!==o?(s=(0,F.jsx)(x,{titel:`Hinweise`,id:`hinweise`,rechts:i,children:o}),t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function te(e){return(0,F.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,F.jsx)(`span`,{className:e.stufe===`rot`?`text-[15px] font-medium text-rot-text`:`text-[15px] font-medium text-bernstein`,children:e.titel}),(0,F.jsx)(`span`,{className:`text-sm text-text-2`,children:e.text})]},e.id)}function ne(e){return e.stufe===`rot`}function re(e){let t=(0,N.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(ae).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.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(ie)}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,F.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function ie(e){let t=e.ergebnis?q[e.ergebnis]:{art:`grau`,text:`unterbrochen`};return(0,F.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,F.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,F.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:J(e.start)}),(0,F.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,F.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,F.jsx)(C,{art:t.art,children:t.text})})]}),e.text&&(0,F.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function ae(e){return e.status!==`laeuft`}function Q(e){let t=(0,N.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${J(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,F.jsxs)(`p`,{role:`alert`,className:`rounded-xl border border-bernstein/60 bg-bernstein-grund px-4 py-3 text-[15px] text-bernstein`,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,F.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=J(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,F.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 $(){let e=(0,N.c)(20),t=c(),n=j(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=l(r),a=s(r),u=v(r),d=o(),f=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(_,{text:`Wird gelesen …`}),e[0]=t):t=e[0],f=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,F.jsx)(Z,{partner:n.data}):(0,F.jsx)(_,{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],f=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(_,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],f=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,F.jsx)(_,{fehler:!0,text:t}),e[5]=t,e[6]=n),f=n}let p;if(e[7]!==a.data?.laeufe){p=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&p.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=p}else p=e[8];let m;e[9]===a.data?.laeufe?m=e[10]:(m=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=m);let h;e[11]===u.data?.hinweise?h=e[12]:(h=u.data?.hinweise??[],e[11]=u.data?.hinweise,e[12]=h);let g;return e[13]!==d||e[14]!==f||e[15]!==i.data||e[16]!==p||e[17]!==m||e[18]!==h?(g={ersatz:f,stand:i.data,laufend:p,laeufe:m,hinweise:h,aktion:d},e[13]=d,e[14]=f,e[15]=i.data,e[16]=p,e[17]=m,e[18]=h,e[19]=g):g=e[19],g}function oe(){let e=(0,N.c)(38),t=k(),{ersatz:n,stand:r,laufend:i,hinweise:a,aktion:o}=$();if(n||!r)return n;let s,c;e[0]!==a||e[1]!==i.size||e[2]!==r?(s=r.bericht?J(r.bericht.empfangen):null,c=f(r,a,i.size,s),e[0]=a,e[1]=i.size,e[2]=r,e[3]=s,e[4]=c):(s=e[3],c=e[4]);let l=c,u;if(e[5]!==i||e[6]!==r.ziele){let t;e[8]===i?t=e[9]:(t=e=>p(e,i.has(e.id)),e[8]=i,e[9]=t),u=r.ziele.map(t),e[5]=i,e[6]=r.ziele,e[7]=u}else u=e[7];let d;e[10]!==l.ziel||e[11]!==t?(d=()=>{l.ziel===`updates`?t({to:`/homelab/updates`}):l.ziel&&document.getElementById(l.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[10]=l.ziel,e[11]=t,e[12]=d):d=e[12];let m;e[13]!==l||e[14]!==u||e[15]!==d?(m=(0,F.jsx)(H,{lage:l,lampen:u,onAnsehen:d}),e[13]=l,e[14]=u,e[15]=d,e[16]=m):m=e[16];let h;e[17]===r?h=e[18]:(h=(0,F.jsx)(Q,{stand:r}),e[17]=r,e[18]=h);let g;e[19]===a?g=e[20]:(g=a.length>0&&(0,F.jsx)(ee,{hinweise:a}),e[19]=a,e[20]=g);let _;e[21]===s?_=e[22]:(_=s?(0,F.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,s]}):void 0,e[21]=s,e[22]=_);let v;e[23]===o?v=e[24]:(v=e=>o.mutate(e),e[23]=o,e[24]=v);let y;e[25]!==o.isPending||e[26]!==i||e[27]!==r.ziele||e[28]!==v?(y=(0,F.jsx)(V,{ziele:r.ziele,laufend:i,gesperrt:o.isPending,onAktion:v}),e[25]=o.isPending,e[26]=i,e[27]=r.ziele,e[28]=v,e[29]=y):y=e[29];let b;e[30]!==_||e[31]!==y?(b=(0,F.jsx)(x,{titel:`Geräte`,id:`geraete`,rechts:_,children:y}),e[30]=_,e[31]=y,e[32]=b):b=e[32];let S;return e[33]!==m||e[34]!==h||e[35]!==g||e[36]!==b?(S=(0,F.jsxs)(F.Fragment,{children:[m,h,g,b]}),e[33]=m,e[34]=h,e[35]=g,e[36]=b,e[37]=S):S=e[37],S}function se(){let e=(0,N.c)(20),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=$();if(t||!n)return t;let o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Du startest jedes Update selbst. Vorher wird gesichert, danach geprüft; ist die Prüfung rot, geht es von selbst zurück.`}),e[0]=o):o=e[0];let s;e[1]===n?s=e[2]:(s=(0,F.jsx)(Q,{stand:n}),e[1]=n,e[2]=s);let c;e[3]===n.ziele?c=e[4]:(c=g(n.ziele),e[3]=n.ziele,e[4]=c);let l=a.isPending||!n.ausfuehrer.verbunden,u;e[5]===a?u=e[6]:(u=e=>a.mutate(e),e[5]=a,e[6]=u);let d;e[7]!==r||e[8]!==c||e[9]!==l||e[10]!==u?(d=(0,F.jsx)(G,{updates:c,laufend:r,gesperrt:l,onAktion:u}),e[7]=r,e[8]=c,e[9]=l,e[10]=u,e[11]=d):d=e[11];let f;e[12]!==s||e[13]!==d?(f=(0,F.jsxs)(x,{titel:`Updates`,children:[o,s,d]}),e[12]=s,e[13]=d,e[14]=f):f=e[14];let p;e[15]===i?p=e[16]:(p=(0,F.jsx)(x,{titel:`Verlauf`,children:(0,F.jsx)(re,{laeufe:i})}),e[15]=i,e[16]=p);let m;return e[17]!==f||e[18]!==p?(m=(0,F.jsxs)(F.Fragment,{children:[f,p]}),e[17]=f,e[18]=p,e[19]=m):m=e[19],m}export{oe as HomelabSeite,se as HomelabUpdatesSeite};