Files
mission-control-v2/frontend/dist/assets/Updates-D2MUBOp8.js
T
HitonabiandClaude Opus 5.5 5e9227c4a3 phase3+4: Homelab-Teil (Ausfuehrer, Ziele, Jetzt updaten mit Rueckweg) und Seite Homelab fuer alle Geraete
- deploy/homelab/ausfuehrer.py: laeuft als root auf dem Proxmox-Host, holt Auftraege beim Homelab-Teil
  ab (Pull, kein offener Port), feste Aktionsliste, prueft Etiketten selbst; Bericht gegen den echten
  Host erprobt (nur lesend). Kein Proxmox-Schluessel im Container noetig.
- services/homelab: Kanal mit gemeinsamem Geheimnis, App-Katalog, Inventar -> Ziele im gemeinsamen
  Modell (GitHub-Versionen, Webpruefung, alte Paketlisten = unklar), Jetzt updaten: Snapshot ->
  Update -> Pruefung -> bei Rot zurueck + dringende Meldung
- Waechter in der Rolle homelab: Ausfuehrer schweigt, Gaeste antworten nicht
- kern/github.py fuer beide Rollen (auch untagged Releases mit Version im Namen)
- Oberflaeche: Seite Homelab zeigt alle Geraete als Karten (KI-Box ueber /api/ziele, Homelab ueber
  /api/homelab/ziele) mit Stand, Rueckweg und Knopf samt Rueckfrage
- Einrichtung als Skripte (container-anlegen, ausrollen, ausfuehrer-einrichten, box-partner) — noch
  nicht ausgefuehrt, jeder Schritt braucht das User-OK
- frontend-bauen-box.sh: Frontend-Pruefung und Build auf der Box, wenn der PC keinen Speicher hat

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 18:39:59 +02:00

2 lines
20 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,o as n,p as r,s as i,t as a,u as o}from"./button-BheHBEml.js";import{A as s,D as c,E as l,L as u,O as d,T as f,c as p,h as m,j as h,n as g,p as _,r as ee,t as v,w as te}from"./index-SRwQwEnh.js";import{t as y}from"./Bestaetigen-CE_3b0PK.js";import{a as b,i as x,n as S,s as ne,t as re}from"./Auftraege-C3JDjG9Z.js";var C={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};C.node;var w=n(C),T=i(),ie=r(o(),1),E=e(),D=[{id:`os`,name:`Betriebssystem`},{id:`engine`,name:`Motor (llama.cpp)`},{id:`swap`,name:`llama-swap`},{id:`hermes`,name:`Hermes`}],O={os:`Die Ubuntu-Pakete werden eingespielt, danach prüft die Box, ob die Modelle noch antworten. Das kann einige Minuten dauern.`,engine:`Der Motor wird ersetzt, llama-swap startet dafür neu und die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,swap:`llama-swap wird ersetzt und startet neu, die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,hermes:`Vorher wird gesichert. Dann wird Hermes aktualisiert und startet neu — Lucy ist dabei ein paar Minuten nicht erreichbar.`};function k(e){let n=(0,T.c)(7),{breit:r}=e,i=r===void 0?`w-16`:r,a;n[0]===i?a=n[1]:(a=t(`inline-block h-3.5 rounded bg-linie motion-safe:animate-pulse`,i),n[0]=i,n[1]=a);let o;n[2]===a?o=n[3]:(o=(0,E.jsx)(`span`,{"aria-hidden":!0,className:a}),n[2]=a,n[3]=o);let s;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,E.jsx)(`span`,{className:`sr-only`,children:`wird geprüft`}),n[4]=s):s=n[4];let c;return n[5]===o?c=n[6]:(c=(0,E.jsxs)(`span`,{className:`inline-flex items-center`,children:[o,s]}),n[5]=o,n[6]=c),c}function ae(e){let n=(0,T.c)(13),{text:r}=e,[i,a]=(0,ie.useState)(!1),o;n[0]===r?o=n[1]:(o=r.split(`
`).length>3||r.length>240,n[0]=r,n[1]=o);let s=o,c=s&&!i&&`line-clamp-3`,l;n[2]===c?l=n[3]:(l=t(`m-0 whitespace-pre-line`,c),n[2]=c,n[3]=l);let u;n[4]!==l||n[5]!==r?(u=(0,E.jsx)(`p`,{className:l,children:r}),n[4]=l,n[5]=r,n[6]=u):u=n[6];let d;n[7]!==s||n[8]!==i?(d=s&&(0,E.jsx)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>a(!i),className:`-mb-2 inline-flex h-11 items-center text-sm text-cyan hover:underline`,children:i?`Weniger zeigen`:`Ganze Zusammenfassung zeigen`}),n[7]=s,n[8]=i,n[9]=d):d=n[9];let f;return n[10]!==u||n[11]!==d?(f=(0,E.jsxs)(`div`,{className:`flex flex-col items-start`,children:[u,d]}),n[10]=u,n[11]=d,n[12]=f):f=n[12],f}function oe(e){let t=(0,T.c)(13),{d:n}=e,r;t[0]===n.packages?r=t[1]:(r=n.packages??[],t[0]=n.packages,t[1]=r);let i=r,a,o;if(t[2]!==n.held_back||t[3]!==i){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.held_back??[];if(i.length===0&&e.length===0){o=null;break bb0}let r;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(w,{"aria-hidden":!0,className:`size-4 transition-transform group-open:rotate-90`}),t[6]=r):r=t[6];let s=i.length===1?`Das Paket ansehen`:`Alle ${i.length} Pakete ansehen`,c;t[7]===s?c=t[8]:(c=(0,E.jsxs)(`summary`,{className:`inline-flex h-11 cursor-pointer items-center gap-1 text-sm text-cyan hover:underline`,children:[r,s]}),t[7]=s,t[8]=c);let l;t[9]===i?l=t[10]:(l=i.map(j),t[9]=i,t[10]=l);let u;t[11]===l?u=t[12]:(u=(0,E.jsx)(`ul`,{className:`ziffern m-0 flex max-h-64 list-none flex-col gap-1 overflow-auto rounded-md border border-linie bg-[#0b0d0f] p-2.5 text-xs`,children:l}),t[11]=l,t[12]=u),a=(0,E.jsxs)(`details`,{className:`group`,children:[c,u,e.length>0&&(0,E.jsxs)(`p`,{className:`mt-2 text-xs text-text-3`,children:[`Dazu `,e.length===1?`kommt ein Paket`:`kommen ${e.length} Pakete`,`, die Ubuntu noch zurückhält (`,e.map(A).join(`, `),`). Die kommen von selbst, wenn Ubuntu sie freigibt.`]})]})}t[2]=n.held_back,t[3]=i,t[4]=a,t[5]=o}else a=t[4],o=t[5];return o===Symbol.for(`react.early_return_sentinel`)?a:o}function A(e){return e.name}function j(e){return(0,E.jsxs)(`li`,{className:`break-all`,children:[(0,E.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,E.jsxs)(`span`,{className:`text-text-3`,children:[e.current,` → `,e.candidate]})]},e.name)}function M(e){let t=(0,T.c)(6),{d:n}=e;if(n.action_needed===!1){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,E.jsx)(g,{art:`gruen`,children:`Nichts zu tun`}),t[0]=e):e=t[0],e}if(n.action_needed!==!0)return null;let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(g,{art:`bernstein`,children:`Du musst etwas tun`}),t[1]=r):r=t[1];let i;t[2]===n.action_text?i=t[3]:(i=n.action_text&&(0,E.jsx)(`span`,{className:`text-bernstein`,children:n.action_text}),t[2]=n.action_text,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,E.jsxs)(`span`,{className:`flex flex-col items-start gap-1.5`,children:[r,i]}),t[4]=i,t[5]=a),a}function se(e){let t=e?.trim();return t?t.startsWith(`(Zusammenfassung nicht verfügbar`)?`Die Zusammenfassung ist gerade nicht verfügbar.`:t:null}function N(e){let t=(0,T.c)(63),{id:n,name:r,details:i,hatUpdate:o,neuLautStart:s,fest:c,gesperrt:l,onStart:u,onFreigeben:d}=e,f=i.data,p=i.isPending,m=i.isError?i.error.message:f?.error,h;t[0]!==f||t[1]!==n?(h=f?ne(n,f):null,t[0]=f,t[1]=n,t[2]=h):h=t[2];let g=h,_=o?g?.neu??s??null:null,ee=f?.summary,v;t[3]===ee?v=t[4]:(v=se(ee),t[3]=ee,t[4]=v);let te=v,y=g&&g.laeuft!==`–`?g.laeuft:m?`unbekannt`:`–`,x;t[5]!==p||t[6]!==y?(x=p?(0,E.jsx)(k,{}):(0,E.jsx)(E.Fragment,{children:y}),t[5]=p,t[6]=y,t[7]=x):x=t[7];let S=x,re;t[8]!==m||t[9]!==p||t[10]!==_?(re=p?(0,E.jsx)(k,{breit:`w-20`}):_?(0,E.jsx)(`span`,{className:`text-cyan`,children:_}):m?(0,E.jsx)(`span`,{className:`text-bernstein`,children:`nicht geprüft`}):(0,E.jsx)(`span`,{className:`text-text-3`,children:`–`}),t[8]=m,t[9]=p,t[10]=_,t[11]=re):re=t[11];let C=re,w;if(p){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,E.jsx)(`span`,{className:`text-text-3`,children:`Wird geprüft …`}),t[12]=e):e=t[12],w=e}else if(m&&!o){let e;t[13]===m?e=t[14]:(e=b(m),t[13]=m,t[14]=e);let n;t[15]===e?n=t[16]:(n=(0,E.jsx)(`span`,{className:`text-bernstein`,children:e}),t[15]=e,t[16]=n),w=n}else if(!o)w=`Aktuell.`;else{let e;t[17]===m?e=t[18]:(e=m&&(0,E.jsx)(`span`,{className:`text-bernstein`,children:b(m)}),t[17]=m,t[18]=e);let r;t[19]===f?r=t[20]:(r=f&&(0,E.jsx)(M,{d:f}),t[19]=f,t[20]=r);let i;t[21]!==f||t[22]!==n||t[23]!==te?(i=n===`os`?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{children:f?.count?`${f.count} ${f.count===1?`Paket`:`Pakete`} aus Ubuntu.`:`Neue Pakete aus Ubuntu.`}),f&&(0,E.jsx)(oe,{d:f})]}):te?(0,E.jsx)(ae,{text:te}):null,t[21]=f,t[22]=n,t[23]=te,t[24]=i):i=t[24];let a;t[25]!==e||t[26]!==r||t[27]!==i?(a=(0,E.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[e,r,i]}),t[25]=e,t[26]=r,t[27]=i,t[28]=a):a=t[28],w=a}let ie=p||void 0,D;t[29]===r?D=t[30]:(D=(0,E.jsx)(`span`,{role:`rowheader`,className:`text-[15px] font-semibold`,children:r}),t[29]=r,t[30]=D);let O;t[31]!==m||t[32]!==p||t[33]!==_||t[34]!==C?(O=!p&&(_||m)&&(0,E.jsxs)(E.Fragment,{children:[` `,_?`→`:`·`,` `,C]}),t[31]=m,t[32]=p,t[33]=_,t[34]=C,t[35]=O):O=t[35];let A;t[36]!==S||t[37]!==O?(A=(0,E.jsxs)(`span`,{role:`cell`,className:`ziffern -mt-1 text-sm text-text-2 md:hidden`,children:[S,O]}),t[36]=S,t[37]=O,t[38]=A):A=t[38];let j;t[39]===S?j=t[40]:(j=(0,E.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-text-2 md:block`,children:S}),t[39]=S,t[40]=j);let N;t[41]===C?N=t[42]:(N=(0,E.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm md:block`,children:C}),t[41]=C,t[42]=N);let P;t[43]!==c||t[44]!==r?(P=c&&(0,E.jsxs)(`span`,{className:`mb-1.5 block text-bernstein`,children:[`Festgehalten seit `,c.seit,` auf `,c.version,`: `,c.grund,`. Der Sonntags-Lauf überspringt `,r,`.`]}),t[43]=c,t[44]=r,t[45]=P):P=t[45];let F;t[46]!==P||t[47]!==w?(F=(0,E.jsxs)(`div`,{role:`cell`,className:`text-sm leading-relaxed text-text-2`,children:[P,w]}),t[46]=P,t[47]=w,t[48]=F):F=t[48];let I;t[49]!==c||t[50]!==l||t[51]!==o||t[52]!==d||t[53]!==u?(I=(c||o)&&(0,E.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 md:flex-col md:items-end`,children:[c&&(0,E.jsx)(a,{variant:`outline`,size:`sm`,onClick:d,children:`Freigeben`}),o&&(0,E.jsx)(a,{variant:`outline`,size:`sm`,onClick:u,disabled:l,children:`Aktualisieren`})]}),t[49]=c,t[50]=l,t[51]=o,t[52]=d,t[53]=u,t[54]=I):I=t[54];let L;return t[55]!==j||t[56]!==N||t[57]!==F||t[58]!==I||t[59]!==ie||t[60]!==D||t[61]!==A?(L=(0,E.jsxs)(`div`,{role:`row`,"aria-busy":ie,className:`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-linie py-3.5 md:grid-cols-[170px_100px_170px_minmax(0,1fr)_auto] md:items-start`,children:[D,A,j,N,F,I]}),t[55]=j,t[56]=N,t[57]=F,t[58]=I,t[59]=ie,t[60]=D,t[61]=A,t[62]=L):L=t[62],L}var P={rot:`rot`,gelb:`bernstein`,gruen:`gruen`,info:`cyan`,grau:`grau`},F={rot:`bg-rot`,gelb:`bg-bernstein`,gruen:`bg-gruen`,info:`bg-cyan`,grau:`bg-text-3`};function I(e){let t=(0,T.c)(19),{lauf:n}=e,r;t[0]===n.start?r=t[1]:(r=h(n.start),t[0]=n.start,t[1]=r);let i;t[2]===r?i=t[3]:(i=(0,E.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:r}),t[2]=r,t[3]=i);let a;t[4]===n.anlass?a=t[5]:(a=(0,E.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:n.anlass}),t[4]=n.anlass,t[5]=a);let o=P[n.stufe],s;t[6]!==n.titel||t[7]!==o?(s=(0,E.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,E.jsx)(g,{art:o,children:n.titel})}),t[6]=n.titel,t[7]=o,t[8]=s):s=t[8];let c;t[9]!==i||t[10]!==a||t[11]!==s?(c=(0,E.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:[i,a,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c):c=t[12];let l;t[13]!==n.stufe||t[14]!==n.zeilen?(l=n.stufe!==`grau`&&n.zeilen.length>0&&(0,E.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 @sm:pl-[124px]`,children:n.zeilen.map(L)}),t[13]=n.stufe,t[14]=n.zeilen,t[15]=l):l=t[15];let u;return t[16]!==c||t[17]!==l?(u=(0,E.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3`,children:[c,l]}),t[16]=c,t[17]=l,t[18]=u):u=t[18],u}function L(e){return(0,E.jsxs)(`li`,{className:`flex items-baseline gap-2 text-sm leading-snug text-text-2`,children:[(0,E.jsx)(`span`,{"aria-hidden":!0,className:t(`size-1.5 shrink-0 -translate-y-px rounded-full`,F[e.stufe])}),(0,E.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,E.jsx)(`span`,{className:`text-foreground`,children:e.baustein}),` · `,e.text]})]},`${e.baustein}-${e.text}`)}function ce(e){return e.mtime?h(new Date(e.mtime*1e3).toISOString()):e.snapshot}function R(){let e=(0,T.c)(124),t=f(),n=m(),r=d(),i=te(),o=c(),u=p(),h=_(),g=s(),[b,x]=(0,ie.useState)(null),ne;e[0]===t.data?.updates.bausteine?ne=e[1]:(ne=new Map((t.data?.updates.bausteine??[]).map(me)),e[0]=t.data?.updates.bausteine,e[1]=ne);let C=ne,w=new Map((t.data?.updates.festgehalten??[]).map(pe)),k;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(k=D.map(fe),e[2]=k):k=e[2];let ae=l(k),oe;e[3]!==ae||e[4]!==C?(oe=(e,t)=>S(e.id,ae[t].data)??C.has(e.id),e[3]=ae,e[4]=C,e[5]=oe):oe=e[5];let A=D.map(oe),j;e[6]===n.data?.jobs?j=e[7]:(j=n.data?.jobs??[],e[6]=n.data?.jobs,e[7]=j);let M=j,se;e[8]!==M||e[9]!==t.data?.zustand?(se=M.some(de)||(t.data?.zustand.update_laeuft??!1),e[8]=M,e[9]=t.data?.zustand,e[10]=se):se=e[10];let P=se,F;e[11]===M?F=e[12]:(F=M.some(ue),e[11]=M,e[12]=F);let I=F,L=P||o.isPending,R=i.data?.available??!1,z;if(t.isPending){let t;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(ee,{text:`Updates werden gelesen …`}),e[13]=t):t=e[13],z=t}else if(t.isError&&!t.data){let n=`Die Box antwortet nicht: ${t.error.message}`,r;e[14]===n?r=e[15]:(r=(0,E.jsx)(ee,{fehler:!0,text:n}),e[14]=n,e[15]=r),z=r}else{let t;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsxs)(`div`,{role:`row`,className:`schild hidden grid-cols-[170px_100px_170px_minmax(0,1fr)_auto] gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Baustein`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Läuft`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Neu`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Was sich ändert`}),(0,E.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),e[16]=t):t=e[16],z=(0,E.jsxs)(`div`,{role:`table`,"aria-label":`Bausteine und ihre Updates`,className:`flex flex-col`,children:[t,D.map((e,t)=>(0,E.jsx)(N,{id:e.id,name:e.name,details:ae[t],hatUpdate:A[t],neuLautStart:C.get(e.id),fest:w.get(e.id),gesperrt:L,onStart:()=>x({art:`einzeln`,id:e.id,name:e.name}),onFreigeben:()=>{let t=w.get(e.id);t&&x({art:`freigeben`,id:e.id,name:e.name,grund:t.grund})}},e.id))]})}let B;if(r.isPending){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[17]=t):t=e[17],B=t}else if(r.isError&&!r.data){let t;e[18]===r.error.message?t=e[19]:(t=(0,E.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Verlauf lässt sich gerade nicht lesen: `,r.error.message]}),e[18]=r.error.message,e[19]=t),B=t}else if(r.data?.laeufe.length){let t;e[21]===r.data.laeufe?t=e[22]:(t=r.data.laeufe.map(le),e[21]=r.data.laeufe,e[22]=t);let n;e[23]===t?n=e[24]:(n=(0,E.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:t}),e[23]=t,e[24]=n),B=n}else{let t;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Update-Läufe aufgezeichnet.`}),e[20]=t):t=e[20],B=t}let V;if(i.isPending){let t;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[25]=t):t=e[25],V=t}else if(i.isError&&!i.data){let t;e[26]===i.error.message?t=e[27]:(t=(0,E.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Sicherungen lassen sich gerade nicht lesen: `,i.error.message]}),e[26]=i.error.message,e[27]=t),V=t}else if(i.data?.backups.length){let t;if(e[29]!==i.data.backups||e[30]!==g.isPending||e[31]!==R){let n;e[33]!==g.isPending||e[34]!==R?(n=e=>(0,E.jsxs)(`li`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2.5`,children:[(0,E.jsx)(`span`,{className:`ziffern text-sm`,children:ce(e)}),(0,E.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,E.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.size_mb.toLocaleString(`de-DE`),` MB`]}),(0,E.jsx)(a,{variant:`ghost`,size:`sm`,disabled:!R||g.isPending,onClick:()=>x({art:`zurueck`,datei:e.file,zeit:ce(e)}),children:`Zurückspielen`})]})]},e.file),e[33]=g.isPending,e[34]=R,e[35]=n):n=e[35],t=i.data.backups.slice(0,5).map(n),e[29]=i.data.backups,e[30]=g.isPending,e[31]=R,e[32]=t}else t=e[32];let n;e[36]===t?n=e[37]:(n=(0,E.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:t}),e[36]=t,e[37]=n),V=n}else{let t;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Sicherung vorhanden.`}),e[28]=t):t=e[28],V=t}let he=v,H;e[38]===o?H=e[39]:(H=()=>o.mutate(`pruefen`),e[38]=o,e[39]=H);let ge=o.isPending||I,_e=I?`Sucht …`:`Nach Neuem suchen`,U;e[40]!==_e||e[41]!==H||e[42]!==ge?(U=(0,E.jsx)(a,{variant:`outline`,onClick:H,disabled:ge,children:_e}),e[40]=_e,e[41]=H,e[42]=ge,e[43]=U):U=e[43];let ve=a,W;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>x({art:`alle`}),e[44]=W):W=e[44];let ye=L||!A.some(Boolean),G;e[45]!==ve||e[46]!==W||e[47]!==ye?(G=(0,E.jsx)(ve,{onClick:W,disabled:ye,children:`Alles jetzt aktualisieren`}),e[45]=ve,e[46]=W,e[47]=ye,e[48]=G):G=e[48];let K;e[49]!==U||e[50]!==G?(K=(0,E.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[U,G]}),e[49]=U,e[50]=G,e[51]=K):K=e[51];let be;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Jeden Sonntag um 04:30 automatisch. Vorher wird gesichert, danach geprüft.`}),e[52]=be):be=e[52];let q;e[53]===P?q=e[54]:(q=P&&(0,E.jsx)(`p`,{role:`status`,className:`text-[15px] text-cyan`,children:`Gerade läuft ein Update. Weitere lassen sich erst starten, wenn es fertig ist.`}),e[53]=P,e[54]=q);let xe;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,E.jsx)(re,{}),e[55]=xe):xe=e[55];let Se;e[56]!==he||e[57]!==K||e[58]!==q||e[59]!==z?(Se=(0,E.jsxs)(he,{titel:`Updates`,rechts:K,children:[be,q,z,xe]}),e[56]=he,e[57]=K,e[58]=q,e[59]=z,e[60]=Se):Se=e[60];let J;e[61]===B?J=e[62]:(J=(0,E.jsx)(v,{titel:`Verlauf`,children:B}),e[61]=B,e[62]=J);let Y;e[63]===h?Y=e[64]:(Y=()=>h.mutate(void 0),e[63]=h,e[64]=Y);let Ce=h.isPending?`Sichert …`:`Jetzt sichern`,X;e[65]!==h.isPending||e[66]!==Y||e[67]!==Ce?(X=(0,E.jsx)(a,{variant:`outline`,size:`sm`,onClick:Y,disabled:h.isPending,children:Ce}),e[65]=h.isPending,e[66]=Y,e[67]=Ce,e[68]=X):X=e[68];let we;e[69]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Täglich um 03:35, mit Kopie auf einem zweiten Gerät.`}),e[69]=we):we=e[69];let Z;e[70]!==i.data||e[71]!==R?(Z=i.data&&!R&&(0,E.jsx)(`p`,{className:`text-sm text-text-3`,children:`Zurückspielen geht nur auf der Box selbst.`}),e[70]=i.data,e[71]=R,e[72]=Z):Z=e[72];let Q;e[73]!==V||e[74]!==X||e[75]!==Z?(Q=(0,E.jsxs)(v,{titel:`Sicherungen`,rechts:X,children:[we,Z,V]}),e[73]=V,e[74]=X,e[75]=Z,e[76]=Q):Q=e[76];let Te;e[77]!==J||e[78]!==Q?(Te=(0,E.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[J,Q]}),e[77]=J,e[78]=Q,e[79]=Te):Te=e[79];let Ee=b?.art===`alle`,De;e[80]===Symbol.for(`react.memo_cache_sentinel`)?(De=()=>x(null),e[80]=De):De=e[80];let Oe;e[81]!==b?.art||e[82]!==o?(Oe=()=>{b?.art===`alle`&&o.mutate(`alle`),x(null)},e[81]=b?.art,e[82]=o,e[83]=Oe):Oe=e[83];let ke;e[84]!==L||e[85]!==Ee||e[86]!==Oe?(ke=(0,E.jsx)(y,{offen:Ee,titel:`Alles jetzt aktualisieren?`,text:`Motor, llama-swap, Hermes und Betriebssystem werden nacheinander aktualisiert, soweit es Neues gibt, und danach geprüft. Motor und llama-swap holen bei Problemen ihren alten Stand von selbst zurück, vor Hermes wird gesichert. Lucy ist dabei ein paar Minuten nicht erreichbar.`,knopf:`Aktualisieren`,gesperrt:L,onNein:De,onJa:Oe}),e[84]=L,e[85]=Ee,e[86]=Oe,e[87]=ke):ke=e[87];let Ae=b?.art===`einzeln`,je=b?.art===`einzeln`?`${b.name} aktualisieren?`:``,Me=b?.art===`einzeln`?O[b.id]??``:``,Ne;e[88]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=()=>x(null),e[88]=Ne):Ne=e[88];let Pe;e[89]!==b||e[90]!==o?(Pe=()=>{b?.art===`einzeln`&&o.mutate(b.id),x(null)},e[89]=b,e[90]=o,e[91]=Pe):Pe=e[91];let Fe;e[92]!==L||e[93]!==Ae||e[94]!==je||e[95]!==Me||e[96]!==Pe?(Fe=(0,E.jsx)(y,{offen:Ae,titel:je,text:Me,knopf:`Aktualisieren`,gesperrt:L,onNein:Ne,onJa:Pe}),e[92]=L,e[93]=Ae,e[94]=je,e[95]=Me,e[96]=Pe,e[97]=Fe):Fe=e[97];let Ie=b?.art===`freigeben`,Le=b?.art===`freigeben`?`${b.name} freigeben?`:``,Re=b?.art===`freigeben`?`Festgehalten wurde ${b.name}, weil: ${b.grund}. Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`:``,ze;e[98]===Symbol.for(`react.memo_cache_sentinel`)?(ze=()=>x(null),e[98]=ze):ze=e[98];let Be;e[99]!==b||e[100]!==u?(Be=()=>{b?.art===`freigeben`&&u.mutate(b.id),x(null)},e[99]=b,e[100]=u,e[101]=Be):Be=e[101];let Ve;e[102]!==u.isPending||e[103]!==Ie||e[104]!==Le||e[105]!==Re||e[106]!==Be?(Ve=(0,E.jsx)(y,{offen:Ie,titel:Le,text:Re,knopf:`Freigeben`,gesperrt:u.isPending,onNein:ze,onJa:Be}),e[102]=u.isPending,e[103]=Ie,e[104]=Le,e[105]=Re,e[106]=Be,e[107]=Ve):Ve=e[107];let He=b?.art===`zurueck`,Ue=`Die Einstellungen von Hermes und llama-swap werden auf den Stand von ${b?.art===`zurueck`?b.zeit:``} gesetzt. Vorher wird der jetzige Stand gesichert. Die Dienste starten danach neu.`,We;e[108]===Symbol.for(`react.memo_cache_sentinel`)?(We=()=>x(null),e[108]=We):We=e[108];let Ge;e[109]!==b||e[110]!==g?(Ge=()=>{b?.art===`zurueck`&&g.mutate(b.datei),x(null)},e[109]=b,e[110]=g,e[111]=Ge):Ge=e[111];let $;e[112]!==He||e[113]!==Ue||e[114]!==Ge||e[115]!==g.isPending?($=(0,E.jsx)(y,{offen:He,gefahr:!0,titel:`Sicherung zurückspielen?`,text:Ue,knopf:`Zurückspielen`,gesperrt:g.isPending,onNein:We,onJa:Ge}),e[112]=He,e[113]=Ue,e[114]=Ge,e[115]=g.isPending,e[116]=$):$=e[116];let Ke;return e[117]!==Se||e[118]!==Te||e[119]!==ke||e[120]!==Fe||e[121]!==Ve||e[122]!==$?(Ke=(0,E.jsxs)(E.Fragment,{children:[Se,Te,ke,Fe,Ve,$]}),e[117]=Se,e[118]=Te,e[119]=ke,e[120]=Fe,e[121]=Ve,e[122]=$,e[123]=Ke):Ke=e[123],Ke}function le(e){return(0,E.jsx)(I,{lauf:e},e.start)}function ue(e){return x(e)&&u(e)}function de(e){return e.group===`maintenance`&&u(e)}function fe(e){return e.id}function pe(e){return[e.baustein,e]}function me(e){return[e.id,e.neu]}export{R as UpdatesSeite};