From 3594de485cb8daad39ae4fc3f6875ca5594d9846 Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Fri, 25 Sep 2026 12:20:26 +0200 Subject: [PATCH] =?UTF-8?q?speicher:=20Kacheln=202=C3=972,=20erst=20auf=20?= =?UTF-8?q?sehr=20breiten=20Bildschirmen=20nebeneinander=20(=C3=9Cberschri?= =?UTF-8?q?ften=20brachen=20mitten=20im=20Wort)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../assets/{Auftraege-CAHujylB.js => Auftraege-ChhFntbA.js} | 2 +- .../{Bestaetigen-SE_NgpcU.js => Bestaetigen-CkA7XucG.js} | 2 +- .../dist/assets/{Dienste-BGWmtSYR.js => Dienste-R9X0M5PO.js} | 2 +- .../{Einstellungen-B5hDXuZV.js => Einstellungen-BMqSfzd8.js} | 2 +- frontend/dist/assets/Homelab-Ba-06aFa.js | 1 - frontend/dist/assets/Homelab-hqb9RrQ_.js | 1 + ...elabProtokoll-NgNeh7ai.js => HomelabProtokoll-GISm8NQJ.js} | 2 +- ...{MenueSchublade-CC8GVOLn.js => MenueSchublade-CsyS-c2a.js} | 2 +- .../dist/assets/{Modelle-CuuF8BGB.js => Modelle-1lvjqzBN.js} | 2 +- .../assets/{Monitoring-Dh_DGery.js => Monitoring-v7mq5XN5.js} | 2 +- ...tokollfenster-ebAC9ZNZ.js => Protokollfenster-CHwATBxh.js} | 2 +- frontend/dist/assets/{Start-DEaEpevw.js => Start-1Tqdw5yS.js} | 4 ++-- .../dist/assets/{Updates-DhRqQqvO.js => Updates-C3FVpmnC.js} | 2 +- .../{chevron-right-T7IsaTwB.js => chevron-right-ZOVnQh4C.js} | 2 +- frontend/dist/assets/{dist-LMCPoT8k.js => dist-CRmt9osm.js} | 2 +- frontend/dist/assets/{index-FvHAYExN.js => index-CYmlXdd4.js} | 4 ++-- .../dist/assets/{search-B5rIIYDK.js => search--3Jwhcgy.js} | 2 +- frontend/dist/assets/{sheet-CB1NvtKC.js => sheet-s_FTWvn-.js} | 2 +- frontend/dist/index.html | 2 +- frontend/src/components/homelab/Speicher.tsx | 2 +- 20 files changed, 21 insertions(+), 21 deletions(-) rename frontend/dist/assets/{Auftraege-CAHujylB.js => Auftraege-ChhFntbA.js} (98%) rename frontend/dist/assets/{Bestaetigen-SE_NgpcU.js => Bestaetigen-CkA7XucG.js} (97%) rename frontend/dist/assets/{Dienste-BGWmtSYR.js => Dienste-R9X0M5PO.js} (96%) rename frontend/dist/assets/{Einstellungen-B5hDXuZV.js => Einstellungen-BMqSfzd8.js} (99%) delete mode 100644 frontend/dist/assets/Homelab-Ba-06aFa.js create mode 100644 frontend/dist/assets/Homelab-hqb9RrQ_.js rename frontend/dist/assets/{HomelabProtokoll-NgNeh7ai.js => HomelabProtokoll-GISm8NQJ.js} (97%) rename frontend/dist/assets/{MenueSchublade-CC8GVOLn.js => MenueSchublade-CsyS-c2a.js} (86%) rename frontend/dist/assets/{Modelle-CuuF8BGB.js => Modelle-1lvjqzBN.js} (99%) rename frontend/dist/assets/{Monitoring-Dh_DGery.js => Monitoring-v7mq5XN5.js} (99%) rename frontend/dist/assets/{Protokollfenster-ebAC9ZNZ.js => Protokollfenster-CHwATBxh.js} (94%) rename frontend/dist/assets/{Start-DEaEpevw.js => Start-1Tqdw5yS.js} (96%) rename frontend/dist/assets/{Updates-DhRqQqvO.js => Updates-C3FVpmnC.js} (98%) rename frontend/dist/assets/{chevron-right-T7IsaTwB.js => chevron-right-ZOVnQh4C.js} (60%) rename frontend/dist/assets/{dist-LMCPoT8k.js => dist-CRmt9osm.js} (99%) rename frontend/dist/assets/{index-FvHAYExN.js => index-CYmlXdd4.js} (99%) rename frontend/dist/assets/{search-B5rIIYDK.js => search--3Jwhcgy.js} (68%) rename frontend/dist/assets/{sheet-CB1NvtKC.js => sheet-s_FTWvn-.js} (96%) diff --git a/frontend/dist/assets/Auftraege-CAHujylB.js b/frontend/dist/assets/Auftraege-ChhFntbA.js similarity index 98% rename from frontend/dist/assets/Auftraege-CAHujylB.js rename to frontend/dist/assets/Auftraege-ChhFntbA.js index 32dbcb7..4eacaac 100644 --- a/frontend/dist/assets/Auftraege-CAHujylB.js +++ b/frontend/dist/assets/Auftraege-ChhFntbA.js @@ -1,2 +1,2 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Pt as a,X as o,Z as s,f as c,u as l,xt as u,yt as d}from"./index-FvHAYExN.js";import{t as f}from"./button-D8rvET0Z.js";import{t as p}from"./Bestaetigen-SE_NgpcU.js";var m=t();function h(e,t){if(e===`os`)return{laeuft:`Ubuntu`,neu:t.count?`${t.count} ${t.count===1?`Paket`:`Pakete`}`:null};if(e===`hermes`)return{laeuft:t.installed_version?`v${t.installed_version}`:`–`,neu:t.behind?`+${t.behind.toLocaleString(`de-DE`)} Änderungen`:null};let n=e===`engine`?`b`:`v`;return{laeuft:t.installed_build==null?`–`:`${n}${t.installed_build}`,neu:t.latest_build!=null&&t.installed_build!=null&&t.latest_build>t.installed_build?`${n}${t.latest_build}`:null}}function g(e,t){return!t||t.error?null:e===`os`?typeof t.count==`number`?t.count>0:null:e===`hermes`?typeof t.behind==`number`?t.behind>0:null:t.latest_build==null||t.installed_build==null?null:t.latest_build>t.installed_build}function _(e){let t=e.trim();return/timed out|timeout|zeitüberschreitung/i.test(t)?`Konnte nicht prüfen: Die Gegenstelle hat nicht rechtzeitig geantwortet. Später klappt es meist wieder.`:/name resolution|name or service not known|network is unreachable|connection (refused|reset)|nicht erreichbar/i.test(t)?`Konnte nicht prüfen: Die Box kommt gerade nicht ins Internet.`:`Konnte nicht prüfen: ${t.length>160?`${t.slice(0,157)}…`:t}`}var v=e=>e.group===`download`||/^download\s/i.test(e.label),y=e=>e.group===`pruefen`||e.label===`Nach Updates suchen`,b=e=>a(e)&&v(e),x=[[/^download\s+(.+)$/i,`Download $1`],[/^OS-Update \(apt\)$/,`Update Betriebssystem`],[/^Engine-Update \(llama\.cpp Vulkan\)$/,`Update Motor (llama.cpp)`],[/^Router-Update \(llama-swap\)$/,`Update llama-swap`],[/^Hermes-Agent-Update$/,`Update Hermes`]],S=[[`Engine (llama.cpp)`,`Motor`],[`Router (llama-swap)`,`llama-swap`],[`Hermes-Agent`,`Hermes`],[`OS (apt)`,`Betriebssystem`]];function C(e){for(let[t,n]of x)if(t.test(e.label))return e.label.replace(t,n);return e.label.startsWith(`Alle aktualisieren`)?S.reduce((e,[t,n])=>e.split(t).join(n),e.label):e.label}function w(e){if(e<60)return`noch unter einer Minute`;let t=Math.round(e/60);if(t<60)return`noch etwa ${t} min`;let n=Math.floor(t/60),r=t%60;return r?`noch etwa ${n} h ${r} min`:`noch etwa ${n} h`}function T(e,t=Date.now()/1e3){let n=Math.max(0,t-e.started_at),r=Math.floor(n/60),i=n<60?`ein paar Sekunden`:r<60?`${r} min`:`${Math.floor(r/60)} h ${r%60} min`;return`${e.state===`queued`?`Wartet`:`Läuft`} seit ${i}`}function E(e){if(e.progress==null)return null;let t=[`${Math.round(e.progress)} %`];return e.total_bytes&&t.push(`${u(e.done_bytes??0,1)} von ${u(e.total_bytes,1)}`),e.eta_s!=null&&a(e)&&t.push(w(e.eta_s)),t.join(` · `)}function D(e){for(let t=(e.log?.length??0)-1;t>=0;t--){let n=e.log[t].trim();if(n&&!n.startsWith(`$ `))return n}return null}function O(e,t=Date.now()/1e3){let n=e.filter(a).sort((e,t)=>e.started_at-t.started_at),r=e.filter(e=>!a(e)&&t-(e.finished_at??e.started_at)<86400).sort((e,t)=>(t.finished_at??t.started_at)-(e.finished_at??e.started_at)).slice(0,3);return[...n,...r]}function k(e,t,n){if(!n)return`Nach dem Download übernimmt ${e} die Rolle „${t}“.`;let r=n.weitere.length?` Die Rolle${n.weitere.length===1?``:`n`} „${n.weitere.join(`“, „`)}“ behält es.`:``;return`Achtung: Nach dem Download übernimmt ${e} die Rolle „${t}“ und ersetzt damit ${n.name}. Das bisherige Modell bleibt auf der Platte.${r}`+(n.zwilling?` Bilder liest vorerst weiter sein Bild-Zwilling, also noch das bisherige Modell.`:``)}function A(e){return`Kurze Unterbrechung: Beim Eintragen lädt llama-swap sofort neu. Was Lucy oder OpenChamber gerade schreiben, bricht ab, und die Modelle werden neu geladen.`+(e?` Mit Rolle passiert das nach dem Download noch einmal.`:``)}var j=r(e(),1),M=n(),N={queued:{text:`Wartet`,art:`cyan`},running:{text:`Läuft`,art:`cyan`},done:{text:`Fertig`,art:`gruen`},failed:{text:`Fehler`,art:`rot`},canceled:{text:`Abgebrochen`,art:`grau`}},P={queued:`bg-cyan`,running:`bg-cyan`,done:`bg-gruen`,failed:`bg-rot`,canceled:`bg-text-3`},F=e=>d(new Date(e*1e3).toISOString());function I(e){let t=(0,m.c)(3),[n,r]=(0,j.useState)(L),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;let t=window.setInterval(()=>r(Date.now()/1e3),3e4);return()=>window.clearInterval(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,j.useEffect)(i,a),n}function L(){return Date.now()/1e3}function R(e){let t=(0,m.c)(75),{job:n,onAbbrechen:r,abbrechenGesperrt:o,ebene:s}=e,l=s===void 0?4:s,[u,d]=(0,j.useState)(!1),[h,g]=(0,j.useState)(!1),_;t[0]===n.state?_=t[1]:(_=N[n.state]??{text:n.state,art:`grau`},t[0]=n.state,t[1]=_);let y=_,x;t[2]===n?x=t[3]:(x=C(n),t[2]=n,t[3]=x);let S=x,w;t[4]===n?w=t[5]:(w=E(n),t[4]=n,t[5]=w);let O=w,k;t[6]===n?k=t[7]:(k=D(n),t[6]=n,t[7]=k);let A=k,L;t[8]===n?L=t[9]:(L=a(n),t[8]=n,t[9]=L);let R=L,z=I(R),B;t[10]!==n||t[11]!==r?(B=!!r&&b(n),t[10]=n,t[11]=r,t[12]=B):B=t[12];let V=B,H,U,W,G,K,q,J,Y;if(t[13]!==o||t[14]!==V||t[15]!==l||t[16]!==O||t[17]!==z||t[18]!==n||t[19]!==R||t[20]!==A||t[21]!==h||t[22]!==S||t[23]!==y.art||t[24]!==y.text){let e=(n.log??[]).slice(-12),r=l===3?`h3`:`h4`;J=`Auftrag: ${S}`,Y=`flex flex-col gap-2.5 rounded-xl border border-linie bg-erhaben/50 p-3.5`;let a;t[33]!==r||t[34]!==S?(a=(0,M.jsx)(r,{className:`m-0 min-w-0 text-[15px] leading-snug font-semibold break-words`,children:S}),t[33]=r,t[34]=S,t[35]=a):a=t[35];let s;t[36]!==y.art||t[37]!==y.text?(s=(0,M.jsx)(c,{art:y.art,children:y.text}),t[36]=y.art,t[37]=y.text,t[38]=s):s=t[38],t[39]!==a||t[40]!==s?(H=(0,M.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[a,s]}),t[39]=a,t[40]=s,t[41]=H):H=t[41],t[42]!==n.progress||t[43]!==n.state||t[44]!==S?(U=n.progress!=null&&(0,M.jsx)(`div`,{role:`progressbar`,"aria-label":`Fortschritt: ${S}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.progress),className:`h-2 overflow-hidden rounded-full bg-linie`,children:(0,M.jsx)(`div`,{className:i(`h-full`,P[n.state]??`bg-cyan`),style:{width:`${Math.max(2,Math.min(100,n.progress))}%`}})}),t[42]=n.progress,t[43]=n.state,t[44]=S,t[45]=U):U=t[45];let u;t[46]!==O||t[47]!==z||t[48]!==n||t[49]!==R||t[50]!==y.text?(u=R?O??T(n,z):`${y.text} · ${F(n.finished_at??n.started_at)}`,t[46]=O,t[47]=z,t[48]=n,t[49]=R,t[50]=y.text,t[51]=u):u=t[51],t[52]===u?W=t[53]:(W=(0,M.jsx)(`p`,{className:`ziffern m-0 text-sm text-text-2`,children:u}),t[52]=u,t[53]=W),t[54]!==n.progress||t[55]!==n.state||t[56]!==R||t[57]!==A?(G=A&&(n.state===`failed`||R&&n.progress==null)&&(0,M.jsx)(`p`,{className:n.state===`failed`?`m-0 text-sm break-words text-rot-text`:`ziffern m-0 line-clamp-2 text-xs break-all text-text-3`,children:n.state===`failed`?`Letzte Meldung: ${A}`:A}),t[54]=n.progress,t[55]=n.state,t[56]=R,t[57]=A,t[58]=G):G=t[58],K=(V||e.length>1)&&(0,M.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[V&&(0,M.jsx)(f,{variant:`outline`,size:`sm`,disabled:o,onClick:()=>d(!0),children:`Abbrechen`}),e.length>1&&(0,M.jsx)(f,{variant:`ghost`,size:`sm`,"aria-expanded":h,onClick:()=>g(!h),children:h?`Protokoll zu`:`Protokoll`})]}),q=h&&(0,M.jsx)(`pre`,{className:`ziffern m-0 max-h-56 overflow-auto rounded-md bg-[#0b0d0f] p-2 text-xs whitespace-pre-wrap break-all text-text-2`,children:e.join(` +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Pt as a,X as o,Z as s,f as c,u as l,xt as u,yt as d}from"./index-CYmlXdd4.js";import{t as f}from"./button-D8rvET0Z.js";import{t as p}from"./Bestaetigen-CkA7XucG.js";var m=t();function h(e,t){if(e===`os`)return{laeuft:`Ubuntu`,neu:t.count?`${t.count} ${t.count===1?`Paket`:`Pakete`}`:null};if(e===`hermes`)return{laeuft:t.installed_version?`v${t.installed_version}`:`–`,neu:t.behind?`+${t.behind.toLocaleString(`de-DE`)} Änderungen`:null};let n=e===`engine`?`b`:`v`;return{laeuft:t.installed_build==null?`–`:`${n}${t.installed_build}`,neu:t.latest_build!=null&&t.installed_build!=null&&t.latest_build>t.installed_build?`${n}${t.latest_build}`:null}}function g(e,t){return!t||t.error?null:e===`os`?typeof t.count==`number`?t.count>0:null:e===`hermes`?typeof t.behind==`number`?t.behind>0:null:t.latest_build==null||t.installed_build==null?null:t.latest_build>t.installed_build}function _(e){let t=e.trim();return/timed out|timeout|zeitüberschreitung/i.test(t)?`Konnte nicht prüfen: Die Gegenstelle hat nicht rechtzeitig geantwortet. Später klappt es meist wieder.`:/name resolution|name or service not known|network is unreachable|connection (refused|reset)|nicht erreichbar/i.test(t)?`Konnte nicht prüfen: Die Box kommt gerade nicht ins Internet.`:`Konnte nicht prüfen: ${t.length>160?`${t.slice(0,157)}…`:t}`}var v=e=>e.group===`download`||/^download\s/i.test(e.label),y=e=>e.group===`pruefen`||e.label===`Nach Updates suchen`,b=e=>a(e)&&v(e),x=[[/^download\s+(.+)$/i,`Download $1`],[/^OS-Update \(apt\)$/,`Update Betriebssystem`],[/^Engine-Update \(llama\.cpp Vulkan\)$/,`Update Motor (llama.cpp)`],[/^Router-Update \(llama-swap\)$/,`Update llama-swap`],[/^Hermes-Agent-Update$/,`Update Hermes`]],S=[[`Engine (llama.cpp)`,`Motor`],[`Router (llama-swap)`,`llama-swap`],[`Hermes-Agent`,`Hermes`],[`OS (apt)`,`Betriebssystem`]];function C(e){for(let[t,n]of x)if(t.test(e.label))return e.label.replace(t,n);return e.label.startsWith(`Alle aktualisieren`)?S.reduce((e,[t,n])=>e.split(t).join(n),e.label):e.label}function w(e){if(e<60)return`noch unter einer Minute`;let t=Math.round(e/60);if(t<60)return`noch etwa ${t} min`;let n=Math.floor(t/60),r=t%60;return r?`noch etwa ${n} h ${r} min`:`noch etwa ${n} h`}function T(e,t=Date.now()/1e3){let n=Math.max(0,t-e.started_at),r=Math.floor(n/60),i=n<60?`ein paar Sekunden`:r<60?`${r} min`:`${Math.floor(r/60)} h ${r%60} min`;return`${e.state===`queued`?`Wartet`:`Läuft`} seit ${i}`}function E(e){if(e.progress==null)return null;let t=[`${Math.round(e.progress)} %`];return e.total_bytes&&t.push(`${u(e.done_bytes??0,1)} von ${u(e.total_bytes,1)}`),e.eta_s!=null&&a(e)&&t.push(w(e.eta_s)),t.join(` · `)}function D(e){for(let t=(e.log?.length??0)-1;t>=0;t--){let n=e.log[t].trim();if(n&&!n.startsWith(`$ `))return n}return null}function O(e,t=Date.now()/1e3){let n=e.filter(a).sort((e,t)=>e.started_at-t.started_at),r=e.filter(e=>!a(e)&&t-(e.finished_at??e.started_at)<86400).sort((e,t)=>(t.finished_at??t.started_at)-(e.finished_at??e.started_at)).slice(0,3);return[...n,...r]}function k(e,t,n){if(!n)return`Nach dem Download übernimmt ${e} die Rolle „${t}“.`;let r=n.weitere.length?` Die Rolle${n.weitere.length===1?``:`n`} „${n.weitere.join(`“, „`)}“ behält es.`:``;return`Achtung: Nach dem Download übernimmt ${e} die Rolle „${t}“ und ersetzt damit ${n.name}. Das bisherige Modell bleibt auf der Platte.${r}`+(n.zwilling?` Bilder liest vorerst weiter sein Bild-Zwilling, also noch das bisherige Modell.`:``)}function A(e){return`Kurze Unterbrechung: Beim Eintragen lädt llama-swap sofort neu. Was Lucy oder OpenChamber gerade schreiben, bricht ab, und die Modelle werden neu geladen.`+(e?` Mit Rolle passiert das nach dem Download noch einmal.`:``)}var j=r(e(),1),M=n(),N={queued:{text:`Wartet`,art:`cyan`},running:{text:`Läuft`,art:`cyan`},done:{text:`Fertig`,art:`gruen`},failed:{text:`Fehler`,art:`rot`},canceled:{text:`Abgebrochen`,art:`grau`}},P={queued:`bg-cyan`,running:`bg-cyan`,done:`bg-gruen`,failed:`bg-rot`,canceled:`bg-text-3`},F=e=>d(new Date(e*1e3).toISOString());function I(e){let t=(0,m.c)(3),[n,r]=(0,j.useState)(L),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;let t=window.setInterval(()=>r(Date.now()/1e3),3e4);return()=>window.clearInterval(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,j.useEffect)(i,a),n}function L(){return Date.now()/1e3}function R(e){let t=(0,m.c)(75),{job:n,onAbbrechen:r,abbrechenGesperrt:o,ebene:s}=e,l=s===void 0?4:s,[u,d]=(0,j.useState)(!1),[h,g]=(0,j.useState)(!1),_;t[0]===n.state?_=t[1]:(_=N[n.state]??{text:n.state,art:`grau`},t[0]=n.state,t[1]=_);let y=_,x;t[2]===n?x=t[3]:(x=C(n),t[2]=n,t[3]=x);let S=x,w;t[4]===n?w=t[5]:(w=E(n),t[4]=n,t[5]=w);let O=w,k;t[6]===n?k=t[7]:(k=D(n),t[6]=n,t[7]=k);let A=k,L;t[8]===n?L=t[9]:(L=a(n),t[8]=n,t[9]=L);let R=L,z=I(R),B;t[10]!==n||t[11]!==r?(B=!!r&&b(n),t[10]=n,t[11]=r,t[12]=B):B=t[12];let V=B,H,U,W,G,K,q,J,Y;if(t[13]!==o||t[14]!==V||t[15]!==l||t[16]!==O||t[17]!==z||t[18]!==n||t[19]!==R||t[20]!==A||t[21]!==h||t[22]!==S||t[23]!==y.art||t[24]!==y.text){let e=(n.log??[]).slice(-12),r=l===3?`h3`:`h4`;J=`Auftrag: ${S}`,Y=`flex flex-col gap-2.5 rounded-xl border border-linie bg-erhaben/50 p-3.5`;let a;t[33]!==r||t[34]!==S?(a=(0,M.jsx)(r,{className:`m-0 min-w-0 text-[15px] leading-snug font-semibold break-words`,children:S}),t[33]=r,t[34]=S,t[35]=a):a=t[35];let s;t[36]!==y.art||t[37]!==y.text?(s=(0,M.jsx)(c,{art:y.art,children:y.text}),t[36]=y.art,t[37]=y.text,t[38]=s):s=t[38],t[39]!==a||t[40]!==s?(H=(0,M.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[a,s]}),t[39]=a,t[40]=s,t[41]=H):H=t[41],t[42]!==n.progress||t[43]!==n.state||t[44]!==S?(U=n.progress!=null&&(0,M.jsx)(`div`,{role:`progressbar`,"aria-label":`Fortschritt: ${S}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.progress),className:`h-2 overflow-hidden rounded-full bg-linie`,children:(0,M.jsx)(`div`,{className:i(`h-full`,P[n.state]??`bg-cyan`),style:{width:`${Math.max(2,Math.min(100,n.progress))}%`}})}),t[42]=n.progress,t[43]=n.state,t[44]=S,t[45]=U):U=t[45];let u;t[46]!==O||t[47]!==z||t[48]!==n||t[49]!==R||t[50]!==y.text?(u=R?O??T(n,z):`${y.text} · ${F(n.finished_at??n.started_at)}`,t[46]=O,t[47]=z,t[48]=n,t[49]=R,t[50]=y.text,t[51]=u):u=t[51],t[52]===u?W=t[53]:(W=(0,M.jsx)(`p`,{className:`ziffern m-0 text-sm text-text-2`,children:u}),t[52]=u,t[53]=W),t[54]!==n.progress||t[55]!==n.state||t[56]!==R||t[57]!==A?(G=A&&(n.state===`failed`||R&&n.progress==null)&&(0,M.jsx)(`p`,{className:n.state===`failed`?`m-0 text-sm break-words text-rot-text`:`ziffern m-0 line-clamp-2 text-xs break-all text-text-3`,children:n.state===`failed`?`Letzte Meldung: ${A}`:A}),t[54]=n.progress,t[55]=n.state,t[56]=R,t[57]=A,t[58]=G):G=t[58],K=(V||e.length>1)&&(0,M.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[V&&(0,M.jsx)(f,{variant:`outline`,size:`sm`,disabled:o,onClick:()=>d(!0),children:`Abbrechen`}),e.length>1&&(0,M.jsx)(f,{variant:`ghost`,size:`sm`,"aria-expanded":h,onClick:()=>g(!h),children:h?`Protokoll zu`:`Protokoll`})]}),q=h&&(0,M.jsx)(`pre`,{className:`ziffern m-0 max-h-56 overflow-auto rounded-md bg-[#0b0d0f] p-2 text-xs whitespace-pre-wrap break-all text-text-2`,children:e.join(` `)}),t[13]=o,t[14]=V,t[15]=l,t[16]=O,t[17]=z,t[18]=n,t[19]=R,t[20]=A,t[21]=h,t[22]=S,t[23]=y.art,t[24]=y.text,t[25]=H,t[26]=U,t[27]=W,t[28]=G,t[29]=K,t[30]=q,t[31]=J,t[32]=Y}else H=t[25],U=t[26],W=t[27],G=t[28],K=t[29],q=t[30],J=t[31],Y=t[32];let X;t[59]!==V||t[60]!==u||t[61]!==n||t[62]!==r||t[63]!==S?(X=V&&(0,M.jsx)(p,{offen:u,gefahr:!0,titel:`Auftrag abbrechen?`,text:v(n)?`Der ${S} stoppt. Du kannst ihn später über „Modelle selbst suchen“ neu starten.`:`„${S}“ wird abgebrochen.`,knopf:`Ja, abbrechen`,neinKnopf:`Weiterlaufen lassen`,onNein:()=>d(!1),onJa:()=>{u&&(d(!1),r?.(n))}}),t[59]=V,t[60]=u,t[61]=n,t[62]=r,t[63]=S,t[64]=X):X=t[64];let Z;return t[65]!==H||t[66]!==U||t[67]!==W||t[68]!==G||t[69]!==K||t[70]!==q||t[71]!==X||t[72]!==J||t[73]!==Y?(Z=(0,M.jsxs)(`article`,{"aria-label":J,className:Y,children:[H,U,W,G,K,q,X]}),t[65]=H,t[66]=U,t[67]=W,t[68]=G,t[69]=K,t[70]=q,t[71]=X,t[72]=J,t[73]=Y,t[74]=Z):Z=t[74],Z}function z(e){let t=(0,m.c)(17),{alsPanel:n}=e,r=n!==void 0&&n,i=s(),a=o(),c,u;if(t[0]!==a||t[1]!==r||t[2]!==i.data||t[3]!==i.error||t[4]!==i.isError){u=Symbol.for(`react.early_return_sentinel`);bb0:{let e=O(i.data?.jobs??[]);if(e.length>0){let n;t[7]!==a||t[8]!==r?(n=e=>(0,M.jsx)(R,{job:e,ebene:r?3:4,abbrechenGesperrt:a.isPending,onAbbrechen:e=>a.mutate({id:e.id,titel:C(e)})},e.id),t[7]=a,t[8]=r,t[9]=n):n=t[9],c=(0,M.jsx)(`div`,{className:`grid items-start gap-2.5 lg:grid-cols-2`,children:e.map(n)})}else if(i.isError&&!i.data){let e;t[10]===i.error.message?e=t[11]:(e=(0,M.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Aufträge lassen sich gerade nicht lesen: `,i.error.message]}),t[10]=i.error.message,t[11]=e),c=e}else{u=null;break bb0}}t[0]=a,t[1]=r,t[2]=i.data,t[3]=i.error,t[4]=i.isError,t[5]=c,t[6]=u}else c=t[5],u=t[6];if(u!==Symbol.for(`react.early_return_sentinel`))return u;if(r){let e;return t[12]===c?e=t[13]:(e=(0,M.jsx)(l,{titel:`Aufträge`,children:c}),t[12]=c,t[13]=e),e}let d;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,M.jsx)(`h3`,{className:`schild m-0 text-sm text-text-3`,children:`Aufträge`}),t[14]=d):d=t[14];let f;return t[15]===c?f=t[16]:(f=(0,M.jsxs)(`section`,{"aria-label":`Aufträge`,className:`flex flex-col gap-2.5`,children:[d,c]}),t[15]=c,t[16]=f),f}export{D as a,h as c,y as i,g as n,_ as o,A as r,k as s,z as t}; \ No newline at end of file diff --git a/frontend/dist/assets/Bestaetigen-SE_NgpcU.js b/frontend/dist/assets/Bestaetigen-CkA7XucG.js similarity index 97% rename from frontend/dist/assets/Bestaetigen-SE_NgpcU.js rename to frontend/dist/assets/Bestaetigen-CkA7XucG.js index ad219a9..f81234b 100644 --- a/frontend/dist/assets/Bestaetigen-SE_NgpcU.js +++ b/frontend/dist/assets/Bestaetigen-CkA7XucG.js @@ -1 +1 @@ -import{i as e,n as t,o as n,r,t as i}from"./dist-D4CVSex9.js";import{Vt as a}from"./index-FvHAYExN.js";import{t as o}from"./button-D8rvET0Z.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-LMCPoT8k.js";var m=t();e();var h=r();function g(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(p,{"data-slot":`dialog`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(u,{"data-slot":`dialog-portal`,...n}),t[2]=n,t[3]=r),r}function v(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(s,{"data-slot":`dialog-overlay`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function y(e){let t=(0,m.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,showCloseButton:c,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let u=c===void 0||c,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,h.jsx)(v,{}),t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=i(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,r),t[6]=r,t[7]=p);let g;t[8]===u?g=t[9]:(g=u&&(0,h.jsx)(l,{"data-slot":`dialog-close`,asChild:!0,children:(0,h.jsxs)(o,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,h.jsx)(a,{}),(0,h.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[8]=u,t[9]=g);let y;return t[10]!==n||t[11]!==s||t[12]!==p||t[13]!==g?(y=(0,h.jsxs)(_,{children:[f,(0,h.jsxs)(d,{"data-slot":`dialog-content`,className:p,...s,children:[n,g]})]}),t[10]=n,t[11]=s,t[12]=p,t[13]=g,t[14]=y):y=t[14],y}function b(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`flex flex-col gap-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,m.c)(14),n,r,a,s;t[0]===e?(n=t[1],r=t[2],a=t[3],s=t[4]):({className:r,showCloseButton:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=a,t[4]=s);let c=s!==void 0&&s,u;t[5]===r?u=t[6]:(u=i(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,r),t[5]=r,t[6]=u);let d;t[7]===c?d=t[8]:(d=c&&(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(o,{variant:`outline`,children:`Schließen`})}),t[7]=c,t[8]=d);let f;return t[9]!==n||t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,h.jsxs)(`div`,{"data-slot":`dialog-footer`,className:u,...a,children:[n,d]}),t[9]=n,t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function S(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`font-heading text-base leading-none font-medium`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(f,{"data-slot":`dialog-title`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function C(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(c,{"data-slot":`dialog-description`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}var w=n({Bestaetigen:()=>T});function T(e){let t=(0,m.c)(32),{offen:n,titel:r,text:i,knopf:a,neinKnopf:s,gefahr:c,gesperrt:l,onJa:u,onNein:d,children:f}=e,p=s===void 0?`Abbrechen`:s,_;t[0]===d?_=t[1]:(_=e=>!e&&d(),t[0]=d,t[1]=_);let v;t[2]===r?v=t[3]:(v=(0,h.jsx)(S,{className:`schild pr-10 text-xl break-words`,children:r}),t[2]=r,t[3]=v);let w;t[4]===i?w=t[5]:(w=(0,h.jsx)(C,{className:`text-[15px] leading-relaxed text-text-2`,children:i}),t[4]=i,t[5]=w);let T;t[6]!==v||t[7]!==w?(T=(0,h.jsxs)(b,{children:[v,w]}),t[6]=v,t[7]=w,t[8]=T):T=t[8];let E;t[9]!==p||t[10]!==d?(E=(0,h.jsx)(o,{variant:`outline`,onClick:d,children:p}),t[9]=p,t[10]=d,t[11]=E):E=t[11];let D=c?`gefahr`:`default`,O=l||void 0,k;t[12]!==l||t[13]!==u?(k=()=>{l||u()},t[12]=l,t[13]=u,t[14]=k):k=t[14];let A;t[15]!==l||t[16]!==a||t[17]!==D||t[18]!==O||t[19]!==k?(A=(0,h.jsx)(o,{variant:D,disabled:l,"aria-busy":O,onClick:k,children:a}),t[15]=l,t[16]=a,t[17]=D,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==E?(j=(0,h.jsxs)(x,{className:`sticky bottom-0 mb-0 gap-2 bg-erhaben sm:gap-2`,children:[E,A]}),t[21]=A,t[22]=E,t[23]=j):j=t[23];let M;t[24]!==f||t[25]!==j||t[26]!==T?(M=(0,h.jsxs)(y,{className:`max-h-[calc(100dvh-2rem)] overflow-y-auto border-linie bg-panel pb-0 sm:max-w-lg`,children:[T,f,j]}),t[24]=f,t[25]=j,t[26]=T,t[27]=M):M=t[27];let N;return t[28]!==n||t[29]!==M||t[30]!==_?(N=(0,h.jsx)(g,{open:n,onOpenChange:_,children:M}),t[28]=n,t[29]=M,t[30]=_,t[31]=N):N=t[31],N}export{w as n,T as t}; \ No newline at end of file +import{i as e,n as t,o as n,r,t as i}from"./dist-D4CVSex9.js";import{Vt as a}from"./index-CYmlXdd4.js";import{t as o}from"./button-D8rvET0Z.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-CRmt9osm.js";var m=t();e();var h=r();function g(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(p,{"data-slot":`dialog`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(u,{"data-slot":`dialog-portal`,...n}),t[2]=n,t[3]=r),r}function v(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(s,{"data-slot":`dialog-overlay`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function y(e){let t=(0,m.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,showCloseButton:c,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let u=c===void 0||c,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,h.jsx)(v,{}),t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=i(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,r),t[6]=r,t[7]=p);let g;t[8]===u?g=t[9]:(g=u&&(0,h.jsx)(l,{"data-slot":`dialog-close`,asChild:!0,children:(0,h.jsxs)(o,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,h.jsx)(a,{}),(0,h.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[8]=u,t[9]=g);let y;return t[10]!==n||t[11]!==s||t[12]!==p||t[13]!==g?(y=(0,h.jsxs)(_,{children:[f,(0,h.jsxs)(d,{"data-slot":`dialog-content`,className:p,...s,children:[n,g]})]}),t[10]=n,t[11]=s,t[12]=p,t[13]=g,t[14]=y):y=t[14],y}function b(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`flex flex-col gap-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,m.c)(14),n,r,a,s;t[0]===e?(n=t[1],r=t[2],a=t[3],s=t[4]):({className:r,showCloseButton:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=a,t[4]=s);let c=s!==void 0&&s,u;t[5]===r?u=t[6]:(u=i(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,r),t[5]=r,t[6]=u);let d;t[7]===c?d=t[8]:(d=c&&(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(o,{variant:`outline`,children:`Schließen`})}),t[7]=c,t[8]=d);let f;return t[9]!==n||t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,h.jsxs)(`div`,{"data-slot":`dialog-footer`,className:u,...a,children:[n,d]}),t[9]=n,t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function S(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`font-heading text-base leading-none font-medium`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(f,{"data-slot":`dialog-title`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function C(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(c,{"data-slot":`dialog-description`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}var w=n({Bestaetigen:()=>T});function T(e){let t=(0,m.c)(32),{offen:n,titel:r,text:i,knopf:a,neinKnopf:s,gefahr:c,gesperrt:l,onJa:u,onNein:d,children:f}=e,p=s===void 0?`Abbrechen`:s,_;t[0]===d?_=t[1]:(_=e=>!e&&d(),t[0]=d,t[1]=_);let v;t[2]===r?v=t[3]:(v=(0,h.jsx)(S,{className:`schild pr-10 text-xl break-words`,children:r}),t[2]=r,t[3]=v);let w;t[4]===i?w=t[5]:(w=(0,h.jsx)(C,{className:`text-[15px] leading-relaxed text-text-2`,children:i}),t[4]=i,t[5]=w);let T;t[6]!==v||t[7]!==w?(T=(0,h.jsxs)(b,{children:[v,w]}),t[6]=v,t[7]=w,t[8]=T):T=t[8];let E;t[9]!==p||t[10]!==d?(E=(0,h.jsx)(o,{variant:`outline`,onClick:d,children:p}),t[9]=p,t[10]=d,t[11]=E):E=t[11];let D=c?`gefahr`:`default`,O=l||void 0,k;t[12]!==l||t[13]!==u?(k=()=>{l||u()},t[12]=l,t[13]=u,t[14]=k):k=t[14];let A;t[15]!==l||t[16]!==a||t[17]!==D||t[18]!==O||t[19]!==k?(A=(0,h.jsx)(o,{variant:D,disabled:l,"aria-busy":O,onClick:k,children:a}),t[15]=l,t[16]=a,t[17]=D,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==E?(j=(0,h.jsxs)(x,{className:`sticky bottom-0 mb-0 gap-2 bg-erhaben sm:gap-2`,children:[E,A]}),t[21]=A,t[22]=E,t[23]=j):j=t[23];let M;t[24]!==f||t[25]!==j||t[26]!==T?(M=(0,h.jsxs)(y,{className:`max-h-[calc(100dvh-2rem)] overflow-y-auto border-linie bg-panel pb-0 sm:max-w-lg`,children:[T,f,j]}),t[24]=f,t[25]=j,t[26]=T,t[27]=M):M=t[27];let N;return t[28]!==n||t[29]!==M||t[30]!==_?(N=(0,h.jsx)(g,{open:n,onOpenChange:_,children:M}),t[28]=n,t[29]=M,t[30]=_,t[31]=N):N=t[31],N}export{w as n,T as t}; \ No newline at end of file diff --git a/frontend/dist/assets/Dienste-BGWmtSYR.js b/frontend/dist/assets/Dienste-R9X0M5PO.js similarity index 96% rename from frontend/dist/assets/Dienste-BGWmtSYR.js rename to frontend/dist/assets/Dienste-R9X0M5PO.js index ca2a8c5..f4177da 100644 --- a/frontend/dist/assets/Dienste-BGWmtSYR.js +++ b/frontend/dist/assets/Dienste-R9X0M5PO.js @@ -1 +1 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Bt as a,Dt as o,I as s,Zt as c,jt as l,nt as u}from"./index-FvHAYExN.js";import{t as d}from"./button-D8rvET0Z.js";import{a as f,i as p,n as m,r as h,t as g}from"./sheet-CB1NvtKC.js";var _=t(),v=r(e(),1),y=n();function b(e){let t=(0,_.c)(4),{unit:n}=e,r=u(n),i;if(r.isPending)i=`Wird gelesen …`;else if(r.isError)i=`Das Protokoll lässt sich gerade nicht lesen: ${r.error.message}`;else if(r.data.ok===!1)i=r.data.err||r.data.text||`Das Protokoll lässt sich nicht lesen.`;else{let e;t[0]===r.data.text?e=t[1]:(e=r.data.text?.trim()||`Noch keine Einträge.`,t[0]=r.data.text,t[1]=e),i=e}let a;return t[2]===i?a=t[3]:(a=(0,y.jsx)(`pre`,{className:`ziffern m-0 max-h-[50vh] w-full basis-full overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap break-all text-text-2`,children:i}),t[2]=i,t[3]=a),a}function x({offen:e,onSchliessen:t}){let n=c(),r=s(),[u,_]=(0,v.useState)(null),[x,S]=(0,v.useState)(null),[C,w]=(0,v.useState)(null);async function T(e){if(!C){S(null),w(e.unit);try{let t=await a(`/api/maintenance/restart`,{service:e.unit});t.ok?o(`erfolg`,`${e.name} ${e.schlaeft?`wird geweckt`:`startet neu`}.`):o(`fehler`,`${e.name} ließ sich nicht starten: ${l(t)}`),n.invalidateQueries({queryKey:[`dienste`]})}catch(e){o(`fehler`,e.message)}finally{w(null)}}}let E;return E=r.isPending?(0,y.jsx)(`p`,{role:`status`,className:`px-4 text-[15px] text-text-2`,children:`Dienste werden gelesen …`}):r.isError&&!r.data?(0,y.jsxs)(`p`,{role:`alert`,className:`px-4 text-[15px] text-rot-text`,children:[`Die Dienste lassen sich gerade nicht lesen: `,r.error.message]}):r.data?.services.length?(0,y.jsx)(`ul`,{className:`m-0 flex list-none flex-col px-4 pb-4`,children:r.data.services.map(e=>(0,y.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-2 border-t border-linie py-2.5`,children:[(0,y.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,y.jsx)(`span`,{className:i(`size-2.5 shrink-0 rounded-full`,e.ok?`bg-gruen`:e.schlaeft?`bg-text-3`:`bg-rot`),"aria-hidden":!0}),(0,y.jsxs)(`span`,{className:`min-w-0`,children:[(0,y.jsx)(`span`,{className:`block text-[15px]`,children:e.name}),(0,y.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.unit,` · `,e.ok?`läuft`:e.schlaeft?`schläft (abgeschaltet)`:`antwortet nicht`]})]})]}),(0,y.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,y.jsx)(d,{variant:u===e.unit?`info`:`ghost`,size:`sm`,"aria-expanded":u===e.unit,onClick:()=>_(u===e.unit?null:e.unit),children:`Protokoll`}),x===e.unit?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(d,{variant:`gefahr`,size:`sm`,onClick:()=>T(e),children:e.schlaeft?`Wirklich wecken?`:`Wirklich neu starten?`}),(0,y.jsx)(d,{variant:`ghost`,size:`sm`,onClick:()=>S(null),children:`Nein`})]}):(0,y.jsx)(d,{variant:`outline`,size:`sm`,disabled:C!==null,onClick:()=>S(e.unit),children:C===e.unit?`Startet …`:e.schlaeft?`Wecken`:`Neu starten`})]}),u===e.unit&&(0,y.jsx)(b,{unit:e.unit})]},e.unit))}):(0,y.jsx)(`p`,{className:`px-4 text-[15px] text-text-2`,children:`Keine Dienste gefunden.`}),(0,y.jsx)(g,{open:e,onOpenChange:e=>!e&&t(),children:(0,y.jsxs)(m,{side:`right`,className:`gap-3 overflow-y-auto border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[(0,y.jsxs)(p,{children:[(0,y.jsx)(f,{className:`schild text-lg`,children:`Dienste und Protokolle`}),(0,y.jsx)(h,{className:`text-text-2`,children:`Welcher Dienst läuft, was er zuletzt geschrieben hat.`})]}),E]})})}export{x as Dienste}; \ No newline at end of file +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Bt as a,Dt as o,I as s,Zt as c,jt as l,nt as u}from"./index-CYmlXdd4.js";import{t as d}from"./button-D8rvET0Z.js";import{a as f,i as p,n as m,r as h,t as g}from"./sheet-s_FTWvn-.js";var _=t(),v=r(e(),1),y=n();function b(e){let t=(0,_.c)(4),{unit:n}=e,r=u(n),i;if(r.isPending)i=`Wird gelesen …`;else if(r.isError)i=`Das Protokoll lässt sich gerade nicht lesen: ${r.error.message}`;else if(r.data.ok===!1)i=r.data.err||r.data.text||`Das Protokoll lässt sich nicht lesen.`;else{let e;t[0]===r.data.text?e=t[1]:(e=r.data.text?.trim()||`Noch keine Einträge.`,t[0]=r.data.text,t[1]=e),i=e}let a;return t[2]===i?a=t[3]:(a=(0,y.jsx)(`pre`,{className:`ziffern m-0 max-h-[50vh] w-full basis-full overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap break-all text-text-2`,children:i}),t[2]=i,t[3]=a),a}function x({offen:e,onSchliessen:t}){let n=c(),r=s(),[u,_]=(0,v.useState)(null),[x,S]=(0,v.useState)(null),[C,w]=(0,v.useState)(null);async function T(e){if(!C){S(null),w(e.unit);try{let t=await a(`/api/maintenance/restart`,{service:e.unit});t.ok?o(`erfolg`,`${e.name} ${e.schlaeft?`wird geweckt`:`startet neu`}.`):o(`fehler`,`${e.name} ließ sich nicht starten: ${l(t)}`),n.invalidateQueries({queryKey:[`dienste`]})}catch(e){o(`fehler`,e.message)}finally{w(null)}}}let E;return E=r.isPending?(0,y.jsx)(`p`,{role:`status`,className:`px-4 text-[15px] text-text-2`,children:`Dienste werden gelesen …`}):r.isError&&!r.data?(0,y.jsxs)(`p`,{role:`alert`,className:`px-4 text-[15px] text-rot-text`,children:[`Die Dienste lassen sich gerade nicht lesen: `,r.error.message]}):r.data?.services.length?(0,y.jsx)(`ul`,{className:`m-0 flex list-none flex-col px-4 pb-4`,children:r.data.services.map(e=>(0,y.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-2 border-t border-linie py-2.5`,children:[(0,y.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,y.jsx)(`span`,{className:i(`size-2.5 shrink-0 rounded-full`,e.ok?`bg-gruen`:e.schlaeft?`bg-text-3`:`bg-rot`),"aria-hidden":!0}),(0,y.jsxs)(`span`,{className:`min-w-0`,children:[(0,y.jsx)(`span`,{className:`block text-[15px]`,children:e.name}),(0,y.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.unit,` · `,e.ok?`läuft`:e.schlaeft?`schläft (abgeschaltet)`:`antwortet nicht`]})]})]}),(0,y.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,y.jsx)(d,{variant:u===e.unit?`info`:`ghost`,size:`sm`,"aria-expanded":u===e.unit,onClick:()=>_(u===e.unit?null:e.unit),children:`Protokoll`}),x===e.unit?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(d,{variant:`gefahr`,size:`sm`,onClick:()=>T(e),children:e.schlaeft?`Wirklich wecken?`:`Wirklich neu starten?`}),(0,y.jsx)(d,{variant:`ghost`,size:`sm`,onClick:()=>S(null),children:`Nein`})]}):(0,y.jsx)(d,{variant:`outline`,size:`sm`,disabled:C!==null,onClick:()=>S(e.unit),children:C===e.unit?`Startet …`:e.schlaeft?`Wecken`:`Neu starten`})]}),u===e.unit&&(0,y.jsx)(b,{unit:e.unit})]},e.unit))}):(0,y.jsx)(`p`,{className:`px-4 text-[15px] text-text-2`,children:`Keine Dienste gefunden.`}),(0,y.jsx)(g,{open:e,onOpenChange:e=>!e&&t(),children:(0,y.jsxs)(m,{side:`right`,className:`gap-3 overflow-y-auto border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[(0,y.jsxs)(p,{children:[(0,y.jsx)(f,{className:`schild text-lg`,children:`Dienste und Protokolle`}),(0,y.jsx)(h,{className:`text-text-2`,children:`Welcher Dienst läuft, was er zuletzt geschrieben hat.`})]}),E]})})}export{x as Dienste}; \ No newline at end of file diff --git a/frontend/dist/assets/Einstellungen-B5hDXuZV.js b/frontend/dist/assets/Einstellungen-BMqSfzd8.js similarity index 99% rename from frontend/dist/assets/Einstellungen-B5hDXuZV.js rename to frontend/dist/assets/Einstellungen-BMqSfzd8.js index 04e3890..3694b8a 100644 --- a/frontend/dist/assets/Einstellungen-B5hDXuZV.js +++ b/frontend/dist/assets/Einstellungen-BMqSfzd8.js @@ -1 +1 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Bt as a,Dt as o,J as s,Kt as c,L as l,M as u,Ut as d,V as f,Xt as p,Zt as m,at as h,f as g,ft as _,j as v,mt as y,tt as b,ut as x,yt as S,zt as C}from"./index-FvHAYExN.js";import{t as w}from"./button-D8rvET0Z.js";import{t as ee}from"./Bestaetigen-SE_NgpcU.js";var T={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};T.node;var E=c(T),D=t(),O=r(e(),1),k=n(),A=[`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`,`Sonntag`],j=Array.from({length:48},(e,t)=>`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`),M=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function N(e){let t=e?new Date(e):null;return t&&!Number.isNaN(t.getTime())?M.format(t):`–`}function P(e,t){let n=Number(t.slice(0,2)),r=n*60+179,i=e;r>=1440&&(r-=1440,i=e%7+1);let a=e=>String(e).padStart(2,`0`),o=`${a(n)}:00`,s=`${a(Math.floor(r/60))}:${a(r%60)}`;return i===e?`${A[e-1]} ${o}–${s}`:`${A[e-1]} ${o} – ${A[i-1]} ${s}`}function F(e){let t=(0,D.c)(6),{titel:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,k.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,k.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-3 border-t border-linie pt-4 first:border-t-0 first:pt-0`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function I(e){let t=(0,D.c)(19),{titel:n,text:r,farbe:a,children:o}=e,s=a===`box`?`bg-box`:a===`homelab`?`bg-lab`:`bg-linie-stark`,c=a===`box`?`text-box-text`:a===`homelab`?`text-lab-text`:`text-foreground`,l;t[0]===s?l=t[1]:(l=i(`absolute inset-x-0 top-0 h-1`,s),t[0]=s,t[1]=l);let u;t[2]===l?u=t[3]:(u=(0,k.jsx)(`span`,{"aria-hidden":!0,className:l}),t[2]=l,t[3]=u);let d;t[4]===c?d=t[5]:(d=i(`schild text-lg font-bold tracking-[0.22em]`,c),t[4]=c,t[5]=d);let f;t[6]!==d||t[7]!==n?(f=(0,k.jsx)(`h2`,{className:d,children:n}),t[6]=d,t[7]=n,t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=(0,k.jsx)(`p`,{className:`text-sm text-text-3`,children:r}),t[9]=r,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[f,p]}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==o||t[15]!==u||t[16]!==m||t[17]!==n?(h=(0,k.jsxs)(`section`,{"aria-label":n,className:`relative flex min-w-0 flex-col gap-4 overflow-hidden rounded-2xl border border-linie bg-panel p-5 sm:p-6`,children:[u,m,o]}),t[14]=o,t[15]=u,t[16]=m,t[17]=n,t[18]=h):h=t[18],h}function L(e){let t=(0,D.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:n}),t[0]=n,t[1]=r),r}function R(e){let t=(0,D.c)(3),{laedt:n,fehler:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],e}let i=r?`: ${r}`:`.`,a;return t[1]===i?a=t[2]:(a=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Lässt sich gerade nicht lesen`,i]}),t[1]=i,t[2]=a),a}function z({offen:e}){let t=m(),n=p({queryKey:[`geheimnisse`],queryFn:()=>C(`/api/maintenance/geheimnisse`),enabled:e}),[r,i]=(0,O.useState)(``),[s,c]=(0,O.useState)(!1),[l,u]=(0,O.useState)(!1);async function d(e){if(!s){c(!0),u(!1);try{await a(`/api/maintenance/geheimnisse`,{schluessel:`hf_token`,wert:e}),o(`erfolg`,e?`Hugging-Face-Zugang gespeichert.`:`Hugging-Face-Zugang gelöscht.`),i(``),t.invalidateQueries({queryKey:[`geheimnisse`]})}catch(e){o(`fehler`,e.message)}finally{c(!1)}}}let f=n.data,h;return h=n.isPending?`Wird gelesen …`:f?f.hf_token_gesetzt?`Ist hinterlegt.`:`Fehlt.`:`Lässt sich gerade nicht lesen${n.error?`: ${n.error.message}`:`.`}`,(0,k.jsxs)(F,{titel:`Hugging-Face-Zugang`,children:[(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,"aria-live":`polite`,children:[(0,k.jsx)(`span`,{className:!f&&!n.isPending?`text-rot-text`:void 0,children:h}),` Nötig für gesperrte Modelle und schnellere Downloads.`,f?.hf_token_aus_env?` Er kommt aus der Dienst-Einstellung und lässt sich hier nicht löschen.`:``]}),f?.schreibbar===!1&&(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:`Die Box kann den Zugang gerade nicht speichern: Ihre Ablage ist nicht beschreibbar.`}),(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),r.trim()&&d(r.trim())},children:[(0,k.jsx)(`label`,{htmlFor:`hf-token`,className:`sr-only`,children:`Hugging-Face-Zugang`}),(0,k.jsx)(`input`,{id:`hf-token`,type:`password`,autoComplete:`off`,value:r,onChange:e=>i(e.target.value),placeholder:`hf_…`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),(0,k.jsx)(w,{type:`submit`,disabled:!r.trim()||f?.schreibbar===!1||s,children:s?`Speichert …`:`Speichern`})]}),f?.hf_token_gesetzt&&!f.hf_token_aus_env&&(l?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:s,onClick:()=>d(null),children:`Wirklich löschen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>u(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,disabled:s,onClick:()=>u(!0),children:`Zugang löschen`}))]})}function B(e){let t=(0,D.c)(24),{ziel:n,name:r}=e,i=_(),a=i.data,o=null;if(i.isPending){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Sendet …`}),t[0]=e):e=t[0],o=e}else if(a?.gesendet){let e=a.weg===`hermes`?`über Hermes`:`direkt an die Telegram-Bot-API`,n=a.kennung?`, Kennung ${a.kennung}`:``,r;t[1]!==e||t[2]!==n?(r=(0,k.jsxs)(`p`,{role:`status`,className:`text-sm text-gruen`,children:[`Gesendet `,e,n,`. Schau in Telegram nach.`]}),t[1]=e,t[2]=n,t[3]=r):r=t[3],o=r}else if(a){let e=a.grund??a.detail??`ohne Angabe eines Grundes.`,n;t[4]===e?n=t[5]:(n=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Nicht gesendet: `,e]}),t[4]=e,t[5]=n),o=n}else if(i.error){let e;t[6]===i.error.message?e=t[7]:(e=(0,k.jsx)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:i.error.message}),t[6]=i.error.message,t[7]=e),o=e}let s;t[8]===r?s=t[9]:(s=(0,k.jsx)(`span`,{className:`text-[15px]`,children:r}),t[8]=r,t[9]=s);let c;t[10]!==i||t[11]!==n?(c=()=>i.mutate(n),t[10]=i,t[11]=n,t[12]=c):c=t[12];let l=`Testmeldung von ${r} senden`,u=i.isPending?`Sendet …`:`Test senden`,d;t[13]!==c||t[14]!==l||t[15]!==u||t[16]!==i.isPending?(d=(0,k.jsx)(w,{variant:`outline`,size:`sm`,disabled:i.isPending,onClick:c,"aria-label":l,children:u}),t[13]=c,t[14]=l,t[15]=u,t[16]=i.isPending,t[17]=d):d=t[17];let f;t[18]!==s||t[19]!==d?(f=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[18]=s,t[19]=d,t[20]=f):f=t[20];let p;return t[21]!==o||t[22]!==f?(p=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f,o]}),t[21]=o,t[22]=f,t[23]=p):p=t[23],p}function V(){let e=(0,D.c)(9),t=s().data,n=t?.rolle??`box`,r=n===`box`?`homelab`:`box`,i=t?.instanz??(n===`box`?`Box-Wart`:`Homelab`),a;e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i?(a=[{ziel:n,name:i}],t?.partner.eingerichtet&&a.push({ziel:r,name:t.partner.name}),a.sort(U),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=a):a=e[4];let o,c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Dringende Hinweise gehen zusätzlich per Telegram raus, alles andere bleibt hier; was nachts anfällt, kommt um 07:00 als eine Morgenmeldung. Einfache Probleme wie einen abgestürzten Dienst behebt der Wächter selbst und schreibt es in den Verlauf.`}),c=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Test schickt eine kurze Meldung über den echten Meldeweg, als dringend, damit sie auch nachts sofort kommt.`}),e[5]=o,e[6]=c):(o=e[5],c=e[6]);let l;return e[7]===a?l=e[8]:(l=(0,k.jsxs)(F,{titel:`Telegram`,children:[o,c,a.map(H)]}),e[7]=a,e[8]=l),l}function H(e){return(0,k.jsx)(B,{ziel:e.ziel,name:e.name},e.ziel)}function U(e,t){return Number(e.ziel!==`box`)-Number(t.ziel!==`box`)}function W(e){let t=(0,D.c)(87),{e:n,laedt:r,fehler:i}=e,a=y(),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Update-Zeitfenster`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let u=n.update_fenster,d,f,p,m,h,g,_,v,b,x,S,C,T,E,M,I,z;if(t[3]!==n.schaltbar||t[4]!==o||t[5]!==u.naechster_lauf||t[6]!==u.neustart_fenster||t[7]!==u.tag||t[8]!==u.tag_name||t[9]!==u.timer_aktiv||t[10]!==u.uhrzeit||t[11]!==u.wirksam){z=o??{tag:u.tag,uhrzeit:u.uhrzeit},f=z.tag!==u.tag||z.uhrzeit!==u.uhrzeit;let e=j.includes(z.uhrzeit)?j:[...j,z.uhrzeit].sort();d=F,h=`Update-Zeitfenster`;let r;t[29]===u.naechster_lauf?r=t[30]:(r=u.naechster_lauf?` (nächster Lauf ${N(u.naechster_lauf)})`:``,t[29]=u.naechster_lauf,t[30]=r),t[31]!==u.neustart_fenster||t[32]!==u.tag_name||t[33]!==u.uhrzeit||t[34]!==r?(g=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Die Box aktualisiert sich jeden `,u.tag_name,` um `,u.uhrzeit,` Uhr`,r,`. Neu gestartet wird sie danach nur`,` `,u.neustart_fenster,`.`]}),t[31]=u.neustart_fenster,t[32]=u.tag_name,t[33]=u.uhrzeit,t[34]=r,t[35]=g):g=t[35],t[36]!==n.schaltbar||t[37]!==u.timer_aktiv?(_=n.schaltbar&&!u.timer_aktiv&&(0,k.jsx)(L,{children:`Der Update-Timer läuft gerade nicht; er übernimmt das Fenster beim nächsten Start.`}),t[36]=n.schaltbar,t[37]=u.timer_aktiv,t[38]=_):_=t[38],t[39]!==n.schaltbar||t[40]!==u.wirksam?(v=n.schaltbar&&!u.wirksam&&(0,k.jsx)(L,{children:`Der Timer läuft noch nach einem anderen Plan als eingestellt. Einmal speichern gleicht es an.`}),t[39]=n.schaltbar,t[40]=u.wirksam,t[41]=v):v=t[41],I=`flex flex-wrap items-end gap-2`;let i=z.tag,a;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(a=A.map(K),t[42]=a):a=t[42],m=(0,k.jsxs)(`label`,{className:`flex flex-col gap-1 text-xs text-text-3`,children:[`Tag`,(0,k.jsx)(`select`,{className:`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,value:i,disabled:!n.schaltbar,"aria-label":`Wochentag`,onChange:e=>s({...z,tag:Number(e.target.value)}),children:a})]}),E=`flex flex-col gap-1 text-xs text-text-3`,M=`Uhrzeit`,p=`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,b=z.uhrzeit,x=!n.schaltbar,S=`Uhrzeit`,C=e=>s({...z,uhrzeit:e.target.value}),T=e.map(G),t[3]=n.schaltbar,t[4]=o,t[5]=u.naechster_lauf,t[6]=u.neustart_fenster,t[7]=u.tag,t[8]=u.tag_name,t[9]=u.timer_aktiv,t[10]=u.uhrzeit,t[11]=u.wirksam,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=h,t[17]=g,t[18]=_,t[19]=v,t[20]=b,t[21]=x,t[22]=S,t[23]=C,t[24]=T,t[25]=E,t[26]=M,t[27]=I,t[28]=z}else d=t[12],f=t[13],p=t[14],m=t[15],h=t[16],g=t[17],_=t[18],v=t[19],b=t[20],x=t[21],S=t[22],C=t[23],T=t[24],E=t[25],M=t[26],I=t[27],z=t[28];let B;t[43]!==p||t[44]!==b||t[45]!==x||t[46]!==S||t[47]!==C||t[48]!==T?(B=(0,k.jsx)(`select`,{className:p,value:b,disabled:x,"aria-label":S,onChange:C,children:T}),t[43]=p,t[44]=b,t[45]=x,t[46]=S,t[47]=C,t[48]=T,t[49]=B):B=t[49];let V;t[50]!==B||t[51]!==E||t[52]!==M?(V=(0,k.jsxs)(`label`,{className:E,children:[M,B]}),t[50]=B,t[51]=E,t[52]=M,t[53]=V):V=t[53];let H=!n.schaltbar||a.isPending||!f&&u.wirksam,U;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>l(!0),t[54]=U):U=t[54];let W=a.isPending?`Speichert …`:`Speichern`,q;t[55]!==H||t[56]!==W?(q=(0,k.jsx)(w,{disabled:H,onClick:U,children:W}),t[55]=H,t[56]=W,t[57]=q):q=t[57];let J;t[58]!==m||t[59]!==V||t[60]!==q||t[61]!==I?(J=(0,k.jsxs)(`div`,{className:I,children:[m,V,q]}),t[58]=m,t[59]=V,t[60]=q,t[61]=I,t[62]=J):J=t[62];let Y=n.schaltbar?``:` Einstellen lässt es sich nur auf der Box.`,X;t[63]===Y?X=t[64]:(X=(0,k.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Am besten nachts nach der Sicherung (03:30) und vor der Morgenmeldung (07:00).`,Y]}),t[63]=Y,t[64]=X);let Z;t[65]!==z.tag||t[66]!==z.uhrzeit?(Z=P(z.tag,z.uhrzeit),t[65]=z.tag,t[66]=z.uhrzeit,t[67]=Z):Z=t[67];let te=`Der Update-Lauf startet ab jetzt jeden ${A[z.tag-1]} um ${z.uhrzeit} Uhr. Neu gestartet wird die Box nur ${Z}. Ein Termin, der dadurch schon vorbei ist, wird nicht nachgeholt: Der erste Lauf ist der nächste reguläre.`,ne;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>l(!1),t[68]=ne):ne=t[68];let Q;t[69]!==c||t[70]!==a||t[71]!==z?(Q=()=>{c&&(a.mutate(z,{onSuccess:()=>s(null)}),l(!1))},t[69]=c,t[70]=a,t[71]=z,t[72]=Q):Q=t[72];let $;t[73]!==c||t[74]!==a.isPending||t[75]!==te||t[76]!==Q?($=(0,k.jsx)(ee,{offen:c,titel:`Update-Zeitfenster ändern?`,text:te,knopf:`Speichern`,gesperrt:a.isPending,onNein:ne,onJa:Q}),t[73]=c,t[74]=a.isPending,t[75]=te,t[76]=Q,t[77]=$):$=t[77];let re;return t[78]!==d||t[79]!==h||t[80]!==g||t[81]!==_||t[82]!==v||t[83]!==J||t[84]!==X||t[85]!==$?(re=(0,k.jsxs)(d,{titel:h,children:[g,_,v,J,X,$]}),t[78]=d,t[79]=h,t[80]=g,t[81]=_,t[82]=v,t[83]=J,t[84]=X,t[85]=$,t[86]=re):re=t[86],re}function G(e){return(0,k.jsx)(`option`,{value:e,children:e},e)}function K(e,t){return(0,k.jsx)(`option`,{value:t+1,children:e},e)}function q(e){let t=(0,D.c)(37),{e:n,laedt:r,fehler:i}=e,a=h(),[o,s]=(0,O.useState)(null);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Modell-Radar`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let c=n.radar,l=c.zustand===`an`||c.zustand===`unbekannt`&&c.an,u;t[3]===c.naechster_lauf?u=t[4]:(u=c.naechster_lauf?` (nächster Lauf ${N(c.naechster_lauf)})`:``,t[3]=c.naechster_lauf,t[4]=u);let d=`An. Es sucht jede Nacht ab 00:30 nach besseren Modellen${u}.`,f=c.an?`Eingeschaltet.`:`Ausgeschaltet.`,p;t[5]!==d||t[6]!==f?(p={an:d,schlaeft:`Schläft. Es sucht und testet keine Modelle, bis du es wieder einschaltest.`,aus:`Gestoppt, steht aber noch im Autostart: Nach einem Neustart der Box liefe es wieder.`,unbekannt:f},t[5]=d,t[6]=f,t[7]=p):p=t[7];let m=p[c.zustand],g;t[8]===m?g=t[9]:(g=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:m}),t[8]=m,t[9]=g);let _;t[10]!==n.schaltbar||t[11]!==c.an||t[12]!==c.wirksam?(_=n.schaltbar&&!c.wirksam&&(0,k.jsxs)(L,{children:[`Eingestellt ist „`,c.an?`an`:`aus`,`“, systemd zeigt etwas anderes. Noch einmal schalten gleicht es an.`]}),t[10]=n.schaltbar,t[11]=c.an,t[12]=c.wirksam,t[13]=_):_=t[13];let v=l?`outline`:`default`,y=!n.schaltbar||a.isPending,b;t[14]===l?b=t[15]:(b=()=>s(!l),t[14]=l,t[15]=b);let x=a.isPending?`Schaltet …`:l?`Ausschalten`:`Einschalten`,S;t[16]!==b||t[17]!==x||t[18]!==v||t[19]!==y?(S=(0,k.jsx)(w,{variant:v,size:`sm`,className:`self-start`,disabled:y,onClick:b,children:x}),t[16]=b,t[17]=x,t[18]=v,t[19]=y,t[20]=S):S=t[20];let C=o!==null,T=o?`Modell-Radar einschalten?`:`Modell-Radar ausschalten?`,E=o?`Das Radar sucht ab heute Nacht um 00:30 wieder nach besseren Modellen und testet höchstens eines pro Woche. Ein verpasster Lauf wird nicht nachgeholt, tagsüber lädt es also nichts.`:`Das Radar sucht und testet dann keine neuen Modelle mehr, bis du es wieder einschaltest. Ein Nachttest, der gerade läuft, endet noch. Auch ein Deploy schaltet es nicht wieder ein.`,A=o?`Einschalten`:`Ausschalten`,j;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>s(null),t[21]=j):j=t[21];let M;t[22]!==o||t[23]!==a?(M=()=>{o!==null&&(a.mutate(o),s(null))},t[22]=o,t[23]=a,t[24]=M):M=t[24];let P;t[25]!==a.isPending||t[26]!==C||t[27]!==T||t[28]!==E||t[29]!==A||t[30]!==M?(P=(0,k.jsx)(ee,{offen:C,titel:T,text:E,knopf:A,gesperrt:a.isPending,onNein:j,onJa:M}),t[25]=a.isPending,t[26]=C,t[27]=T,t[28]=E,t[29]=A,t[30]=M,t[31]=P):P=t[31];let I;return t[32]!==S||t[33]!==P||t[34]!==g||t[35]!==_?(I=(0,k.jsxs)(F,{titel:`Modell-Radar`,children:[g,_,S,P]}),t[32]=S,t[33]=P,t[34]=g,t[35]=_,t[36]=I):I=t[36],I}function J(e){let t=(0,D.c)(25),{name:n,stand:r,laedt:i,fehler:a}=e,o;if(i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],o=e}else if(a){let e;t[1]===a?e=t[2]:(e=(0,k.jsxs)(`span`,{className:`text-sm text-rot-text`,children:[`Nicht lesbar: `,a]}),t[1]=a,t[2]=e),o=e}else if(r?.commit){let e;t[4]===r.commit?e=t[5]:(e=(0,k.jsx)(`span`,{className:`ziffern text-foreground`,children:r.commit}),t[4]=r.commit,t[5]=e);let n=r.betreff?` · ${r.betreff}`:``,i;t[6]!==e||t[7]!==n?(i=(0,k.jsxs)(`span`,{className:`text-sm text-text-2`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=i):i=t[8];let a;t[9]!==r.deploy_zeit||t[10]!==r.quelle?(a=r.quelle===`deploy`?`Live seit ${N(r.deploy_zeit)}`:`Aus git gelesen, ohne Deploy`,t[9]=r.deploy_zeit,t[10]=r.quelle,t[11]=a):a=t[11];let s;t[12]===r.commit_datum?s=t[13]:(s=r.commit_datum?` · Commit vom ${N(r.commit_datum)}`:``,t[12]=r.commit_datum,t[13]=s);let c;t[14]!==a||t[15]!==s?(c=(0,k.jsxs)(`span`,{className:`text-xs text-text-3`,children:[a,s]}),t[14]=a,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==i||t[18]!==c?(l=(0,k.jsxs)(k.Fragment,{children:[i,c]}),t[17]=i,t[18]=c,t[19]=l):l=t[19],o=l}else{let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Unbekannt: keine Stand-Datei und kein git.`}),t[3]=e):e=t[3],o=e}let s;t[20]===n?s=t[21]:(s=(0,k.jsx)(`span`,{className:`text-[15px]`,children:n}),t[20]=n,t[21]=s);let c;return t[22]!==o||t[23]!==s?(c=(0,k.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[s,o]}),t[22]=o,t[23]=s,t[24]=c):c=t[24],c}function Y(e,t){return!e||!t?null:e.startsWith(t)||t.startsWith(e)}function X(e){let t=(0,D.c)(21),{offen:n}=e,r=s().data,i=!!r?.partner.eingerichtet,[a,o]=x(n,i),c=a.data?.stand?.commit,l=o.data?.stand?.commit,u;t[0]!==c||t[1]!==l?(u=Y(c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d=u,f=a.data?.instanz??r?.instanz??`Diese Instanz`,p=a.data?.stand,m=a.error?.message,h;t[3]!==a.isPending||t[4]!==f||t[5]!==p||t[6]!==m?(h=(0,k.jsx)(J,{name:f,stand:p,laedt:a.isPending,fehler:m}),t[3]=a.isPending,t[4]=f,t[5]=p,t[6]=m,t[7]=h):h=t[7];let g;t[8]!==r?.partner||t[9]!==o.data?.instanz||t[10]!==o.data?.stand||t[11]!==o.error?.message||t[12]!==o.isPending||t[13]!==i?(g=i&&(0,k.jsx)(J,{name:o.data?.instanz??r?.partner.name??`Partner`,stand:o.data?.stand,laedt:o.isPending,fehler:o.error?.message}),t[8]=r?.partner,t[9]=o.data?.instanz,t[10]=o.data?.stand,t[11]=o.error?.message,t[12]=o.isPending,t[13]=i,t[14]=g):g=t[14];let _;t[15]===d?_=t[16]:(_=d===!1&&(0,k.jsx)(L,{children:`Die beiden Instanzen laufen mit verschiedenen Ständen. Der nächste Deploy der Box zieht den Homelab-Teil mit.`}),t[15]=d,t[16]=_);let v;return t[17]!==h||t[18]!==g||t[19]!==_?(v=(0,k.jsxs)(F,{titel:`Instanzen`,children:[h,g,_]}),t[17]=h,t[18]=g,t[19]=_,t[20]=v):v=t[20],v}function Z(e){let t=(0,D.c)(52),{h:n}=e,r=u(),i=v(),[a,o]=(0,O.useState)(``),[s,c]=(0,O.useState)(!1),[l,f]=(0,O.useState)(null),p=n.arcane,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={hinterlegt:(0,k.jsx)(g,{art:`gruen`,children:`hinterlegt`}),umgebung:(0,k.jsx)(g,{art:`gruen`,children:`aus der Dienst-Einstellung`}),fehlt:(0,k.jsx)(g,{art:`bernstein`,children:`fehlt`})},t[0]=m):m=t[0];let h=m[p.schluessel],_;t[1]===p.url?_=t[2]:(_=p.url&&(0,k.jsxs)(`a`,{href:p.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`Arcane öffnen `,(0,k.jsx)(d,{className:`size-3.5`,"aria-hidden":!0})]}),t[1]=p.url,t[2]=_);let y;t[3]!==h||t[4]!==_?(y=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`API-Schlüssel `,h,_]}),t[3]=h,t[4]=_,t[5]=y):y=t[5];let b;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit Schlüssel sieht der Orchestrator, welche Docker-Images neuer sind. Anlegen in Arcane unter Einstellungen → API-Schlüssel; Lesen reicht, solange Docker-Updates nur als Probelauf laufen.`}),t[6]=b):b=t[6];let x;t[7]!==p.schluessel||t[8]!==r||t[9]!==a?(x=p.schluessel!==`umgebung`&&(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),a.trim()&&r.mutate(a.trim(),{onSuccess:()=>o(``)})},children:[(0,k.jsx)(`label`,{htmlFor:`arcane-schluessel`,className:`sr-only`,children:`Arcane-API-Schlüssel`}),(0,k.jsxs)(`span`,{className:`relative min-w-0 flex-1`,children:[(0,k.jsx)(E,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-text-3`,"aria-hidden":!0}),(0,k.jsx)(`input`,{id:`arcane-schluessel`,type:`password`,autoComplete:`off`,value:a,onChange:e=>o(e.target.value),placeholder:p.schluessel===`hinterlegt`?`Neuen Schlüssel eintragen …`:`Schlüssel aus Arcane einfügen …`,className:`h-11 w-full rounded-lg border border-linie-stark bg-erhaben pr-3 pl-9 text-[15px] outline-none focus:border-lab`})]}),(0,k.jsx)(w,{type:`submit`,disabled:!a.trim()||r.isPending,children:r.isPending?`Prüft …`:`Prüfen und speichern`})]}),t[7]=p.schluessel,t[8]=r,t[9]=a,t[10]=x):x=t[10];let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Der Schlüssel wird vor dem Speichern an Arcane geprüft und nie wieder angezeigt. Er liegt nur im Homelab-Teil.`}),t[11]=S):S=t[11];let C;t[12]!==p.schluessel||t[13]!==s||t[14]!==r?(C=p.schluessel===`hinterlegt`&&(s?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),c(!1)},children:`Wirklich entfernen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>c(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>c(!0),children:`Schlüssel entfernen`})),t[12]=p.schluessel,t[13]=s,t[14]=r,t[15]=C):C=t[15];let T;t[16]!==y||t[17]!==x||t[18]!==C?(T=(0,k.jsxs)(F,{titel:`Arcane (Docker)`,children:[y,b,x,S,C]}),t[16]=y,t[17]=x,t[18]=C,t[19]=T):T=t[19];let A=p.echt?`Echt: „Jetzt updaten“ bei Arcane zieht neue Images und startet die Container neu.`:`Probelauf: Arcane zeigt nur, was es tun würde — kein Container wird angefasst.`,j=p.echt_quelle===`umgebung`?` Festgelegt in der Dienst-Einstellung (MC_ARCANE_ECHT).`:``,M;t[20]!==A||t[21]!==j?(M=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[A,j]}),t[20]=A,t[21]=j,t[22]=M):M=t[22];let N=p.echt?`outline`:`default`,P=p.echt_quelle===`umgebung`||i.isPending||p.schluessel===`fehlt`,I;t[23]===p.echt?I=t[24]:(I=()=>f(!p.echt),t[23]=p.echt,t[24]=I);let L=i.isPending?`Schaltet …`:p.echt?`Zurück auf Probelauf`:`Echt schalten`,R;t[25]!==N||t[26]!==P||t[27]!==I||t[28]!==L?(R=(0,k.jsx)(w,{variant:N,size:`sm`,className:`self-start`,disabled:P,onClick:I,children:L}),t[25]=N,t[26]=P,t[27]=I,t[28]=L,t[29]=R):R=t[29];let z;t[30]===p.schluessel?z=t[31]:(z=p.schluessel===`fehlt`&&(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Erst den Schlüssel eintragen.`}),t[30]=p.schluessel,t[31]=z);let B=l!==null,V=l?`Docker-Updates echt ausführen?`:`Zurück auf Probelauf?`,H=l?`Ab jetzt zieht „Jetzt updaten“ bei Arcane neue Images und startet die betroffenen Container neu. Vorher wird ein Snapshot der VM angelegt, soweit möglich. Das lässt sich hier jederzeit zurückschalten.`:`Docker-Updates zeigen dann wieder nur, was Arcane tun würde.`,U=l?`Echt schalten`:`Probelauf`,W=!!l,G;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>f(null),t[32]=G):G=t[32];let K;t[33]!==i||t[34]!==l?(K=()=>{l!==null&&(i.mutate(l),f(null))},t[33]=i,t[34]=l,t[35]=K):K=t[35];let q;t[36]!==i.isPending||t[37]!==B||t[38]!==V||t[39]!==H||t[40]!==U||t[41]!==W||t[42]!==K?(q=(0,k.jsx)(ee,{offen:B,titel:V,text:H,knopf:U,gefahr:W,gesperrt:i.isPending,onNein:G,onJa:K}),t[36]=i.isPending,t[37]=B,t[38]=V,t[39]=H,t[40]=U,t[41]=W,t[42]=K,t[43]=q):q=t[43];let J;t[44]!==M||t[45]!==R||t[46]!==z||t[47]!==q?(J=(0,k.jsxs)(F,{titel:`Docker-Updates`,children:[M,R,z,q]}),t[44]=M,t[45]=R,t[46]=z,t[47]=q,t[48]=J):J=t[48];let Y;return t[49]!==J||t[50]!==T?(Y=(0,k.jsxs)(k.Fragment,{children:[T,J]}),t[49]=J,t[50]=T,t[51]=Y):Y=t[51],Y}function te(e){let t=(0,D.c)(21),{h:n}=e,r=n.ausfuehrer,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Ausführer`}),t[0]=i):i=t[0];let a=r.verbunden?`text-gruen-text`:`text-rot-text`,o=r.verbunden?`verbunden`:`meldet sich nicht`,s;t[1]===r.zuletzt?s=t[2]:(s=r.zuletzt?` · zuletzt ${S(new Date(r.zuletzt*1e3).toISOString()).toLowerCase()}`:``,t[1]=r.zuletzt,t[2]=s);let c;t[3]!==a||t[4]!==o||t[5]!==s?(c=(0,k.jsxs)(`dd`,{className:a,children:[o,s]}),t[3]=a,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Modus`}),t[7]=l):l=t[7];let u=r.nur_lesen?`nur lesen — Updates sind gesperrt`:`voll: Snapshots, Sicherungen und Updates`,d;t[8]===u?d=t[9]:(d=(0,k.jsx)(`dd`,{className:`text-text-2`,children:u}),t[8]=u,t[9]=d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Sicherungen`}),t[10]=f):f=t[10];let p=r.sicherung_speicher?`auf „${r.sicherung_speicher}“ (wo kein Snapshot geht)`:`kein Speicher gefunden`,m;t[11]===p?m=t[12]:(m=(0,k.jsx)(`dd`,{className:`text-text-2`,children:p}),t[11]=p,t[12]=m);let h;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Wartezeit`}),t[13]=h):h=t[13];let g=n.karenz_h>0?`${n.karenz_h} Stunden nach einer Änderung am Update-Skript einer App`:`aus`,_;t[14]===g?_=t[15]:(_=(0,k.jsx)(`dd`,{className:`text-text-2`,children:g}),t[14]=g,t[15]=_);let v;return t[16]!==m||t[17]!==_||t[18]!==c||t[19]!==d?(v=(0,k.jsx)(F,{titel:`Ausführer und Updates`,children:(0,k.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-2 text-sm`,children:[i,c,l,d,f,m,h,_]})}),t[16]=m,t[17]=_,t[18]=c,t[19]=d,t[20]=v):v=t[20],v}function ne(){let e=(0,D.c)(8),t=s().data,n=b().data,r=t?.rolle===`homelab`||!!(n?.eingerichtet&&n.erreichbar),i=f(r),a;if(!r){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht.`}),e[0]=t):t=e[0],a=t}else if(i.data){let t;e[4]===i.data?t=e[5]:(t=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Z,{h:i.data}),(0,k.jsx)(te,{h:i.data})]}),e[4]=i.data,e[5]=t),a=t}else{let t=i.error?.message,n;e[1]!==i.isPending||e[2]!==t?(n=(0,k.jsx)(R,{laedt:i.isPending,fehler:t}),e[1]=i.isPending,e[2]=t,e[3]=n):n=e[3],a=n}let o;return e[6]===a?o=e[7]:(o=(0,k.jsx)(I,{titel:`Homelab`,farbe:`homelab`,text:`Arcane und Docker, der Ausführer auf dem Proxmox-Host, Rückwege.`,children:a}),e[6]=a,e[7]=o),o}function Q(){let e=(0,D.c)(17),t=l(!0),n=t.error?.message,r;e[0]!==t.data||e[1]!==t.isPending||e[2]!==n?(r={e:t.data,laedt:t.isPending,fehler:n},e[0]=t.data,e[1]=t.isPending,e[2]=n,e[3]=r):r=e[3];let i=r,a,o;e[4]===i?(a=e[5],o=e[6]):(a=(0,k.jsx)(W,{...i}),o=(0,k.jsx)(q,{...i}),e[4]=i,e[5]=a,e[6]=o);let s;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,k.jsx)(z,{offen:!0}),e[7]=s):s=e[7];let c;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,k.jsxs)(F,{titel:`Hermes`,children:[(0,k.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:`flex h-11 items-center gap-2 self-start rounded-lg border border-linie-stark bg-erhaben px-4 text-[15px] hover:border-text-3`,children:[(0,k.jsx)(d,{className:`size-4`,"aria-hidden":!0}),` Hermes-Dashboard öffnen`]}),(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat, Sitzungen und Cron-Jobs verwaltet Hermes selbst. Es fragt nach seiner eigenen Anmeldung.`})]}),e[8]=c):c=e[8];let u;e[9]!==a||e[10]!==o?(u=(0,k.jsxs)(I,{titel:`KI-Box`,farbe:`box`,text:`Wann sie sich aktualisiert, das Modell-Radar und Zugänge.`,children:[a,o,s,c]}),e[9]=a,e[10]=o,e[11]=u):u=e[11];let f;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,k.jsx)(ne,{}),e[12]=f):f=e[12];let p;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,k.jsx)(I,{titel:`Meldungen`,text:`Telegram, Morgenmeldung und was sofort kommt.`,children:(0,k.jsx)(V,{})}),e[13]=p):p=e[13];let m;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,k.jsx)(I,{titel:`Software-Stand`,text:`Welcher Stand auf beiden Instanzen läuft.`,children:(0,k.jsx)(X,{offen:!0})}),e[14]=m):m=e[14];let h;return e[15]===u?h=e[16]:(h=(0,k.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[u,f,p,m]}),e[15]=u,e[16]=h),h}export{Q as EinstellungenSeite}; \ No newline at end of file +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Bt as a,Dt as o,J as s,Kt as c,L as l,M as u,Ut as d,V as f,Xt as p,Zt as m,at as h,f as g,ft as _,j as v,mt as y,tt as b,ut as x,yt as S,zt as C}from"./index-CYmlXdd4.js";import{t as w}from"./button-D8rvET0Z.js";import{t as ee}from"./Bestaetigen-CkA7XucG.js";var T={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};T.node;var E=c(T),D=t(),O=r(e(),1),k=n(),A=[`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`,`Sonntag`],j=Array.from({length:48},(e,t)=>`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`),M=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function N(e){let t=e?new Date(e):null;return t&&!Number.isNaN(t.getTime())?M.format(t):`–`}function P(e,t){let n=Number(t.slice(0,2)),r=n*60+179,i=e;r>=1440&&(r-=1440,i=e%7+1);let a=e=>String(e).padStart(2,`0`),o=`${a(n)}:00`,s=`${a(Math.floor(r/60))}:${a(r%60)}`;return i===e?`${A[e-1]} ${o}–${s}`:`${A[e-1]} ${o} – ${A[i-1]} ${s}`}function F(e){let t=(0,D.c)(6),{titel:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,k.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,k.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-3 border-t border-linie pt-4 first:border-t-0 first:pt-0`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function I(e){let t=(0,D.c)(19),{titel:n,text:r,farbe:a,children:o}=e,s=a===`box`?`bg-box`:a===`homelab`?`bg-lab`:`bg-linie-stark`,c=a===`box`?`text-box-text`:a===`homelab`?`text-lab-text`:`text-foreground`,l;t[0]===s?l=t[1]:(l=i(`absolute inset-x-0 top-0 h-1`,s),t[0]=s,t[1]=l);let u;t[2]===l?u=t[3]:(u=(0,k.jsx)(`span`,{"aria-hidden":!0,className:l}),t[2]=l,t[3]=u);let d;t[4]===c?d=t[5]:(d=i(`schild text-lg font-bold tracking-[0.22em]`,c),t[4]=c,t[5]=d);let f;t[6]!==d||t[7]!==n?(f=(0,k.jsx)(`h2`,{className:d,children:n}),t[6]=d,t[7]=n,t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=(0,k.jsx)(`p`,{className:`text-sm text-text-3`,children:r}),t[9]=r,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[f,p]}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==o||t[15]!==u||t[16]!==m||t[17]!==n?(h=(0,k.jsxs)(`section`,{"aria-label":n,className:`relative flex min-w-0 flex-col gap-4 overflow-hidden rounded-2xl border border-linie bg-panel p-5 sm:p-6`,children:[u,m,o]}),t[14]=o,t[15]=u,t[16]=m,t[17]=n,t[18]=h):h=t[18],h}function L(e){let t=(0,D.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:n}),t[0]=n,t[1]=r),r}function R(e){let t=(0,D.c)(3),{laedt:n,fehler:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],e}let i=r?`: ${r}`:`.`,a;return t[1]===i?a=t[2]:(a=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Lässt sich gerade nicht lesen`,i]}),t[1]=i,t[2]=a),a}function z({offen:e}){let t=m(),n=p({queryKey:[`geheimnisse`],queryFn:()=>C(`/api/maintenance/geheimnisse`),enabled:e}),[r,i]=(0,O.useState)(``),[s,c]=(0,O.useState)(!1),[l,u]=(0,O.useState)(!1);async function d(e){if(!s){c(!0),u(!1);try{await a(`/api/maintenance/geheimnisse`,{schluessel:`hf_token`,wert:e}),o(`erfolg`,e?`Hugging-Face-Zugang gespeichert.`:`Hugging-Face-Zugang gelöscht.`),i(``),t.invalidateQueries({queryKey:[`geheimnisse`]})}catch(e){o(`fehler`,e.message)}finally{c(!1)}}}let f=n.data,h;return h=n.isPending?`Wird gelesen …`:f?f.hf_token_gesetzt?`Ist hinterlegt.`:`Fehlt.`:`Lässt sich gerade nicht lesen${n.error?`: ${n.error.message}`:`.`}`,(0,k.jsxs)(F,{titel:`Hugging-Face-Zugang`,children:[(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,"aria-live":`polite`,children:[(0,k.jsx)(`span`,{className:!f&&!n.isPending?`text-rot-text`:void 0,children:h}),` Nötig für gesperrte Modelle und schnellere Downloads.`,f?.hf_token_aus_env?` Er kommt aus der Dienst-Einstellung und lässt sich hier nicht löschen.`:``]}),f?.schreibbar===!1&&(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:`Die Box kann den Zugang gerade nicht speichern: Ihre Ablage ist nicht beschreibbar.`}),(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),r.trim()&&d(r.trim())},children:[(0,k.jsx)(`label`,{htmlFor:`hf-token`,className:`sr-only`,children:`Hugging-Face-Zugang`}),(0,k.jsx)(`input`,{id:`hf-token`,type:`password`,autoComplete:`off`,value:r,onChange:e=>i(e.target.value),placeholder:`hf_…`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),(0,k.jsx)(w,{type:`submit`,disabled:!r.trim()||f?.schreibbar===!1||s,children:s?`Speichert …`:`Speichern`})]}),f?.hf_token_gesetzt&&!f.hf_token_aus_env&&(l?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:s,onClick:()=>d(null),children:`Wirklich löschen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>u(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,disabled:s,onClick:()=>u(!0),children:`Zugang löschen`}))]})}function B(e){let t=(0,D.c)(24),{ziel:n,name:r}=e,i=_(),a=i.data,o=null;if(i.isPending){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Sendet …`}),t[0]=e):e=t[0],o=e}else if(a?.gesendet){let e=a.weg===`hermes`?`über Hermes`:`direkt an die Telegram-Bot-API`,n=a.kennung?`, Kennung ${a.kennung}`:``,r;t[1]!==e||t[2]!==n?(r=(0,k.jsxs)(`p`,{role:`status`,className:`text-sm text-gruen`,children:[`Gesendet `,e,n,`. Schau in Telegram nach.`]}),t[1]=e,t[2]=n,t[3]=r):r=t[3],o=r}else if(a){let e=a.grund??a.detail??`ohne Angabe eines Grundes.`,n;t[4]===e?n=t[5]:(n=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Nicht gesendet: `,e]}),t[4]=e,t[5]=n),o=n}else if(i.error){let e;t[6]===i.error.message?e=t[7]:(e=(0,k.jsx)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:i.error.message}),t[6]=i.error.message,t[7]=e),o=e}let s;t[8]===r?s=t[9]:(s=(0,k.jsx)(`span`,{className:`text-[15px]`,children:r}),t[8]=r,t[9]=s);let c;t[10]!==i||t[11]!==n?(c=()=>i.mutate(n),t[10]=i,t[11]=n,t[12]=c):c=t[12];let l=`Testmeldung von ${r} senden`,u=i.isPending?`Sendet …`:`Test senden`,d;t[13]!==c||t[14]!==l||t[15]!==u||t[16]!==i.isPending?(d=(0,k.jsx)(w,{variant:`outline`,size:`sm`,disabled:i.isPending,onClick:c,"aria-label":l,children:u}),t[13]=c,t[14]=l,t[15]=u,t[16]=i.isPending,t[17]=d):d=t[17];let f;t[18]!==s||t[19]!==d?(f=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[18]=s,t[19]=d,t[20]=f):f=t[20];let p;return t[21]!==o||t[22]!==f?(p=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f,o]}),t[21]=o,t[22]=f,t[23]=p):p=t[23],p}function V(){let e=(0,D.c)(9),t=s().data,n=t?.rolle??`box`,r=n===`box`?`homelab`:`box`,i=t?.instanz??(n===`box`?`Box-Wart`:`Homelab`),a;e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i?(a=[{ziel:n,name:i}],t?.partner.eingerichtet&&a.push({ziel:r,name:t.partner.name}),a.sort(U),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=a):a=e[4];let o,c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Dringende Hinweise gehen zusätzlich per Telegram raus, alles andere bleibt hier; was nachts anfällt, kommt um 07:00 als eine Morgenmeldung. Einfache Probleme wie einen abgestürzten Dienst behebt der Wächter selbst und schreibt es in den Verlauf.`}),c=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Test schickt eine kurze Meldung über den echten Meldeweg, als dringend, damit sie auch nachts sofort kommt.`}),e[5]=o,e[6]=c):(o=e[5],c=e[6]);let l;return e[7]===a?l=e[8]:(l=(0,k.jsxs)(F,{titel:`Telegram`,children:[o,c,a.map(H)]}),e[7]=a,e[8]=l),l}function H(e){return(0,k.jsx)(B,{ziel:e.ziel,name:e.name},e.ziel)}function U(e,t){return Number(e.ziel!==`box`)-Number(t.ziel!==`box`)}function W(e){let t=(0,D.c)(87),{e:n,laedt:r,fehler:i}=e,a=y(),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Update-Zeitfenster`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let u=n.update_fenster,d,f,p,m,h,g,_,v,b,x,S,C,T,E,M,I,z;if(t[3]!==n.schaltbar||t[4]!==o||t[5]!==u.naechster_lauf||t[6]!==u.neustart_fenster||t[7]!==u.tag||t[8]!==u.tag_name||t[9]!==u.timer_aktiv||t[10]!==u.uhrzeit||t[11]!==u.wirksam){z=o??{tag:u.tag,uhrzeit:u.uhrzeit},f=z.tag!==u.tag||z.uhrzeit!==u.uhrzeit;let e=j.includes(z.uhrzeit)?j:[...j,z.uhrzeit].sort();d=F,h=`Update-Zeitfenster`;let r;t[29]===u.naechster_lauf?r=t[30]:(r=u.naechster_lauf?` (nächster Lauf ${N(u.naechster_lauf)})`:``,t[29]=u.naechster_lauf,t[30]=r),t[31]!==u.neustart_fenster||t[32]!==u.tag_name||t[33]!==u.uhrzeit||t[34]!==r?(g=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Die Box aktualisiert sich jeden `,u.tag_name,` um `,u.uhrzeit,` Uhr`,r,`. Neu gestartet wird sie danach nur`,` `,u.neustart_fenster,`.`]}),t[31]=u.neustart_fenster,t[32]=u.tag_name,t[33]=u.uhrzeit,t[34]=r,t[35]=g):g=t[35],t[36]!==n.schaltbar||t[37]!==u.timer_aktiv?(_=n.schaltbar&&!u.timer_aktiv&&(0,k.jsx)(L,{children:`Der Update-Timer läuft gerade nicht; er übernimmt das Fenster beim nächsten Start.`}),t[36]=n.schaltbar,t[37]=u.timer_aktiv,t[38]=_):_=t[38],t[39]!==n.schaltbar||t[40]!==u.wirksam?(v=n.schaltbar&&!u.wirksam&&(0,k.jsx)(L,{children:`Der Timer läuft noch nach einem anderen Plan als eingestellt. Einmal speichern gleicht es an.`}),t[39]=n.schaltbar,t[40]=u.wirksam,t[41]=v):v=t[41],I=`flex flex-wrap items-end gap-2`;let i=z.tag,a;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(a=A.map(K),t[42]=a):a=t[42],m=(0,k.jsxs)(`label`,{className:`flex flex-col gap-1 text-xs text-text-3`,children:[`Tag`,(0,k.jsx)(`select`,{className:`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,value:i,disabled:!n.schaltbar,"aria-label":`Wochentag`,onChange:e=>s({...z,tag:Number(e.target.value)}),children:a})]}),E=`flex flex-col gap-1 text-xs text-text-3`,M=`Uhrzeit`,p=`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,b=z.uhrzeit,x=!n.schaltbar,S=`Uhrzeit`,C=e=>s({...z,uhrzeit:e.target.value}),T=e.map(G),t[3]=n.schaltbar,t[4]=o,t[5]=u.naechster_lauf,t[6]=u.neustart_fenster,t[7]=u.tag,t[8]=u.tag_name,t[9]=u.timer_aktiv,t[10]=u.uhrzeit,t[11]=u.wirksam,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=h,t[17]=g,t[18]=_,t[19]=v,t[20]=b,t[21]=x,t[22]=S,t[23]=C,t[24]=T,t[25]=E,t[26]=M,t[27]=I,t[28]=z}else d=t[12],f=t[13],p=t[14],m=t[15],h=t[16],g=t[17],_=t[18],v=t[19],b=t[20],x=t[21],S=t[22],C=t[23],T=t[24],E=t[25],M=t[26],I=t[27],z=t[28];let B;t[43]!==p||t[44]!==b||t[45]!==x||t[46]!==S||t[47]!==C||t[48]!==T?(B=(0,k.jsx)(`select`,{className:p,value:b,disabled:x,"aria-label":S,onChange:C,children:T}),t[43]=p,t[44]=b,t[45]=x,t[46]=S,t[47]=C,t[48]=T,t[49]=B):B=t[49];let V;t[50]!==B||t[51]!==E||t[52]!==M?(V=(0,k.jsxs)(`label`,{className:E,children:[M,B]}),t[50]=B,t[51]=E,t[52]=M,t[53]=V):V=t[53];let H=!n.schaltbar||a.isPending||!f&&u.wirksam,U;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>l(!0),t[54]=U):U=t[54];let W=a.isPending?`Speichert …`:`Speichern`,q;t[55]!==H||t[56]!==W?(q=(0,k.jsx)(w,{disabled:H,onClick:U,children:W}),t[55]=H,t[56]=W,t[57]=q):q=t[57];let J;t[58]!==m||t[59]!==V||t[60]!==q||t[61]!==I?(J=(0,k.jsxs)(`div`,{className:I,children:[m,V,q]}),t[58]=m,t[59]=V,t[60]=q,t[61]=I,t[62]=J):J=t[62];let Y=n.schaltbar?``:` Einstellen lässt es sich nur auf der Box.`,X;t[63]===Y?X=t[64]:(X=(0,k.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Am besten nachts nach der Sicherung (03:30) und vor der Morgenmeldung (07:00).`,Y]}),t[63]=Y,t[64]=X);let Z;t[65]!==z.tag||t[66]!==z.uhrzeit?(Z=P(z.tag,z.uhrzeit),t[65]=z.tag,t[66]=z.uhrzeit,t[67]=Z):Z=t[67];let te=`Der Update-Lauf startet ab jetzt jeden ${A[z.tag-1]} um ${z.uhrzeit} Uhr. Neu gestartet wird die Box nur ${Z}. Ein Termin, der dadurch schon vorbei ist, wird nicht nachgeholt: Der erste Lauf ist der nächste reguläre.`,ne;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>l(!1),t[68]=ne):ne=t[68];let Q;t[69]!==c||t[70]!==a||t[71]!==z?(Q=()=>{c&&(a.mutate(z,{onSuccess:()=>s(null)}),l(!1))},t[69]=c,t[70]=a,t[71]=z,t[72]=Q):Q=t[72];let $;t[73]!==c||t[74]!==a.isPending||t[75]!==te||t[76]!==Q?($=(0,k.jsx)(ee,{offen:c,titel:`Update-Zeitfenster ändern?`,text:te,knopf:`Speichern`,gesperrt:a.isPending,onNein:ne,onJa:Q}),t[73]=c,t[74]=a.isPending,t[75]=te,t[76]=Q,t[77]=$):$=t[77];let re;return t[78]!==d||t[79]!==h||t[80]!==g||t[81]!==_||t[82]!==v||t[83]!==J||t[84]!==X||t[85]!==$?(re=(0,k.jsxs)(d,{titel:h,children:[g,_,v,J,X,$]}),t[78]=d,t[79]=h,t[80]=g,t[81]=_,t[82]=v,t[83]=J,t[84]=X,t[85]=$,t[86]=re):re=t[86],re}function G(e){return(0,k.jsx)(`option`,{value:e,children:e},e)}function K(e,t){return(0,k.jsx)(`option`,{value:t+1,children:e},e)}function q(e){let t=(0,D.c)(37),{e:n,laedt:r,fehler:i}=e,a=h(),[o,s]=(0,O.useState)(null);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Modell-Radar`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let c=n.radar,l=c.zustand===`an`||c.zustand===`unbekannt`&&c.an,u;t[3]===c.naechster_lauf?u=t[4]:(u=c.naechster_lauf?` (nächster Lauf ${N(c.naechster_lauf)})`:``,t[3]=c.naechster_lauf,t[4]=u);let d=`An. Es sucht jede Nacht ab 00:30 nach besseren Modellen${u}.`,f=c.an?`Eingeschaltet.`:`Ausgeschaltet.`,p;t[5]!==d||t[6]!==f?(p={an:d,schlaeft:`Schläft. Es sucht und testet keine Modelle, bis du es wieder einschaltest.`,aus:`Gestoppt, steht aber noch im Autostart: Nach einem Neustart der Box liefe es wieder.`,unbekannt:f},t[5]=d,t[6]=f,t[7]=p):p=t[7];let m=p[c.zustand],g;t[8]===m?g=t[9]:(g=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:m}),t[8]=m,t[9]=g);let _;t[10]!==n.schaltbar||t[11]!==c.an||t[12]!==c.wirksam?(_=n.schaltbar&&!c.wirksam&&(0,k.jsxs)(L,{children:[`Eingestellt ist „`,c.an?`an`:`aus`,`“, systemd zeigt etwas anderes. Noch einmal schalten gleicht es an.`]}),t[10]=n.schaltbar,t[11]=c.an,t[12]=c.wirksam,t[13]=_):_=t[13];let v=l?`outline`:`default`,y=!n.schaltbar||a.isPending,b;t[14]===l?b=t[15]:(b=()=>s(!l),t[14]=l,t[15]=b);let x=a.isPending?`Schaltet …`:l?`Ausschalten`:`Einschalten`,S;t[16]!==b||t[17]!==x||t[18]!==v||t[19]!==y?(S=(0,k.jsx)(w,{variant:v,size:`sm`,className:`self-start`,disabled:y,onClick:b,children:x}),t[16]=b,t[17]=x,t[18]=v,t[19]=y,t[20]=S):S=t[20];let C=o!==null,T=o?`Modell-Radar einschalten?`:`Modell-Radar ausschalten?`,E=o?`Das Radar sucht ab heute Nacht um 00:30 wieder nach besseren Modellen und testet höchstens eines pro Woche. Ein verpasster Lauf wird nicht nachgeholt, tagsüber lädt es also nichts.`:`Das Radar sucht und testet dann keine neuen Modelle mehr, bis du es wieder einschaltest. Ein Nachttest, der gerade läuft, endet noch. Auch ein Deploy schaltet es nicht wieder ein.`,A=o?`Einschalten`:`Ausschalten`,j;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>s(null),t[21]=j):j=t[21];let M;t[22]!==o||t[23]!==a?(M=()=>{o!==null&&(a.mutate(o),s(null))},t[22]=o,t[23]=a,t[24]=M):M=t[24];let P;t[25]!==a.isPending||t[26]!==C||t[27]!==T||t[28]!==E||t[29]!==A||t[30]!==M?(P=(0,k.jsx)(ee,{offen:C,titel:T,text:E,knopf:A,gesperrt:a.isPending,onNein:j,onJa:M}),t[25]=a.isPending,t[26]=C,t[27]=T,t[28]=E,t[29]=A,t[30]=M,t[31]=P):P=t[31];let I;return t[32]!==S||t[33]!==P||t[34]!==g||t[35]!==_?(I=(0,k.jsxs)(F,{titel:`Modell-Radar`,children:[g,_,S,P]}),t[32]=S,t[33]=P,t[34]=g,t[35]=_,t[36]=I):I=t[36],I}function J(e){let t=(0,D.c)(25),{name:n,stand:r,laedt:i,fehler:a}=e,o;if(i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],o=e}else if(a){let e;t[1]===a?e=t[2]:(e=(0,k.jsxs)(`span`,{className:`text-sm text-rot-text`,children:[`Nicht lesbar: `,a]}),t[1]=a,t[2]=e),o=e}else if(r?.commit){let e;t[4]===r.commit?e=t[5]:(e=(0,k.jsx)(`span`,{className:`ziffern text-foreground`,children:r.commit}),t[4]=r.commit,t[5]=e);let n=r.betreff?` · ${r.betreff}`:``,i;t[6]!==e||t[7]!==n?(i=(0,k.jsxs)(`span`,{className:`text-sm text-text-2`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=i):i=t[8];let a;t[9]!==r.deploy_zeit||t[10]!==r.quelle?(a=r.quelle===`deploy`?`Live seit ${N(r.deploy_zeit)}`:`Aus git gelesen, ohne Deploy`,t[9]=r.deploy_zeit,t[10]=r.quelle,t[11]=a):a=t[11];let s;t[12]===r.commit_datum?s=t[13]:(s=r.commit_datum?` · Commit vom ${N(r.commit_datum)}`:``,t[12]=r.commit_datum,t[13]=s);let c;t[14]!==a||t[15]!==s?(c=(0,k.jsxs)(`span`,{className:`text-xs text-text-3`,children:[a,s]}),t[14]=a,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==i||t[18]!==c?(l=(0,k.jsxs)(k.Fragment,{children:[i,c]}),t[17]=i,t[18]=c,t[19]=l):l=t[19],o=l}else{let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Unbekannt: keine Stand-Datei und kein git.`}),t[3]=e):e=t[3],o=e}let s;t[20]===n?s=t[21]:(s=(0,k.jsx)(`span`,{className:`text-[15px]`,children:n}),t[20]=n,t[21]=s);let c;return t[22]!==o||t[23]!==s?(c=(0,k.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[s,o]}),t[22]=o,t[23]=s,t[24]=c):c=t[24],c}function Y(e,t){return!e||!t?null:e.startsWith(t)||t.startsWith(e)}function X(e){let t=(0,D.c)(21),{offen:n}=e,r=s().data,i=!!r?.partner.eingerichtet,[a,o]=x(n,i),c=a.data?.stand?.commit,l=o.data?.stand?.commit,u;t[0]!==c||t[1]!==l?(u=Y(c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d=u,f=a.data?.instanz??r?.instanz??`Diese Instanz`,p=a.data?.stand,m=a.error?.message,h;t[3]!==a.isPending||t[4]!==f||t[5]!==p||t[6]!==m?(h=(0,k.jsx)(J,{name:f,stand:p,laedt:a.isPending,fehler:m}),t[3]=a.isPending,t[4]=f,t[5]=p,t[6]=m,t[7]=h):h=t[7];let g;t[8]!==r?.partner||t[9]!==o.data?.instanz||t[10]!==o.data?.stand||t[11]!==o.error?.message||t[12]!==o.isPending||t[13]!==i?(g=i&&(0,k.jsx)(J,{name:o.data?.instanz??r?.partner.name??`Partner`,stand:o.data?.stand,laedt:o.isPending,fehler:o.error?.message}),t[8]=r?.partner,t[9]=o.data?.instanz,t[10]=o.data?.stand,t[11]=o.error?.message,t[12]=o.isPending,t[13]=i,t[14]=g):g=t[14];let _;t[15]===d?_=t[16]:(_=d===!1&&(0,k.jsx)(L,{children:`Die beiden Instanzen laufen mit verschiedenen Ständen. Der nächste Deploy der Box zieht den Homelab-Teil mit.`}),t[15]=d,t[16]=_);let v;return t[17]!==h||t[18]!==g||t[19]!==_?(v=(0,k.jsxs)(F,{titel:`Instanzen`,children:[h,g,_]}),t[17]=h,t[18]=g,t[19]=_,t[20]=v):v=t[20],v}function Z(e){let t=(0,D.c)(52),{h:n}=e,r=u(),i=v(),[a,o]=(0,O.useState)(``),[s,c]=(0,O.useState)(!1),[l,f]=(0,O.useState)(null),p=n.arcane,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={hinterlegt:(0,k.jsx)(g,{art:`gruen`,children:`hinterlegt`}),umgebung:(0,k.jsx)(g,{art:`gruen`,children:`aus der Dienst-Einstellung`}),fehlt:(0,k.jsx)(g,{art:`bernstein`,children:`fehlt`})},t[0]=m):m=t[0];let h=m[p.schluessel],_;t[1]===p.url?_=t[2]:(_=p.url&&(0,k.jsxs)(`a`,{href:p.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`Arcane öffnen `,(0,k.jsx)(d,{className:`size-3.5`,"aria-hidden":!0})]}),t[1]=p.url,t[2]=_);let y;t[3]!==h||t[4]!==_?(y=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`API-Schlüssel `,h,_]}),t[3]=h,t[4]=_,t[5]=y):y=t[5];let b;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit Schlüssel sieht der Orchestrator, welche Docker-Images neuer sind. Anlegen in Arcane unter Einstellungen → API-Schlüssel; Lesen reicht, solange Docker-Updates nur als Probelauf laufen.`}),t[6]=b):b=t[6];let x;t[7]!==p.schluessel||t[8]!==r||t[9]!==a?(x=p.schluessel!==`umgebung`&&(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),a.trim()&&r.mutate(a.trim(),{onSuccess:()=>o(``)})},children:[(0,k.jsx)(`label`,{htmlFor:`arcane-schluessel`,className:`sr-only`,children:`Arcane-API-Schlüssel`}),(0,k.jsxs)(`span`,{className:`relative min-w-0 flex-1`,children:[(0,k.jsx)(E,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-text-3`,"aria-hidden":!0}),(0,k.jsx)(`input`,{id:`arcane-schluessel`,type:`password`,autoComplete:`off`,value:a,onChange:e=>o(e.target.value),placeholder:p.schluessel===`hinterlegt`?`Neuen Schlüssel eintragen …`:`Schlüssel aus Arcane einfügen …`,className:`h-11 w-full rounded-lg border border-linie-stark bg-erhaben pr-3 pl-9 text-[15px] outline-none focus:border-lab`})]}),(0,k.jsx)(w,{type:`submit`,disabled:!a.trim()||r.isPending,children:r.isPending?`Prüft …`:`Prüfen und speichern`})]}),t[7]=p.schluessel,t[8]=r,t[9]=a,t[10]=x):x=t[10];let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Der Schlüssel wird vor dem Speichern an Arcane geprüft und nie wieder angezeigt. Er liegt nur im Homelab-Teil.`}),t[11]=S):S=t[11];let C;t[12]!==p.schluessel||t[13]!==s||t[14]!==r?(C=p.schluessel===`hinterlegt`&&(s?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),c(!1)},children:`Wirklich entfernen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>c(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>c(!0),children:`Schlüssel entfernen`})),t[12]=p.schluessel,t[13]=s,t[14]=r,t[15]=C):C=t[15];let T;t[16]!==y||t[17]!==x||t[18]!==C?(T=(0,k.jsxs)(F,{titel:`Arcane (Docker)`,children:[y,b,x,S,C]}),t[16]=y,t[17]=x,t[18]=C,t[19]=T):T=t[19];let A=p.echt?`Echt: „Jetzt updaten“ bei Arcane zieht neue Images und startet die Container neu.`:`Probelauf: Arcane zeigt nur, was es tun würde — kein Container wird angefasst.`,j=p.echt_quelle===`umgebung`?` Festgelegt in der Dienst-Einstellung (MC_ARCANE_ECHT).`:``,M;t[20]!==A||t[21]!==j?(M=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[A,j]}),t[20]=A,t[21]=j,t[22]=M):M=t[22];let N=p.echt?`outline`:`default`,P=p.echt_quelle===`umgebung`||i.isPending||p.schluessel===`fehlt`,I;t[23]===p.echt?I=t[24]:(I=()=>f(!p.echt),t[23]=p.echt,t[24]=I);let L=i.isPending?`Schaltet …`:p.echt?`Zurück auf Probelauf`:`Echt schalten`,R;t[25]!==N||t[26]!==P||t[27]!==I||t[28]!==L?(R=(0,k.jsx)(w,{variant:N,size:`sm`,className:`self-start`,disabled:P,onClick:I,children:L}),t[25]=N,t[26]=P,t[27]=I,t[28]=L,t[29]=R):R=t[29];let z;t[30]===p.schluessel?z=t[31]:(z=p.schluessel===`fehlt`&&(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Erst den Schlüssel eintragen.`}),t[30]=p.schluessel,t[31]=z);let B=l!==null,V=l?`Docker-Updates echt ausführen?`:`Zurück auf Probelauf?`,H=l?`Ab jetzt zieht „Jetzt updaten“ bei Arcane neue Images und startet die betroffenen Container neu. Vorher wird ein Snapshot der VM angelegt, soweit möglich. Das lässt sich hier jederzeit zurückschalten.`:`Docker-Updates zeigen dann wieder nur, was Arcane tun würde.`,U=l?`Echt schalten`:`Probelauf`,W=!!l,G;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>f(null),t[32]=G):G=t[32];let K;t[33]!==i||t[34]!==l?(K=()=>{l!==null&&(i.mutate(l),f(null))},t[33]=i,t[34]=l,t[35]=K):K=t[35];let q;t[36]!==i.isPending||t[37]!==B||t[38]!==V||t[39]!==H||t[40]!==U||t[41]!==W||t[42]!==K?(q=(0,k.jsx)(ee,{offen:B,titel:V,text:H,knopf:U,gefahr:W,gesperrt:i.isPending,onNein:G,onJa:K}),t[36]=i.isPending,t[37]=B,t[38]=V,t[39]=H,t[40]=U,t[41]=W,t[42]=K,t[43]=q):q=t[43];let J;t[44]!==M||t[45]!==R||t[46]!==z||t[47]!==q?(J=(0,k.jsxs)(F,{titel:`Docker-Updates`,children:[M,R,z,q]}),t[44]=M,t[45]=R,t[46]=z,t[47]=q,t[48]=J):J=t[48];let Y;return t[49]!==J||t[50]!==T?(Y=(0,k.jsxs)(k.Fragment,{children:[T,J]}),t[49]=J,t[50]=T,t[51]=Y):Y=t[51],Y}function te(e){let t=(0,D.c)(21),{h:n}=e,r=n.ausfuehrer,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Ausführer`}),t[0]=i):i=t[0];let a=r.verbunden?`text-gruen-text`:`text-rot-text`,o=r.verbunden?`verbunden`:`meldet sich nicht`,s;t[1]===r.zuletzt?s=t[2]:(s=r.zuletzt?` · zuletzt ${S(new Date(r.zuletzt*1e3).toISOString()).toLowerCase()}`:``,t[1]=r.zuletzt,t[2]=s);let c;t[3]!==a||t[4]!==o||t[5]!==s?(c=(0,k.jsxs)(`dd`,{className:a,children:[o,s]}),t[3]=a,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Modus`}),t[7]=l):l=t[7];let u=r.nur_lesen?`nur lesen — Updates sind gesperrt`:`voll: Snapshots, Sicherungen und Updates`,d;t[8]===u?d=t[9]:(d=(0,k.jsx)(`dd`,{className:`text-text-2`,children:u}),t[8]=u,t[9]=d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Sicherungen`}),t[10]=f):f=t[10];let p=r.sicherung_speicher?`auf „${r.sicherung_speicher}“ (wo kein Snapshot geht)`:`kein Speicher gefunden`,m;t[11]===p?m=t[12]:(m=(0,k.jsx)(`dd`,{className:`text-text-2`,children:p}),t[11]=p,t[12]=m);let h;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Wartezeit`}),t[13]=h):h=t[13];let g=n.karenz_h>0?`${n.karenz_h} Stunden nach einer Änderung am Update-Skript einer App`:`aus`,_;t[14]===g?_=t[15]:(_=(0,k.jsx)(`dd`,{className:`text-text-2`,children:g}),t[14]=g,t[15]=_);let v;return t[16]!==m||t[17]!==_||t[18]!==c||t[19]!==d?(v=(0,k.jsx)(F,{titel:`Ausführer und Updates`,children:(0,k.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-2 text-sm`,children:[i,c,l,d,f,m,h,_]})}),t[16]=m,t[17]=_,t[18]=c,t[19]=d,t[20]=v):v=t[20],v}function ne(){let e=(0,D.c)(8),t=s().data,n=b().data,r=t?.rolle===`homelab`||!!(n?.eingerichtet&&n.erreichbar),i=f(r),a;if(!r){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht.`}),e[0]=t):t=e[0],a=t}else if(i.data){let t;e[4]===i.data?t=e[5]:(t=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Z,{h:i.data}),(0,k.jsx)(te,{h:i.data})]}),e[4]=i.data,e[5]=t),a=t}else{let t=i.error?.message,n;e[1]!==i.isPending||e[2]!==t?(n=(0,k.jsx)(R,{laedt:i.isPending,fehler:t}),e[1]=i.isPending,e[2]=t,e[3]=n):n=e[3],a=n}let o;return e[6]===a?o=e[7]:(o=(0,k.jsx)(I,{titel:`Homelab`,farbe:`homelab`,text:`Arcane und Docker, der Ausführer auf dem Proxmox-Host, Rückwege.`,children:a}),e[6]=a,e[7]=o),o}function Q(){let e=(0,D.c)(17),t=l(!0),n=t.error?.message,r;e[0]!==t.data||e[1]!==t.isPending||e[2]!==n?(r={e:t.data,laedt:t.isPending,fehler:n},e[0]=t.data,e[1]=t.isPending,e[2]=n,e[3]=r):r=e[3];let i=r,a,o;e[4]===i?(a=e[5],o=e[6]):(a=(0,k.jsx)(W,{...i}),o=(0,k.jsx)(q,{...i}),e[4]=i,e[5]=a,e[6]=o);let s;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,k.jsx)(z,{offen:!0}),e[7]=s):s=e[7];let c;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,k.jsxs)(F,{titel:`Hermes`,children:[(0,k.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:`flex h-11 items-center gap-2 self-start rounded-lg border border-linie-stark bg-erhaben px-4 text-[15px] hover:border-text-3`,children:[(0,k.jsx)(d,{className:`size-4`,"aria-hidden":!0}),` Hermes-Dashboard öffnen`]}),(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat, Sitzungen und Cron-Jobs verwaltet Hermes selbst. Es fragt nach seiner eigenen Anmeldung.`})]}),e[8]=c):c=e[8];let u;e[9]!==a||e[10]!==o?(u=(0,k.jsxs)(I,{titel:`KI-Box`,farbe:`box`,text:`Wann sie sich aktualisiert, das Modell-Radar und Zugänge.`,children:[a,o,s,c]}),e[9]=a,e[10]=o,e[11]=u):u=e[11];let f;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,k.jsx)(ne,{}),e[12]=f):f=e[12];let p;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,k.jsx)(I,{titel:`Meldungen`,text:`Telegram, Morgenmeldung und was sofort kommt.`,children:(0,k.jsx)(V,{})}),e[13]=p):p=e[13];let m;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,k.jsx)(I,{titel:`Software-Stand`,text:`Welcher Stand auf beiden Instanzen läuft.`,children:(0,k.jsx)(X,{offen:!0})}),e[14]=m):m=e[14];let h;return e[15]===u?h=e[16]:(h=(0,k.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[u,f,p,m]}),e[15]=u,e[16]=h),h}export{Q as EinstellungenSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Homelab-Ba-06aFa.js b/frontend/dist/assets/Homelab-Ba-06aFa.js deleted file mode 100644 index a64d600..0000000 --- a/frontend/dist/assets/Homelab-Ba-06aFa.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-T7IsaTwB.js";import{t as o}from"./search-B5rIIYDK.js";import{B as s,C as c,D as l,E as u,Gt as d,H as f,J as p,Jt as m,K as h,Kt as g,O as _,Ot as v,S as y,T as b,U as x,W as S,Wt as C,Yt as w,_ as T,_t as E,b as D,ct as O,f as k,i as A,p as j,st as ee,tt as te,u as M,v as N,w as ne,x as re,y as ie,yt as P}from"./index-FvHAYExN.js";import{t as F}from"./button-D8rvET0Z.js";import{t as I}from"./Bestaetigen-SE_NgpcU.js";import{t as ae}from"./Lampe-gSQfYg4e.js";var L={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`}]]};L.node;var oe=g(L),R={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};R.node;var se=g(R),z={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};z.node;var ce=g(z),B={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`}]]};B.node;var le=g(B),V={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};V.node;var ue=g(V),H=t(),U=n(),W=`md:grid-cols-[minmax(0,1.3fr)_110px_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1fr)_90px]`,G=e=>(e/1e9).toFixed(1).replace(`.`,`,`);function K(e){let t=(0,H.c)(17),{wert:n,gelb:r,rot:a,zusatz:o}=e;if(n==null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let s=n>=a?`var(--rot)`:n>=r?`var(--bernstein)`:`var(--reihe-1)`,c=n>=a?`text-rot-text`:n>=r?`text-bernstein`:`text-text-2`,l;t[1]===c?l=t[2]:(l=i(`ziffern text-sm`,c),t[1]=c,t[2]=l);let u;t[3]===n?u=t[4]:(u=Math.round(n),t[3]=n,t[4]=u);let d;t[5]===o?d=t[6]:(d=o&&(0,U.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,o]}),t[5]=o,t[6]=d);let f;t[7]!==l||t[8]!==u||t[9]!==d?(f=(0,U.jsxs)(`span`,{className:l,children:[u,` %`,d]}),t[7]=l,t[8]=u,t[9]=d,t[10]=f):f=t[10];let p=`${Math.min(100,Math.max(2,n))}%`,m;t[11]!==s||t[12]!==p?(m=(0,U.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,U.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:p,background:s}})}),t[11]=s,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==f||t[15]!==m?(h=(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[f,m]}),t[14]=f,t[15]=m,t[16]=h):h=t[16],h}function de(e){if(e.erreichbar===!1)return 0;let t=c(e);return t!==null&&t>=.8?1:e.art===`proxmox-host`?2:3}function fe(e){let t=(0,H.c)(4),{ziele:n,messwerte:r}=e,a;if(t[0]!==r||t[1]!==n){let e=new Map((r??[]).map(me)),o=[...n].sort(pe),s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,U.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,W),children:[(0,U.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Netz`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`})]}),t[3]=s):s=t[3],a=(0,U.jsxs)(`div`,{role:`table`,"aria-label":`Zustand der Geräte`,className:`flex flex-col`,children:[s,o.map(t=>{let n=e.get(t.id),r=n?.platte??(c(t)===null?null:c(t)*100),a=n?.ram_used&&n.ram_total?`${G(n.ram_used)} / ${G(n.ram_total)} GB`:void 0;return(0,U.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2 border-t border-linie py-3 md:items-center`,W),children:[(0,U.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 flex-col md:col-span-1`,children:[(0,U.jsx)(m,{to:`/homelab/monitoring`,hash:t.id,className:`text-[15px] font-semibold break-words hover:text-lab-text`,children:t.name}),N(t)!==t.name&&(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:N(t)})]}),(0,U.jsxs)(`span`,{role:`cell`,className:i(`schild flex items-center gap-1.5 text-xs`,t.erreichbar===!1?`text-rot-text`:`text-text-3`),children:[t.erreichbar!==null&&(0,U.jsx)(`span`,{"aria-hidden":!0,className:i(`size-2 rounded-full`,t.erreichbar?`bg-gruen`:`bg-rot`)}),t.erreichbar===null?`–`:t.erreichbar?`erreichbar`:`antwortet nicht`]}),(0,U.jsxs)(`span`,{role:`cell`,children:[(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`CPU `}),(0,U.jsx)(K,{wert:n?.cpu,gelb:85,rot:95})]}),(0,U.jsxs)(`span`,{role:`cell`,children:[(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Speicher `}),(0,U.jsx)(K,{wert:n?.ram,gelb:85,rot:95,zusatz:a})]}),(0,U.jsxs)(`span`,{role:`cell`,children:[(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Platte `}),(0,U.jsx)(K,{wert:r,gelb:80,rot:90})]}),(0,U.jsxs)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2`,children:[(0,U.jsx)(`span`,{className:`font-sans text-xs text-text-3 md:hidden`,children:`Läuft seit `}),A(n?.uptime_s)]})]},t.id)})]}),t[0]=r,t[1]=n,t[2]=a}else a=t[2];return a}function pe(e,t){return de(e)-de(t)}function me(e){return[e.id,e.aktuell]}function he(e){let t=(0,H.c)(24),{lage:n,lampen:r,onAnsehen:a}=e,o=n.ziel!==null,s=!o,c=`${n.oben} ${n.mitte}`,l=v[n.art],u=o?`cursor-pointer`:`cursor-default`,d;t[0]!==l||t[1]!==u?(d=i(`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),t[0]=l,t[1]=u,t[2]=d):d=t[2];let f;t[3]===n.oben?f=t[4]:(f=(0,U.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:n.oben}),t[3]=n.oben,t[4]=f);let p;t[5]===n.mitte?p=t[6]:(p=(0,U.jsx)(`span`,{className:`text-center text-[34px] leading-none font-bold tracking-[0.04em] sm:text-[38px]`,children:n.mitte}),t[5]=n.mitte,t[6]=p);let m;t[7]===n.unten?m=t[8]:(m=(0,U.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:n.unten}),t[7]=n.unten,t[8]=m);let h;t[9]!==a||t[10]!==s||t[11]!==c||t[12]!==d||t[13]!==f||t[14]!==p||t[15]!==m?(h=(0,U.jsxs)(`button`,{type:`button`,onClick:a,disabled:s,"aria-label":c,className:d,children:[f,p,m]}),t[9]=a,t[10]=s,t[11]=c,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=h):h=t[16];let g;t[17]===r?g=t[18]:(g=r.map(ge),t[17]=r,t[18]=g);let _;t[19]===g?_=t[20]:(_=(0,U.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}),t[19]=g,t[20]=_);let y;return t[21]!==_||t[22]!==h?(y=(0,U.jsxs)(`section`,{"aria-label":`Lage im Homelab`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[h,_]}),t[21]=_,t[22]=h,t[23]=y):y=t[23],y}function ge(e){return(0,U.jsx)(ae,{lampe:e},e.id)}var q=r(e(),1),_e=(e,t=1)=>e.toFixed(t).replace(`.`,`,`);function J(e){return e==null?`–`:e>=0xe8d4a51000?`${_e(e/0xe8d4a51000)} TB`:e>=1e10?`${Math.round(e/1e9)} GB`:`${_e(e/1e9)} GB`}function ve(e){return e?/^\s*\d{1,2}:\d{2}\s*$/.test(e)?`täglich ${e.trim()}`:`Zeitplan „${e}“`:`ohne Zeitplan`}function ye(e){return e.jobs.length===0?`Kein Sicherungsauftrag in Proxmox`:e.jobs.map(e=>`${ve(e.zeitplan)} auf ${e.speicher??`?`}`).join(`, `)}var Y={ok:`in Ordnung`,gelb:`wird knapp`,rot:`fast voll`},X={ok:`gruen`,gelb:`bernstein`,rot:`rot`,keine:`grau`},be={ok:`var(--reihe-1)`,gelb:`var(--bernstein)`,rot:`var(--rot)`},xe=e=>P(new Date(e*1e3).toISOString());function Z(e){let t=(0,H.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=be[r],u;t[2]!==c||t[3]!==l?(u=(0,U.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,U.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[80%] w-px bg-bernstein/70`}),f=(0,U.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,U.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-erhaben`,children:[u,d,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=p):p=t[10],p}function Q(e){let t=(0,H.c)(16),{titel:n,unter:r,chip:i,chipText:a,children:o}=e,s;t[0]===n?s=t[1]:(s=(0,U.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,U.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,U.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,U.jsx)(k,{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,U.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,U.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 rounded-xl border border-linie bg-erhaben/40 p-4`,children:[d,o]}),t[13]=o,t[14]=d,t[15]=f):f=t[15],f}function Se(e){let t=(0,H.c)(31),{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 a=r,o=`Speicherpool ${n.speicher}`,s=X[n.stufe],c=Y[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,U.jsx)(Z,{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=J(n.belegt),t[6]=n.belegt,t[7]=f);let p;t[8]===n.gesamt?p=t[9]:(p=J(n.gesamt),t[8]=n.gesamt,t[9]=p);let m=n.stufe!==`ok`&&`text-foreground`,h;t[10]===m?h=t[11]:(h=i(m),t[10]=m,t[11]=h);let g;t[12]===n.frei?g=t[13]:(g=J(n.frei),t[12]=n.frei,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,U.jsxs)(`span`,{className:h,children:[g,` frei`]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==a||t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,U.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[a,` % · `,f,` von `,p,` · `,_]}),t[17]=a,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,U.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;return t[24]!==v||t[25]!==y||t[26]!==o||t[27]!==s||t[28]!==c||t[29]!==d?(b=(0,U.jsxs)(Q,{titel:o,unter:`Platten der Container und VMs`,chip:s,chipText:c,children:[d,v,y]}),t[24]=v,t[25]=y,t[26]=o,t[27]=s,t[28]=c,t[29]=d,t[30]=b):b=t[30],b}function Ce(e){let t=(0,H.c)(21),{s:n}=e,r=X[n.stufe],i=Y[n.stufe],a;t[0]!==n.anteil||t[1]!==n.stufe?(a=(0,U.jsx)(Z,{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=J(n.belegt),t[5]=n.belegt,t[6]=s);let c;t[7]===n.gesamt?c=t[8]:(c=J(n.gesamt),t[7]=n.gesamt,t[8]=c);let l;t[9]===n.frei?l=t[10]:(l=J(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,U.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;return t[16]!==r||t[17]!==i||t[18]!==a||t[19]!==u?(d=(0,U.jsxs)(Q,{titel:`Systemplatte`,unter:`Proxmox-Host: Kernel, Sicherungen vor Updates`,chip:r,chipText:i,children:[a,u]}),t[16]=r,t[17]=i,t[18]=a,t[19]=u,t[20]=d):d=t[20],d}function we(e){let t=(0,H.c)(21),{n}=e,r=n.problem?n.stufe===`rot`?`gestört`:`unklar`:Y[n.stufe],a=`NAS ${n.server??``}`,o;t[0]===a?o=t[1]:(o=a.trim(),t[0]=a,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=X[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?(u=n.problem?(0,U.jsx)(`p`,{className:i(`text-sm`,n.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:n.problem}):n.anteil!==null&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Z,{anteil:n.anteil,stufe:n.stufe,name:`NAS ${n.server??``}`}),(0,U.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[Math.round(n.anteil*100),` % · `,J(n.belegt),` von `,J(n.gesamt),` · `,J((n.gesamt??0)-(n.belegt??0)),` frei`]})]}),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]=u):u=t[10];let d=n.erreichbar===!1?`antwortet nicht`:`antwortet`,f=n.eingebunden?`auf dem Proxmox-Host eingebunden`:`nicht eingebunden`,p;t[11]!==d||t[12]!==f?(p=(0,U.jsxs)(`p`,{className:`text-xs text-text-3`,children:[d,` · `,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13];let m;return t[14]!==r||t[15]!==o||t[16]!==c||t[17]!==l||t[18]!==u||t[19]!==p?(m=(0,U.jsxs)(Q,{titel:o,unter:c,chip:l,chipText:r,children:[u,p]}),t[14]=r,t[15]=o,t[16]=c,t[17]=l,t[18]=u,t[19]=p,t[20]=m):m=t[20],m}function Te(e){let t=(0,H.c)(18),{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=ye(n),t[1]=n,t[2]=a);let o=X[n.stufe],s;t[3]===n.probleme?s=t[4]:(s=n.probleme.map(De),t[3]=n.probleme,t[4]=s);let c;t[5]!==n.erfasst||t[6]!==n.stufe||t[7]!==n.zuletzt?(c=n.stufe===`ok`&&(0,U.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Alle `,n.erfasst,` Geräte gesichert`,n.zuletzt?(0,U.jsxs)(U.Fragment,{children:[`, zuletzt `,(0,U.jsx)(`span`,{className:`ziffern`,children:xe(n.zuletzt)})]}):null,`.`]}),t[5]=n.erfasst,t[6]=n.stufe,t[7]=n.zuletzt,t[8]=c):c=t[8];let l;t[9]===n.fehlend?l=t[10]:(l=n.fehlend.length>0&&(0,U.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm`,children:n.fehlend.map(Ee)}),t[9]=n.fehlend,t[10]=l);let u;return t[11]!==i||t[12]!==a||t[13]!==o||t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,U.jsxs)(Q,{titel:`Sicherungen`,unter:a,chip:o,chipText:i,children:[s,c,l]}),t[11]=i,t[12]=a,t[13]=o,t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function Ee(e){return(0,U.jsxs)(`li`,{className:`text-bernstein`,children:[e.name,`: `,e.zuletzt?(0,U.jsxs)(U.Fragment,{children:[`zuletzt `,(0,U.jsx)(`span`,{className:`ziffern`,children:xe(e.zuletzt)})]}):`noch nie gesichert`]},e.ziel)}function De(e){return(0,U.jsx)(`p`,{className:`text-sm text-rot-text`,children:e},e)}function Oe(e){let t=(0,H.c)(44),{daten:n,laeuft:r,gesperrt:i,onAktion:o}=e,s=r===void 0?null:r,c=i!==void 0&&i,[l,u]=(0,q.useState)(null),d;t[0]!==n.pools||t[1]!==n.systemplatte?.stufe?(d=n.pools.some(Me)||(n.systemplatte?.stufe??`ok`)!==`ok`,t[0]=n.pools,t[1]=n.systemplatte?.stufe,t[2]=d):d=t[2];let f=d,p,m,h;if(t[3]!==n.empfehlungen||t[4]!==n.nas||t[5]!==n.pools||t[6]!==n.sicherungen||t[7]!==n.systemplatte||t[8]!==c||t[9]!==f||t[10]!==s||t[11]!==o){let e=n.empfehlungen.reduce(je,0);p=`flex flex-col gap-4`;let r;t[15]===n.pools?r=t[16]:(r=n.pools.map(Ae),t[15]=n.pools,t[16]=r);let i;t[17]===n.systemplatte?i=t[18]:(i=n.systemplatte&&(0,U.jsx)(Ce,{s:n.systemplatte}),t[17]=n.systemplatte,t[18]=i);let l;t[19]===n.nas?l=t[20]:(l=n.nas.length>0?n.nas.map(ke):(0,U.jsx)(Q,{titel:`NAS`,chip:`grau`,chipText:`keins`,children:(0,U.jsx)(`p`,{className:`text-sm text-text-3`,children:`Auf dem Proxmox-Host ist kein Netzlaufwerk eingebunden.`})}),t[19]=n.nas,t[20]=l);let d;t[21]===n.sicherungen?d=t[22]:(d=(0,U.jsx)(Te,{s:n.sicherungen}),t[21]=n.sicherungen,t[22]=d),t[23]!==d||t[24]!==r||t[25]!==i||t[26]!==l?(m=(0,U.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-4`,children:[r,i,l,d]}),t[23]=d,t[24]=r,t[25]=i,t[26]=l,t[27]=m):m=t[27],h=n.empfehlungen.length>0&&(0,U.jsxs)(`details`,{open:f,className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-3`,children:[(0,U.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[(0,U.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,U.jsx)(a,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Was Platz bringt`]}),(0,U.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[n.empfehlungen.length,` `,n.empfehlungen.length===1?`Vorschlag`:`Vorschläge`,e>0&&` · bis zu ${J(e)}`]})]}),(0,U.jsx)(`ol`,{className:`flex flex-col`,children:n.empfehlungen.map(e=>(0,U.jsx)(Pe,{e,laeuft:s,gesperrt:c||!o,onFrage:u},e.titel))})]}),t[3]=n.empfehlungen,t[4]=n.nas,t[5]=n.pools,t[6]=n.sicherungen,t[7]=n.systemplatte,t[8]=c,t[9]=f,t[10]=s,t[11]=o,t[12]=p,t[13]=m,t[14]=h}else p=t[12],m=t[13],h=t[14];let g=!!l,_=l?`Proxmox-Host: ${l.label}`:``,v=l?.frage??``,y=l?.label??``,b;t[28]!==l||t[29]!==o?(b=()=>{l&&o&&o(l),u(null)},t[28]=l,t[29]=o,t[30]=b):b=t[30];let x;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>u(null),t[31]=x):x=t[31];let S;t[32]!==c||t[33]!==y||t[34]!==b||t[35]!==g||t[36]!==_||t[37]!==v?(S=(0,U.jsx)(I,{offen:g,titel:_,text:v,knopf:y,gesperrt:c,onJa:b,onNein:x}),t[32]=c,t[33]=y,t[34]=b,t[35]=g,t[36]=_,t[37]=v,t[38]=S):S=t[38];let C;return t[39]!==S||t[40]!==p||t[41]!==m||t[42]!==h?(C=(0,U.jsxs)(`div`,{className:p,children:[m,h,S]}),t[39]=S,t[40]=p,t[41]=m,t[42]=h,t[43]=C):C=t[43],C}function ke(e){return(0,U.jsx)(we,{n:e},e.ziel)}function Ae(e){return(0,U.jsx)(Se,{p:e},e.speicher)}function je(e,t){return e+(t.platz??0)}function Me(e){return e.stufe!==`ok`}var Ne={pool:`Speicherpool`,systemplatte:`Systemplatte des Hosts`};function Pe(e){let t=(0,H.c)(23),{e:n,laeuft:r,gesperrt:i,onFrage:a}=e,o;t[0]===n.titel?o=t[1]:(o=(0,U.jsx)(`span`,{className:`text-[15px] font-medium break-words`,children:n.titel}),t[0]=n.titel,t[1]=o);let s;t[2]===n.platz?s=t[3]:(s=n.platz?`≈ ${J(n.platz)}`:`Größe unbekannt`,t[2]=n.platz,t[3]=s);let c;t[4]===s?c=t[5]:(c=(0,U.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:s}),t[4]=s,t[5]=c);let l;t[6]!==o||t[7]!==c?(l=(0,U.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[o,c]}),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;t[9]===n.ort?u=t[10]:(u=n.ort&&(0,U.jsx)(`span`,{className:`schild text-xs text-text-3`,children:Ne[n.ort]??n.ort}),t[9]=n.ort,t[10]=u);let d;t[11]===n.text?d=t[12]:(d=(0,U.jsx)(`p`,{className:`text-sm break-words text-text-2`,children:n.text}),t[11]=n.text,t[12]=d);let f;t[13]!==n.aktion||t[14]!==i||t[15]!==r||t[16]!==a?(f=n.aktion&&(r?(0,U.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):(0,U.jsx)(F,{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]=f):f=t[17];let p;return t[18]!==l||t[19]!==u||t[20]!==d||t[21]!==f?(p=(0,U.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-1`,children:[l,u,d,f]}),t[18]=l,t[19]=u,t[20]=d,t[21]=f,t[22]=p):p=t[22],p}var Fe={snapshot:`Snapshot`,sicherung:`Sicherung`,keiner:`kein Rückweg`};function Ie(e){let t=(0,H.c)(24),{anzahl:n,gesperrt:r}=e,[i,a]=(0,q.useState)(!1),o=ee(i),s=_(),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,U.jsxs)(F,{disabled:u,onClick:d,children:[`Alle aktualisieren`,f]}),t[3]=u,t[4]=f,t[5]=p):p=t[5];let m=l.length?`${l.length} Updates starten`:`Starten`,h=s.isPending||o.isPending||l.length===0,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(!1),t[6]=g):g=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,U.jsx)(`p`,{className:`text-sm text-text-2`,children:`Die Reihenfolge wird gelesen …`}):o.error?(0,U.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Der Plan lässt sich nicht lesen: `,o.error.message]}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1`,children:[(0,U.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:l.map(Le)}),o.data?.hinweis&&(0,U.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]!==m||t[18]!==h||t[19]!==v?(b=(0,U.jsx)(I,{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:m,gesperrt:h,onNein:g,onJa:v,children:y}),t[15]=i,t[16]=y,t[17]=m,t[18]=h,t[19]=v,t[20]=b):b=t[20];let x;return t[21]!==b||t[22]!==p?(x=(0,U.jsxs)(U.Fragment,{children:[p,b]}),t[21]=b,t[22]=p,t[23]=x):x=t[23],x}function Le(e,t){return(0,U.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-baseline gap-2 text-sm`,children:[(0,U.jsxs)(`span`,{className:`ziffern text-text-3`,children:[t+1,`.`]}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`font-medium text-foreground`,children:e.name}),` `,(0,U.jsxs)(`span`,{className:`text-text-2`,children:[`· `,e.was]})]}),(0,U.jsx)(`span`,{className:i(`text-xs`,e.rueckweg_art===`keiner`?`text-bernstein`:`text-text-3`),children:Fe[e.rueckweg_art]})]},`${e.ziel}-${e.baustein}`)}var Re={wartet:{Symbol:oe,farbe:`text-text-3`,text:`wartet`},laeuft:{Symbol:ce,farbe:`text-cyan`,text:`läuft`},eingespielt:{Symbol:C,farbe:`text-gruen`,text:`eingespielt`},zurueckgerollt:{Symbol:ue,farbe:`text-bernstein`,text:`zurückgerollt`},fehler:{Symbol:se,farbe:`text-rot`,text:`Fehler`},uebersprungen:{Symbol:le,farbe:`text-text-3`,text:`übersprungen`}},ze={laeuft:{art:`cyan`,text:`läuft`},fertig:{art:`gruen`,text:`fertig`},abgebrochen:{art:`bernstein`,text:`abgebrochen`}};function Be(e){let t=(0,H.c)(31),{lauf:n}=e,r;t[0]===n.schritte?r=t[1]:(r=n.schritte.filter(He),t[0]=n.schritte,t[1]=r);let i=r.length,a=ze[n.status],o;t[2]!==i||t[3]!==n.schritte.length?(o=(0,U.jsxs)(`span`,{className:`schild text-sm tracking-[0.18em] text-cyan`,children:[`Alle aktualisieren · `,i,` von `,n.schritte.length]}),t[2]=i,t[3]=n.schritte.length,t[4]=o):o=t[4];let s;t[5]===n.start?s=t[6]:(s=P(new Date(n.start*1e3).toISOString()),t[5]=n.start,t[6]=s);let c;t[7]===s?c=t[8]:(c=(0,U.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:s}),t[7]=s,t[8]=c);let l;t[9]!==a.art||t[10]!==a.text?(l=(0,U.jsx)(k,{art:a.art,children:a.text}),t[9]=a.art,t[10]=a.text,t[11]=l):l=t[11];let u;t[12]!==c||t[13]!==l?(u=(0,U.jsxs)(`span`,{className:`flex items-center gap-2`,children:[c,l]}),t[12]=c,t[13]=l,t[14]=u):u=t[14];let d;t[15]!==o||t[16]!==u?(d=(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[o,u]}),t[15]=o,t[16]=u,t[17]=d):d=t[17];let f=`${i/Math.max(1,n.schritte.length)*100}%`,p;t[18]===f?p=t[19]:(p=(0,U.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,U.jsx)(`div`,{className:`h-full rounded-full bg-cyan transition-all`,style:{width:f}})}),t[18]=f,t[19]=p);let m;t[20]===n.schritte?m=t[21]:(m=n.schritte.map(Ve),t[20]=n.schritte,t[21]=m);let h;t[22]===m?h=t[23]:(h=(0,U.jsx)(`ol`,{className:`m-0 grid list-none gap-x-6 gap-y-1.5 p-0 sm:grid-cols-2`,children:m}),t[22]=m,t[23]=h);let g;t[24]===n.text?g=t[25]:(g=n.text&&(0,U.jsx)(`p`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=g);let _;return t[26]!==h||t[27]!==g||t[28]!==d||t[29]!==p?(_=(0,U.jsxs)(`section`,{"aria-label":`Alle aktualisieren`,className:`flex flex-col gap-3 rounded-xl border border-cyan-rand/60 bg-cyan-grund/40 p-4`,children:[d,p,h,g]}),t[26]=h,t[27]=g,t[28]=d,t[29]=p,t[30]=_):_=t[30],_}function Ve(e){let t=Re[e.status];return(0,U.jsxs)(`li`,{className:`flex items-start gap-2 text-sm`,children:[(0,U.jsx)(t.Symbol,{className:i(`mt-0.5 size-4 shrink-0`,t.farbe,e.status===`laeuft`&&`motion-safe:animate-spin`),"aria-hidden":!0}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,U.jsxs)(`span`,{className:`text-text-3`,children:[`· `,e.was,` · `,t.text]}),e.text&&e.status!==`eingespielt`&&(0,U.jsx)(`span`,{className:`block text-xs text-text-3`,children:e.text})]})]},`${e.ziel}-${e.baustein}`)}function He(e){return![`wartet`,`laeuft`].includes(e.status)}var Ue=`md:grid-cols-[minmax(0,1.1fr)_minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,0.9fr)_11.5rem]`;function We(e){let t=(0,H.c)(26),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?b(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,U.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,U.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?l(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,U.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,U.jsxs)(`span`,{className:`text-cyan`,children:[`→ `,r.verfuegbar]}),t[7]=r.verfuegbar,t[8]=r.zustand,t[9]=c):c=t[9];let u;t[10]===r.zustand?u=t[11]:(u=r.zustand===`aktuell`&&(0,U.jsx)(`span`,{className:`font-sans text-xs text-gruen-text`,children:`aktuell`}),t[10]=r.zustand,t[11]=u);let d;t[12]===r.zustand?d=t[13]:(d=r.zustand===`unbekannt`&&(0,U.jsx)(`span`,{className:`font-sans text-xs text-text-3`,children:`unklar`}),t[12]=r.zustand,t[13]=d);let f;t[14]!==s||t[15]!==c||t[16]!==u||t[17]!==d?(f=(0,U.jsxs)(`span`,{className:`ziffern flex flex-wrap items-baseline gap-x-2 text-sm`,children:[s,c,u,d]}),t[14]=s,t[15]=c,t[16]=u,t[17]=d,t[18]=f):f=t[18];let p;t[19]!==r.aktion||t[20]!==r.grund||t[21]!==r.zustand?(p=r.zustand===`neu`&&!r.aktion&&r.grund&&(0,U.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]=p):p=t[22];let m;return t[23]!==f||t[24]!==p?(m=(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[f,p]}),t[23]=f,t[24]=p,t[25]=m):m=t[25],m}function Ge(e){let t=(0,H.c)(22),{b:n,onSuchen:r,gesperrt:i}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let a=n.id===`docker`,s;if(n.zustand===`neu`){let e=n.kurz||`Update bereit`,r;t[1]===e?r=t[2]:(r=(0,U.jsx)(`span`,{className:`text-cyan`,children:e}),t[1]=e,t[2]=r),s=r}else if(n.zustand===`aktuell`){let e=a?`Images aktuell`:`aktuell`,n;t[3]===e?n=t[4]:(n=(0,U.jsx)(`span`,{className:`text-gruen-text`,children:e}),t[3]=e,t[4]=n),s=n}else{let e;t[5]===n.grund?e=t[6]:(e=re(n.grund),t[5]=n.grund,t[6]=e);let r=e,i=n.grund??void 0,o=a?`Images unklar`:`unklar`,c;t[7]===r?c=t[8]:(c=r&&(0,U.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,r]}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==o||t[11]!==c?(l=(0,U.jsxs)(`span`,{className:`text-text-2`,title:i,children:[o,c]}),t[9]=i,t[10]=o,t[11]=c,t[12]=l):l=t[12],s=l}let c=n.zustand===`unbekannt`?n.aktion:null,l;t[13]===s?l=t[14]:(l=(0,U.jsx)(`span`,{className:`min-w-0`,children:s}),t[13]=s,t[14]=l);let u;t[15]!==i||t[16]!==r||t[17]!==c?(u=c&&(0,U.jsx)(F,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":c.label,title:c.label,disabled:i,onClick:()=>r(c),children:(0,U.jsx)(o,{})}),t[15]=i,t[16]=r,t[17]=c,t[18]=u):u=t[18];let d;return t[19]!==l||t[20]!==u?(d=(0,U.jsxs)(`span`,{className:`flex items-center gap-1 text-sm`,children:[l,u]}),t[19]=l,t[20]=u,t[21]=d):d=t[21],d}var Ke={app:`App updaten`,os:`Pakete einspielen`,pakete:`Pakete einspielen`};function qe(e){let t=(0,H.c)(54),{ziel:n,laeuft:r,gesperrt:a,onFrage:o}=e,s;t[0]===n?s=t[1]:(s=T(n),t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=b(n),t[2]=n,t[3]=l);let d=l,f,p,m,h,g,_,v,y,x;if(t[4]!==c||t[5]!==a||t[6]!==r||t[7]!==o||t[8]!==d||t[9]!==n){let e=n.bausteine.filter(Je),s=u(n)>=2;_=`row`;let l=s&&`opacity-75`;t[19]===l?v=t[20]:(v=i(`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-linie py-3.5 md:items-center`,Ue,l),t[19]=l,t[20]=v);let b;t[21]===n.name?b=t[22]:(b=(0,U.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[21]=n.name,t[22]=b);let S;t[23]===n?S=t[24]:(S=N(n)!==n.name&&(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:N(n)}),t[23]=n,t[24]=S),t[25]!==b||t[26]!==S?(y=(0,U.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[b,S]}),t[25]=b,t[26]=S,t[27]=y):y=t[27];let C;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`App `}),t[28]=C):C=t[28],t[29]!==c||t[30]!==n?(x=(0,U.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[C,(0,U.jsx)(We,{ziel:n,b:c})]}),t[29]=c,t[30]=n,t[31]=x):x=t[31];let w;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Pakete `}),t[32]=w):w=t[32];let T=a||!!r,E;t[33]!==o||t[34]!==n?(E=e=>o({ziel:n,aktion:e}),t[33]=o,t[34]=n,t[35]=E):E=t[35],t[36]!==d||t[37]!==T||t[38]!==E?(f=(0,U.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[w,(0,U.jsx)(Ge,{b:d,gesperrt:T,onSuchen:E})]}),t[36]=d,t[37]=T,t[38]=E,t[39]=f):f=t[39];let D=e.length?ne(n):``;t[40]===D?p=t[41]:(p=(0,U.jsx)(`span`,{role:`cell`,className:`text-sm text-text-3`,children:D}),t[40]=D,t[41]=p),m=`cell`,h=`flex flex-wrap gap-2 md:flex-col md:items-stretch`,g=r?(0,U.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):e.map(e=>(0,U.jsx)(F,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>e.aktion&&o({ziel:n,aktion:e.aktion}),children:Ke[e.id]??e.aktion?.label??`Updaten`},e.id)),t[4]=c,t[5]=a,t[6]=r,t[7]=o,t[8]=d,t[9]=n,t[10]=f,t[11]=p,t[12]=m,t[13]=h,t[14]=g,t[15]=_,t[16]=v,t[17]=y,t[18]=x}else f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=t[16],y=t[17],x=t[18];let S;t[42]!==m||t[43]!==h||t[44]!==g?(S=(0,U.jsx)(`span`,{role:m,className:h,children:g}),t[42]=m,t[43]=h,t[44]=g,t[45]=S):S=t[45];let C;return t[46]!==f||t[47]!==p||t[48]!==S||t[49]!==_||t[50]!==v||t[51]!==y||t[52]!==x?(C=(0,U.jsxs)(`div`,{role:_,className:v,children:[y,x,f,p,S]}),t[46]=f,t[47]=p,t[48]=S,t[49]=_,t[50]=v,t[51]=y,t[52]=x,t[53]=C):C=t[53],C}function Je(e){return e.zustand===`neu`&&e.aktion}function Ye(e){let t=(0,H.c)(42),{ziele:n,laufend:r,gesperrt:a,onAktion:o}=e,[s,c]=(0,q.useState)(null),l,u,d,f,p,m;if(t[0]!==a||t[1]!==r||t[2]!==n){let e=[...n].sort(Ze),o;t[9]===n?o=t[10]:(o=n.filter(Xe),t[9]=n,t[10]=o),l=o.length,u=`table`,d=`Updates je Gerät`,f=`flex flex-col`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,U.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,Ue),children:[(0,U.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,U.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),t[11]=p):p=t[11];let s;t[12]!==a||t[13]!==r?(s=e=>(0,U.jsx)(qe,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:a||r.has(e.id),onFrage:c},e.id),t[12]=a,t[13]=r,t[14]=s):s=t[14],m=e.map(s),t[0]=a,t[1]=r,t[2]=n,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m}else l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8];let h;t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,U.jsxs)(`div`,{role:u,"aria-label":d,className:f,children:[p,m]}),t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]!==l||t[22]!==n.length?(g=l>0&&l===n.length&&(0,U.jsx)(k,{art:`gruen`,children:`Alles aktuell`}),t[21]=l,t[22]=n.length,t[23]=g):g=t[23];let _=!!s,v=s?`${s.ziel.name}: ${s.aktion.label}`:``,y=s?.aktion.frage??``,b=s?.aktion.label??``,x;t[24]===s?.aktion.pfad?x=t[25]:(x=s?.aktion.pfad.endsWith(`/neustart`),t[24]=s?.aktion.pfad,t[25]=x);let S=!!x,C;t[26]!==s||t[27]!==o?(C=()=>{s&&o(s.aktion),c(null)},t[26]=s,t[27]=o,t[28]=C):C=t[28];let w;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>c(null),t[29]=w):w=t[29];let T;t[30]!==a||t[31]!==y||t[32]!==b||t[33]!==S||t[34]!==C||t[35]!==_||t[36]!==v?(T=(0,U.jsx)(I,{offen:_,titel:v,text:y,knopf:b,gefahr:S,gesperrt:a,onJa:C,onNein:w}),t[30]=a,t[31]=y,t[32]=b,t[33]=S,t[34]=C,t[35]=_,t[36]=v,t[37]=T):T=t[37];let E;return t[38]!==T||t[39]!==h||t[40]!==g?(E=(0,U.jsxs)(U.Fragment,{children:[h,g,T]}),t[38]=T,t[39]=h,t[40]=g,t[41]=E):E=t[41],E}function Xe(e){return u(e)===3}function Ze(e,t){return u(e)-u(t)}var Qe=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],$e={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`}},$=e=>P(new Date(e*1e3).toISOString());function et(){let e=(0,H.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.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,U.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,U.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,U.jsxs)(U.Fragment,{children:[t,n,(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,U.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:Qe.map(tt)})]}),(0,U.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 tt(e){return(0,U.jsx)(`li`,{children:(0,U.jsx)(k,{children:e})},e)}function nt(e){let t=(0,H.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,U.jsx)(k,{art:`rot`,children:`Antwortet nicht`}):(0,U.jsx)(k,{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,U.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,U.jsx)(et,{}),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,U.jsx)(M,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function rt(e){let t=(0,H.c)(10),{hinweise:n}=e,r=n.some(at)?`rot`:`bernstein`,i;t[0]!==n.length||t[1]!==r?(i=(0,U.jsxs)(k,{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(it),t[3]=n,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,U.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,U.jsx)(M,{titel:`Hinweise`,id:`hinweise`,rechts:i,children:o}),t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function it(e){return(0,U.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,U.jsx)(`span`,{className:e.stufe===`rot`?`text-[15px] font-medium text-rot-text`:`text-[15px] font-medium text-bernstein`,children:e.titel}),(0,U.jsx)(`span`,{className:`text-sm text-text-2`,children:e.text})]},e.id)}function at(e){return e.stufe===`rot`}function ot(e){let t=(0,H.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(ct).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.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(st)}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,U.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function st(e){let t=e.ergebnis?$e[e.ergebnis]:{art:`grau`,text:`unterbrochen`};return(0,U.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,U.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,U.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:$(e.start)}),(0,U.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,U.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,U.jsx)(k,{art:t.art,children:t.text})})]}),e.text&&(0,U.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function ct(e){return e.status!==`laeuft`}function lt(e){let t=(0,H.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${$(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,U.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,U.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=$(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,U.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 ut(){let e=(0,H.c)(20),t=p(),n=te(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=s(r),a=x(r),o=f(r),c=E(),l=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(j,{text:`Wird gelesen …`}),e[0]=t):t=e[0],l=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,U.jsx)(nt,{partner:n.data}):(0,U.jsx)(j,{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],l=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(j,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],l=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,U.jsx)(j,{fehler:!0,text:t}),e[5]=t,e[6]=n),l=n}let u;if(e[7]!==a.data?.laeufe){u=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&u.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=u}else u=e[8];let d;e[9]===a.data?.laeufe?d=e[10]:(d=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=d);let m;e[11]===o.data?.hinweise?m=e[12]:(m=o.data?.hinweise??[],e[11]=o.data?.hinweise,e[12]=m);let h;return e[13]!==c||e[14]!==l||e[15]!==i.data||e[16]!==u||e[17]!==d||e[18]!==m?(h={ersatz:l,stand:i.data,laufend:u,laeufe:d,hinweise:m,aktion:c},e[13]=c,e[14]=l,e[15]=i.data,e[16]=u,e[17]=d,e[18]=m,e[19]=h):h=e[19],h}function dt(){let e=(0,H.c)(46),t=w(),{ersatz:n,stand:r,laufend:i,hinweise:a,aktion:o}=ut(),s=S(`1h`,!!r),c=h(!!r);if(n||!r)return n;let l,u;e[0]!==a||e[1]!==i.size||e[2]!==r?(l=r.bericht?$(r.bericht.empfangen):null,u=ie(r,a,i.size,l),e[0]=a,e[1]=i.size,e[2]=r,e[3]=l,e[4]=u):(l=e[3],u=e[4]);let f=u,p;if(e[5]!==i||e[6]!==r.ziele){let t;e[8]===i?t=e[9]:(t=e=>D(e,i.has(e.id)),e[8]=i,e[9]=t),p=r.ziele.map(t),e[5]=i,e[6]=r.ziele,e[7]=p}else p=e[7];let g;e[10]!==f.ziel||e[11]!==t?(g=()=>{f.ziel===`updates`?t({to:`/homelab/updates`}):f.ziel&&document.getElementById(f.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[10]=f.ziel,e[11]=t,e[12]=g):g=e[12];let _;e[13]!==f||e[14]!==p||e[15]!==g?(_=(0,U.jsx)(he,{lage:f,lampen:p,onAnsehen:g}),e[13]=f,e[14]=p,e[15]=g,e[16]=_):_=e[16];let v;e[17]===r?v=e[18]:(v=(0,U.jsx)(lt,{stand:r}),e[17]=r,e[18]=v);let y;e[19]===a?y=e[20]:(y=a.length>0&&(0,U.jsx)(rt,{hinweise:a}),e[19]=a,e[20]=y);let b;e[21]===l?b=e[22]:(b=l&&(0,U.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,l]}),e[21]=l,e[22]=b);let x;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,U.jsxs)(m,{to:`/homelab/monitoring`,className:`inline-flex items-center gap-1 text-sm text-lab-text hover:underline`,children:[`Monitoring `,(0,U.jsx)(d,{className:`size-3.5`,"aria-hidden":!0})]}),e[23]=x):x=e[23];let C;e[24]===b?C=e[25]:(C=(0,U.jsxs)(`span`,{className:`flex items-center gap-3`,children:[b,x]}),e[24]=b,e[25]=C);let T=s.data?.geraete,E;e[26]!==r.ziele||e[27]!==T?(E=(0,U.jsx)(fe,{ziele:r.ziele,messwerte:T}),e[26]=r.ziele,e[27]=T,e[28]=E):E=e[28];let O;e[29]===s.isError?O=e[30]:(O=s.isError&&(0,U.jsx)(`p`,{className:`text-xs text-text-3`,children:`CPU und Speicher erscheinen, sobald der Ausführer Messwerte schickt.`}),e[29]=s.isError,e[30]=O);let k;e[31]!==E||e[32]!==O||e[33]!==C?(k=(0,U.jsxs)(M,{titel:`Geräte`,id:`geraete`,rechts:C,children:[E,O]}),e[31]=E,e[32]=O,e[33]=C,e[34]=k):k=e[34];let A;e[35]!==o||e[36]!==i||e[37]!==c.data||e[38]!==r.ausfuehrer?(A=c.data?.bericht&&(0,U.jsx)(M,{titel:`Speicher und Sicherungen`,id:`speicher`,children:(0,U.jsx)(Oe,{daten:c.data,laeuft:i.get(`pve`)??null,gesperrt:o.isPending||i.has(`pve`)||!r.ausfuehrer.verbunden,onAktion:e=>o.mutate(e)})}),e[35]=o,e[36]=i,e[37]=c.data,e[38]=r.ausfuehrer,e[39]=A):A=e[39];let j;return e[40]!==k||e[41]!==A||e[42]!==_||e[43]!==v||e[44]!==y?(j=(0,U.jsxs)(U.Fragment,{children:[_,v,y,k,A]}),e[40]=k,e[41]=A,e[42]=_,e[43]=v,e[44]=y,e[45]=j):j=e[45],j}function ft(){let e=(0,H.c)(29),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=ut(),o=O(!!n);if(t||!n)return t;let s=o.data?.sammellauf??null,c=s?.status===`laeuft`,l;e[0]===n.ziele?l=e[1]:(l=y(n.ziele).filter(pt),e[0]=n.ziele,e[1]=l);let u=l.length,d=a.isPending||c||!n.ausfuehrer.verbunden,f;e[2]!==u||e[3]!==d?(f=(0,U.jsx)(Ie,{anzahl:u,gesperrt:d}),e[2]=u,e[3]=d,e[4]=f):f=e[4];let p;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,U.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]=p):p=e[5];let m;e[6]===n?m=e[7]:(m=(0,U.jsx)(lt,{stand:n}),e[6]=n,e[7]=m);let h;e[8]!==s||e[9]!==c||e[10]!==n.bericht?.empfangen?(h=s&&(c||s.ende&&(n.bericht?.empfangen??0)-s.ende<21600)&&(0,U.jsx)(Be,{lauf:s}),e[8]=s,e[9]=c,e[10]=n.bericht?.empfangen,e[11]=h):h=e[11];let g=a.isPending||c||!n.ausfuehrer.verbunden,_;e[12]===a?_=e[13]:(_=e=>a.mutate(e),e[12]=a,e[13]=_);let v;e[14]!==r||e[15]!==n.ziele||e[16]!==g||e[17]!==_?(v=(0,U.jsx)(Ye,{ziele:n.ziele,laufend:r,gesperrt:g,onAktion:_}),e[14]=r,e[15]=n.ziele,e[16]=g,e[17]=_,e[18]=v):v=e[18];let b;e[19]!==f||e[20]!==m||e[21]!==h||e[22]!==v?(b=(0,U.jsxs)(M,{titel:`Updates`,rechts:f,children:[p,m,h,v]}),e[19]=f,e[20]=m,e[21]=h,e[22]=v,e[23]=b):b=e[23];let x;e[24]===i?x=e[25]:(x=(0,U.jsx)(M,{titel:`Verlauf`,children:(0,U.jsx)(ot,{laeufe:i})}),e[24]=i,e[25]=x);let S;return e[26]!==x||e[27]!==b?(S=(0,U.jsxs)(U.Fragment,{children:[b,x]}),e[26]=x,e[27]=b,e[28]=S):S=e[28],S}function pt(e){return e.baustein.aktion}export{dt as HomelabSeite,ft as HomelabUpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Homelab-hqb9RrQ_.js b/frontend/dist/assets/Homelab-hqb9RrQ_.js new file mode 100644 index 0000000..458d6cc --- /dev/null +++ b/frontend/dist/assets/Homelab-hqb9RrQ_.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-ZOVnQh4C.js";import{t as o}from"./search--3Jwhcgy.js";import{B as s,C as c,D as l,E as u,Gt as d,H as f,J as p,Jt as m,K as h,Kt as g,O as _,Ot as v,S as y,T as b,U as x,W as S,Wt as C,Yt as w,_ as T,_t as E,b as D,ct as O,f as k,i as A,p as j,st as ee,tt as te,u as M,v as N,w as ne,x as re,y as ie,yt as P}from"./index-CYmlXdd4.js";import{t as F}from"./button-D8rvET0Z.js";import{t as I}from"./Bestaetigen-CkA7XucG.js";import{t as ae}from"./Lampe-gSQfYg4e.js";var L={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`}]]};L.node;var oe=g(L),R={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};R.node;var se=g(R),z={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};z.node;var ce=g(z),B={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`}]]};B.node;var le=g(B),V={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};V.node;var ue=g(V),H=t(),U=n(),W=`md:grid-cols-[minmax(0,1.3fr)_110px_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1fr)_90px]`,G=e=>(e/1e9).toFixed(1).replace(`.`,`,`);function K(e){let t=(0,H.c)(17),{wert:n,gelb:r,rot:a,zusatz:o}=e;if(n==null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let s=n>=a?`var(--rot)`:n>=r?`var(--bernstein)`:`var(--reihe-1)`,c=n>=a?`text-rot-text`:n>=r?`text-bernstein`:`text-text-2`,l;t[1]===c?l=t[2]:(l=i(`ziffern text-sm`,c),t[1]=c,t[2]=l);let u;t[3]===n?u=t[4]:(u=Math.round(n),t[3]=n,t[4]=u);let d;t[5]===o?d=t[6]:(d=o&&(0,U.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,o]}),t[5]=o,t[6]=d);let f;t[7]!==l||t[8]!==u||t[9]!==d?(f=(0,U.jsxs)(`span`,{className:l,children:[u,` %`,d]}),t[7]=l,t[8]=u,t[9]=d,t[10]=f):f=t[10];let p=`${Math.min(100,Math.max(2,n))}%`,m;t[11]!==s||t[12]!==p?(m=(0,U.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,U.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:p,background:s}})}),t[11]=s,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==f||t[15]!==m?(h=(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[f,m]}),t[14]=f,t[15]=m,t[16]=h):h=t[16],h}function de(e){if(e.erreichbar===!1)return 0;let t=c(e);return t!==null&&t>=.8?1:e.art===`proxmox-host`?2:3}function fe(e){let t=(0,H.c)(4),{ziele:n,messwerte:r}=e,a;if(t[0]!==r||t[1]!==n){let e=new Map((r??[]).map(me)),o=[...n].sort(pe),s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,U.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,W),children:[(0,U.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Netz`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`})]}),t[3]=s):s=t[3],a=(0,U.jsxs)(`div`,{role:`table`,"aria-label":`Zustand der Geräte`,className:`flex flex-col`,children:[s,o.map(t=>{let n=e.get(t.id),r=n?.platte??(c(t)===null?null:c(t)*100),a=n?.ram_used&&n.ram_total?`${G(n.ram_used)} / ${G(n.ram_total)} GB`:void 0;return(0,U.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2 border-t border-linie py-3 md:items-center`,W),children:[(0,U.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 flex-col md:col-span-1`,children:[(0,U.jsx)(m,{to:`/homelab/monitoring`,hash:t.id,className:`text-[15px] font-semibold break-words hover:text-lab-text`,children:t.name}),N(t)!==t.name&&(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:N(t)})]}),(0,U.jsxs)(`span`,{role:`cell`,className:i(`schild flex items-center gap-1.5 text-xs`,t.erreichbar===!1?`text-rot-text`:`text-text-3`),children:[t.erreichbar!==null&&(0,U.jsx)(`span`,{"aria-hidden":!0,className:i(`size-2 rounded-full`,t.erreichbar?`bg-gruen`:`bg-rot`)}),t.erreichbar===null?`–`:t.erreichbar?`erreichbar`:`antwortet nicht`]}),(0,U.jsxs)(`span`,{role:`cell`,children:[(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`CPU `}),(0,U.jsx)(K,{wert:n?.cpu,gelb:85,rot:95})]}),(0,U.jsxs)(`span`,{role:`cell`,children:[(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Speicher `}),(0,U.jsx)(K,{wert:n?.ram,gelb:85,rot:95,zusatz:a})]}),(0,U.jsxs)(`span`,{role:`cell`,children:[(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Platte `}),(0,U.jsx)(K,{wert:r,gelb:80,rot:90})]}),(0,U.jsxs)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2`,children:[(0,U.jsx)(`span`,{className:`font-sans text-xs text-text-3 md:hidden`,children:`Läuft seit `}),A(n?.uptime_s)]})]},t.id)})]}),t[0]=r,t[1]=n,t[2]=a}else a=t[2];return a}function pe(e,t){return de(e)-de(t)}function me(e){return[e.id,e.aktuell]}function he(e){let t=(0,H.c)(24),{lage:n,lampen:r,onAnsehen:a}=e,o=n.ziel!==null,s=!o,c=`${n.oben} ${n.mitte}`,l=v[n.art],u=o?`cursor-pointer`:`cursor-default`,d;t[0]!==l||t[1]!==u?(d=i(`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),t[0]=l,t[1]=u,t[2]=d):d=t[2];let f;t[3]===n.oben?f=t[4]:(f=(0,U.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:n.oben}),t[3]=n.oben,t[4]=f);let p;t[5]===n.mitte?p=t[6]:(p=(0,U.jsx)(`span`,{className:`text-center text-[34px] leading-none font-bold tracking-[0.04em] sm:text-[38px]`,children:n.mitte}),t[5]=n.mitte,t[6]=p);let m;t[7]===n.unten?m=t[8]:(m=(0,U.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:n.unten}),t[7]=n.unten,t[8]=m);let h;t[9]!==a||t[10]!==s||t[11]!==c||t[12]!==d||t[13]!==f||t[14]!==p||t[15]!==m?(h=(0,U.jsxs)(`button`,{type:`button`,onClick:a,disabled:s,"aria-label":c,className:d,children:[f,p,m]}),t[9]=a,t[10]=s,t[11]=c,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=h):h=t[16];let g;t[17]===r?g=t[18]:(g=r.map(ge),t[17]=r,t[18]=g);let _;t[19]===g?_=t[20]:(_=(0,U.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}),t[19]=g,t[20]=_);let y;return t[21]!==_||t[22]!==h?(y=(0,U.jsxs)(`section`,{"aria-label":`Lage im Homelab`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[h,_]}),t[21]=_,t[22]=h,t[23]=y):y=t[23],y}function ge(e){return(0,U.jsx)(ae,{lampe:e},e.id)}var q=r(e(),1),_e=(e,t=1)=>e.toFixed(t).replace(`.`,`,`);function J(e){return e==null?`–`:e>=0xe8d4a51000?`${_e(e/0xe8d4a51000)} TB`:e>=1e10?`${Math.round(e/1e9)} GB`:`${_e(e/1e9)} GB`}function ve(e){return e?/^\s*\d{1,2}:\d{2}\s*$/.test(e)?`täglich ${e.trim()}`:`Zeitplan „${e}“`:`ohne Zeitplan`}function ye(e){return e.jobs.length===0?`Kein Sicherungsauftrag in Proxmox`:e.jobs.map(e=>`${ve(e.zeitplan)} auf ${e.speicher??`?`}`).join(`, `)}var Y={ok:`in Ordnung`,gelb:`wird knapp`,rot:`fast voll`},X={ok:`gruen`,gelb:`bernstein`,rot:`rot`,keine:`grau`},be={ok:`var(--reihe-1)`,gelb:`var(--bernstein)`,rot:`var(--rot)`},xe=e=>P(new Date(e*1e3).toISOString());function Z(e){let t=(0,H.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=be[r],u;t[2]!==c||t[3]!==l?(u=(0,U.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,U.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[80%] w-px bg-bernstein/70`}),f=(0,U.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,U.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-erhaben`,children:[u,d,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=p):p=t[10],p}function Q(e){let t=(0,H.c)(16),{titel:n,unter:r,chip:i,chipText:a,children:o}=e,s;t[0]===n?s=t[1]:(s=(0,U.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,U.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,U.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,U.jsx)(k,{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,U.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,U.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 rounded-xl border border-linie bg-erhaben/40 p-4`,children:[d,o]}),t[13]=o,t[14]=d,t[15]=f):f=t[15],f}function Se(e){let t=(0,H.c)(31),{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 a=r,o=`Speicherpool ${n.speicher}`,s=X[n.stufe],c=Y[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,U.jsx)(Z,{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=J(n.belegt),t[6]=n.belegt,t[7]=f);let p;t[8]===n.gesamt?p=t[9]:(p=J(n.gesamt),t[8]=n.gesamt,t[9]=p);let m=n.stufe!==`ok`&&`text-foreground`,h;t[10]===m?h=t[11]:(h=i(m),t[10]=m,t[11]=h);let g;t[12]===n.frei?g=t[13]:(g=J(n.frei),t[12]=n.frei,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,U.jsxs)(`span`,{className:h,children:[g,` frei`]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==a||t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,U.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[a,` % · `,f,` von `,p,` · `,_]}),t[17]=a,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,U.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;return t[24]!==v||t[25]!==y||t[26]!==o||t[27]!==s||t[28]!==c||t[29]!==d?(b=(0,U.jsxs)(Q,{titel:o,unter:`Platten der Container und VMs`,chip:s,chipText:c,children:[d,v,y]}),t[24]=v,t[25]=y,t[26]=o,t[27]=s,t[28]=c,t[29]=d,t[30]=b):b=t[30],b}function Ce(e){let t=(0,H.c)(21),{s:n}=e,r=X[n.stufe],i=Y[n.stufe],a;t[0]!==n.anteil||t[1]!==n.stufe?(a=(0,U.jsx)(Z,{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=J(n.belegt),t[5]=n.belegt,t[6]=s);let c;t[7]===n.gesamt?c=t[8]:(c=J(n.gesamt),t[7]=n.gesamt,t[8]=c);let l;t[9]===n.frei?l=t[10]:(l=J(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,U.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;return t[16]!==r||t[17]!==i||t[18]!==a||t[19]!==u?(d=(0,U.jsxs)(Q,{titel:`Systemplatte`,unter:`Proxmox-Host: Kernel, Sicherungen vor Updates`,chip:r,chipText:i,children:[a,u]}),t[16]=r,t[17]=i,t[18]=a,t[19]=u,t[20]=d):d=t[20],d}function we(e){let t=(0,H.c)(21),{n}=e,r=n.problem?n.stufe===`rot`?`gestört`:`unklar`:Y[n.stufe],a=`NAS ${n.server??``}`,o;t[0]===a?o=t[1]:(o=a.trim(),t[0]=a,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=X[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?(u=n.problem?(0,U.jsx)(`p`,{className:i(`text-sm`,n.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:n.problem}):n.anteil!==null&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Z,{anteil:n.anteil,stufe:n.stufe,name:`NAS ${n.server??``}`}),(0,U.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[Math.round(n.anteil*100),` % · `,J(n.belegt),` von `,J(n.gesamt),` · `,J((n.gesamt??0)-(n.belegt??0)),` frei`]})]}),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]=u):u=t[10];let d=n.erreichbar===!1?`antwortet nicht`:`antwortet`,f=n.eingebunden?`auf dem Proxmox-Host eingebunden`:`nicht eingebunden`,p;t[11]!==d||t[12]!==f?(p=(0,U.jsxs)(`p`,{className:`text-xs text-text-3`,children:[d,` · `,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13];let m;return t[14]!==r||t[15]!==o||t[16]!==c||t[17]!==l||t[18]!==u||t[19]!==p?(m=(0,U.jsxs)(Q,{titel:o,unter:c,chip:l,chipText:r,children:[u,p]}),t[14]=r,t[15]=o,t[16]=c,t[17]=l,t[18]=u,t[19]=p,t[20]=m):m=t[20],m}function Te(e){let t=(0,H.c)(18),{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=ye(n),t[1]=n,t[2]=a);let o=X[n.stufe],s;t[3]===n.probleme?s=t[4]:(s=n.probleme.map(De),t[3]=n.probleme,t[4]=s);let c;t[5]!==n.erfasst||t[6]!==n.stufe||t[7]!==n.zuletzt?(c=n.stufe===`ok`&&(0,U.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Alle `,n.erfasst,` Geräte gesichert`,n.zuletzt?(0,U.jsxs)(U.Fragment,{children:[`, zuletzt `,(0,U.jsx)(`span`,{className:`ziffern`,children:xe(n.zuletzt)})]}):null,`.`]}),t[5]=n.erfasst,t[6]=n.stufe,t[7]=n.zuletzt,t[8]=c):c=t[8];let l;t[9]===n.fehlend?l=t[10]:(l=n.fehlend.length>0&&(0,U.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm`,children:n.fehlend.map(Ee)}),t[9]=n.fehlend,t[10]=l);let u;return t[11]!==i||t[12]!==a||t[13]!==o||t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,U.jsxs)(Q,{titel:`Sicherungen`,unter:a,chip:o,chipText:i,children:[s,c,l]}),t[11]=i,t[12]=a,t[13]=o,t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function Ee(e){return(0,U.jsxs)(`li`,{className:`text-bernstein`,children:[e.name,`: `,e.zuletzt?(0,U.jsxs)(U.Fragment,{children:[`zuletzt `,(0,U.jsx)(`span`,{className:`ziffern`,children:xe(e.zuletzt)})]}):`noch nie gesichert`]},e.ziel)}function De(e){return(0,U.jsx)(`p`,{className:`text-sm text-rot-text`,children:e},e)}function Oe(e){let t=(0,H.c)(44),{daten:n,laeuft:r,gesperrt:i,onAktion:o}=e,s=r===void 0?null:r,c=i!==void 0&&i,[l,u]=(0,q.useState)(null),d;t[0]!==n.pools||t[1]!==n.systemplatte?.stufe?(d=n.pools.some(Me)||(n.systemplatte?.stufe??`ok`)!==`ok`,t[0]=n.pools,t[1]=n.systemplatte?.stufe,t[2]=d):d=t[2];let f=d,p,m,h;if(t[3]!==n.empfehlungen||t[4]!==n.nas||t[5]!==n.pools||t[6]!==n.sicherungen||t[7]!==n.systemplatte||t[8]!==c||t[9]!==f||t[10]!==s||t[11]!==o){let e=n.empfehlungen.reduce(je,0);p=`flex flex-col gap-4`;let r;t[15]===n.pools?r=t[16]:(r=n.pools.map(Ae),t[15]=n.pools,t[16]=r);let i;t[17]===n.systemplatte?i=t[18]:(i=n.systemplatte&&(0,U.jsx)(Ce,{s:n.systemplatte}),t[17]=n.systemplatte,t[18]=i);let l;t[19]===n.nas?l=t[20]:(l=n.nas.length>0?n.nas.map(ke):(0,U.jsx)(Q,{titel:`NAS`,chip:`grau`,chipText:`keins`,children:(0,U.jsx)(`p`,{className:`text-sm text-text-3`,children:`Auf dem Proxmox-Host ist kein Netzlaufwerk eingebunden.`})}),t[19]=n.nas,t[20]=l);let d;t[21]===n.sicherungen?d=t[22]:(d=(0,U.jsx)(Te,{s:n.sicherungen}),t[21]=n.sicherungen,t[22]=d),t[23]!==d||t[24]!==r||t[25]!==i||t[26]!==l?(m=(0,U.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-4`,children:[r,i,l,d]}),t[23]=d,t[24]=r,t[25]=i,t[26]=l,t[27]=m):m=t[27],h=n.empfehlungen.length>0&&(0,U.jsxs)(`details`,{open:f,className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-3`,children:[(0,U.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[(0,U.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,U.jsx)(a,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Was Platz bringt`]}),(0,U.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[n.empfehlungen.length,` `,n.empfehlungen.length===1?`Vorschlag`:`Vorschläge`,e>0&&` · bis zu ${J(e)}`]})]}),(0,U.jsx)(`ol`,{className:`flex flex-col`,children:n.empfehlungen.map(e=>(0,U.jsx)(Pe,{e,laeuft:s,gesperrt:c||!o,onFrage:u},e.titel))})]}),t[3]=n.empfehlungen,t[4]=n.nas,t[5]=n.pools,t[6]=n.sicherungen,t[7]=n.systemplatte,t[8]=c,t[9]=f,t[10]=s,t[11]=o,t[12]=p,t[13]=m,t[14]=h}else p=t[12],m=t[13],h=t[14];let g=!!l,_=l?`Proxmox-Host: ${l.label}`:``,v=l?.frage??``,y=l?.label??``,b;t[28]!==l||t[29]!==o?(b=()=>{l&&o&&o(l),u(null)},t[28]=l,t[29]=o,t[30]=b):b=t[30];let x;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>u(null),t[31]=x):x=t[31];let S;t[32]!==c||t[33]!==y||t[34]!==b||t[35]!==g||t[36]!==_||t[37]!==v?(S=(0,U.jsx)(I,{offen:g,titel:_,text:v,knopf:y,gesperrt:c,onJa:b,onNein:x}),t[32]=c,t[33]=y,t[34]=b,t[35]=g,t[36]=_,t[37]=v,t[38]=S):S=t[38];let C;return t[39]!==S||t[40]!==p||t[41]!==m||t[42]!==h?(C=(0,U.jsxs)(`div`,{className:p,children:[m,h,S]}),t[39]=S,t[40]=p,t[41]=m,t[42]=h,t[43]=C):C=t[43],C}function ke(e){return(0,U.jsx)(we,{n:e},e.ziel)}function Ae(e){return(0,U.jsx)(Se,{p:e},e.speicher)}function je(e,t){return e+(t.platz??0)}function Me(e){return e.stufe!==`ok`}var Ne={pool:`Speicherpool`,systemplatte:`Systemplatte des Hosts`};function Pe(e){let t=(0,H.c)(23),{e:n,laeuft:r,gesperrt:i,onFrage:a}=e,o;t[0]===n.titel?o=t[1]:(o=(0,U.jsx)(`span`,{className:`text-[15px] font-medium break-words`,children:n.titel}),t[0]=n.titel,t[1]=o);let s;t[2]===n.platz?s=t[3]:(s=n.platz?`≈ ${J(n.platz)}`:`Größe unbekannt`,t[2]=n.platz,t[3]=s);let c;t[4]===s?c=t[5]:(c=(0,U.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:s}),t[4]=s,t[5]=c);let l;t[6]!==o||t[7]!==c?(l=(0,U.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[o,c]}),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;t[9]===n.ort?u=t[10]:(u=n.ort&&(0,U.jsx)(`span`,{className:`schild text-xs text-text-3`,children:Ne[n.ort]??n.ort}),t[9]=n.ort,t[10]=u);let d;t[11]===n.text?d=t[12]:(d=(0,U.jsx)(`p`,{className:`text-sm break-words text-text-2`,children:n.text}),t[11]=n.text,t[12]=d);let f;t[13]!==n.aktion||t[14]!==i||t[15]!==r||t[16]!==a?(f=n.aktion&&(r?(0,U.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):(0,U.jsx)(F,{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]=f):f=t[17];let p;return t[18]!==l||t[19]!==u||t[20]!==d||t[21]!==f?(p=(0,U.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-1`,children:[l,u,d,f]}),t[18]=l,t[19]=u,t[20]=d,t[21]=f,t[22]=p):p=t[22],p}var Fe={snapshot:`Snapshot`,sicherung:`Sicherung`,keiner:`kein Rückweg`};function Ie(e){let t=(0,H.c)(24),{anzahl:n,gesperrt:r}=e,[i,a]=(0,q.useState)(!1),o=ee(i),s=_(),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,U.jsxs)(F,{disabled:u,onClick:d,children:[`Alle aktualisieren`,f]}),t[3]=u,t[4]=f,t[5]=p):p=t[5];let m=l.length?`${l.length} Updates starten`:`Starten`,h=s.isPending||o.isPending||l.length===0,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(!1),t[6]=g):g=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,U.jsx)(`p`,{className:`text-sm text-text-2`,children:`Die Reihenfolge wird gelesen …`}):o.error?(0,U.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Der Plan lässt sich nicht lesen: `,o.error.message]}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1`,children:[(0,U.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:l.map(Le)}),o.data?.hinweis&&(0,U.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]!==m||t[18]!==h||t[19]!==v?(b=(0,U.jsx)(I,{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:m,gesperrt:h,onNein:g,onJa:v,children:y}),t[15]=i,t[16]=y,t[17]=m,t[18]=h,t[19]=v,t[20]=b):b=t[20];let x;return t[21]!==b||t[22]!==p?(x=(0,U.jsxs)(U.Fragment,{children:[p,b]}),t[21]=b,t[22]=p,t[23]=x):x=t[23],x}function Le(e,t){return(0,U.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-baseline gap-2 text-sm`,children:[(0,U.jsxs)(`span`,{className:`ziffern text-text-3`,children:[t+1,`.`]}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`font-medium text-foreground`,children:e.name}),` `,(0,U.jsxs)(`span`,{className:`text-text-2`,children:[`· `,e.was]})]}),(0,U.jsx)(`span`,{className:i(`text-xs`,e.rueckweg_art===`keiner`?`text-bernstein`:`text-text-3`),children:Fe[e.rueckweg_art]})]},`${e.ziel}-${e.baustein}`)}var Re={wartet:{Symbol:oe,farbe:`text-text-3`,text:`wartet`},laeuft:{Symbol:ce,farbe:`text-cyan`,text:`läuft`},eingespielt:{Symbol:C,farbe:`text-gruen`,text:`eingespielt`},zurueckgerollt:{Symbol:ue,farbe:`text-bernstein`,text:`zurückgerollt`},fehler:{Symbol:se,farbe:`text-rot`,text:`Fehler`},uebersprungen:{Symbol:le,farbe:`text-text-3`,text:`übersprungen`}},ze={laeuft:{art:`cyan`,text:`läuft`},fertig:{art:`gruen`,text:`fertig`},abgebrochen:{art:`bernstein`,text:`abgebrochen`}};function Be(e){let t=(0,H.c)(31),{lauf:n}=e,r;t[0]===n.schritte?r=t[1]:(r=n.schritte.filter(He),t[0]=n.schritte,t[1]=r);let i=r.length,a=ze[n.status],o;t[2]!==i||t[3]!==n.schritte.length?(o=(0,U.jsxs)(`span`,{className:`schild text-sm tracking-[0.18em] text-cyan`,children:[`Alle aktualisieren · `,i,` von `,n.schritte.length]}),t[2]=i,t[3]=n.schritte.length,t[4]=o):o=t[4];let s;t[5]===n.start?s=t[6]:(s=P(new Date(n.start*1e3).toISOString()),t[5]=n.start,t[6]=s);let c;t[7]===s?c=t[8]:(c=(0,U.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:s}),t[7]=s,t[8]=c);let l;t[9]!==a.art||t[10]!==a.text?(l=(0,U.jsx)(k,{art:a.art,children:a.text}),t[9]=a.art,t[10]=a.text,t[11]=l):l=t[11];let u;t[12]!==c||t[13]!==l?(u=(0,U.jsxs)(`span`,{className:`flex items-center gap-2`,children:[c,l]}),t[12]=c,t[13]=l,t[14]=u):u=t[14];let d;t[15]!==o||t[16]!==u?(d=(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[o,u]}),t[15]=o,t[16]=u,t[17]=d):d=t[17];let f=`${i/Math.max(1,n.schritte.length)*100}%`,p;t[18]===f?p=t[19]:(p=(0,U.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,U.jsx)(`div`,{className:`h-full rounded-full bg-cyan transition-all`,style:{width:f}})}),t[18]=f,t[19]=p);let m;t[20]===n.schritte?m=t[21]:(m=n.schritte.map(Ve),t[20]=n.schritte,t[21]=m);let h;t[22]===m?h=t[23]:(h=(0,U.jsx)(`ol`,{className:`m-0 grid list-none gap-x-6 gap-y-1.5 p-0 sm:grid-cols-2`,children:m}),t[22]=m,t[23]=h);let g;t[24]===n.text?g=t[25]:(g=n.text&&(0,U.jsx)(`p`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=g);let _;return t[26]!==h||t[27]!==g||t[28]!==d||t[29]!==p?(_=(0,U.jsxs)(`section`,{"aria-label":`Alle aktualisieren`,className:`flex flex-col gap-3 rounded-xl border border-cyan-rand/60 bg-cyan-grund/40 p-4`,children:[d,p,h,g]}),t[26]=h,t[27]=g,t[28]=d,t[29]=p,t[30]=_):_=t[30],_}function Ve(e){let t=Re[e.status];return(0,U.jsxs)(`li`,{className:`flex items-start gap-2 text-sm`,children:[(0,U.jsx)(t.Symbol,{className:i(`mt-0.5 size-4 shrink-0`,t.farbe,e.status===`laeuft`&&`motion-safe:animate-spin`),"aria-hidden":!0}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,U.jsxs)(`span`,{className:`text-text-3`,children:[`· `,e.was,` · `,t.text]}),e.text&&e.status!==`eingespielt`&&(0,U.jsx)(`span`,{className:`block text-xs text-text-3`,children:e.text})]})]},`${e.ziel}-${e.baustein}`)}function He(e){return![`wartet`,`laeuft`].includes(e.status)}var Ue=`md:grid-cols-[minmax(0,1.1fr)_minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,0.9fr)_11.5rem]`;function We(e){let t=(0,H.c)(26),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?b(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,U.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,U.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?l(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,U.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,U.jsxs)(`span`,{className:`text-cyan`,children:[`→ `,r.verfuegbar]}),t[7]=r.verfuegbar,t[8]=r.zustand,t[9]=c):c=t[9];let u;t[10]===r.zustand?u=t[11]:(u=r.zustand===`aktuell`&&(0,U.jsx)(`span`,{className:`font-sans text-xs text-gruen-text`,children:`aktuell`}),t[10]=r.zustand,t[11]=u);let d;t[12]===r.zustand?d=t[13]:(d=r.zustand===`unbekannt`&&(0,U.jsx)(`span`,{className:`font-sans text-xs text-text-3`,children:`unklar`}),t[12]=r.zustand,t[13]=d);let f;t[14]!==s||t[15]!==c||t[16]!==u||t[17]!==d?(f=(0,U.jsxs)(`span`,{className:`ziffern flex flex-wrap items-baseline gap-x-2 text-sm`,children:[s,c,u,d]}),t[14]=s,t[15]=c,t[16]=u,t[17]=d,t[18]=f):f=t[18];let p;t[19]!==r.aktion||t[20]!==r.grund||t[21]!==r.zustand?(p=r.zustand===`neu`&&!r.aktion&&r.grund&&(0,U.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]=p):p=t[22];let m;return t[23]!==f||t[24]!==p?(m=(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[f,p]}),t[23]=f,t[24]=p,t[25]=m):m=t[25],m}function Ge(e){let t=(0,H.c)(22),{b:n,onSuchen:r,gesperrt:i}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let a=n.id===`docker`,s;if(n.zustand===`neu`){let e=n.kurz||`Update bereit`,r;t[1]===e?r=t[2]:(r=(0,U.jsx)(`span`,{className:`text-cyan`,children:e}),t[1]=e,t[2]=r),s=r}else if(n.zustand===`aktuell`){let e=a?`Images aktuell`:`aktuell`,n;t[3]===e?n=t[4]:(n=(0,U.jsx)(`span`,{className:`text-gruen-text`,children:e}),t[3]=e,t[4]=n),s=n}else{let e;t[5]===n.grund?e=t[6]:(e=re(n.grund),t[5]=n.grund,t[6]=e);let r=e,i=n.grund??void 0,o=a?`Images unklar`:`unklar`,c;t[7]===r?c=t[8]:(c=r&&(0,U.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,r]}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==o||t[11]!==c?(l=(0,U.jsxs)(`span`,{className:`text-text-2`,title:i,children:[o,c]}),t[9]=i,t[10]=o,t[11]=c,t[12]=l):l=t[12],s=l}let c=n.zustand===`unbekannt`?n.aktion:null,l;t[13]===s?l=t[14]:(l=(0,U.jsx)(`span`,{className:`min-w-0`,children:s}),t[13]=s,t[14]=l);let u;t[15]!==i||t[16]!==r||t[17]!==c?(u=c&&(0,U.jsx)(F,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":c.label,title:c.label,disabled:i,onClick:()=>r(c),children:(0,U.jsx)(o,{})}),t[15]=i,t[16]=r,t[17]=c,t[18]=u):u=t[18];let d;return t[19]!==l||t[20]!==u?(d=(0,U.jsxs)(`span`,{className:`flex items-center gap-1 text-sm`,children:[l,u]}),t[19]=l,t[20]=u,t[21]=d):d=t[21],d}var Ke={app:`App updaten`,os:`Pakete einspielen`,pakete:`Pakete einspielen`};function qe(e){let t=(0,H.c)(54),{ziel:n,laeuft:r,gesperrt:a,onFrage:o}=e,s;t[0]===n?s=t[1]:(s=T(n),t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=b(n),t[2]=n,t[3]=l);let d=l,f,p,m,h,g,_,v,y,x;if(t[4]!==c||t[5]!==a||t[6]!==r||t[7]!==o||t[8]!==d||t[9]!==n){let e=n.bausteine.filter(Je),s=u(n)>=2;_=`row`;let l=s&&`opacity-75`;t[19]===l?v=t[20]:(v=i(`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-linie py-3.5 md:items-center`,Ue,l),t[19]=l,t[20]=v);let b;t[21]===n.name?b=t[22]:(b=(0,U.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[21]=n.name,t[22]=b);let S;t[23]===n?S=t[24]:(S=N(n)!==n.name&&(0,U.jsx)(`span`,{className:`text-sm text-text-3`,children:N(n)}),t[23]=n,t[24]=S),t[25]!==b||t[26]!==S?(y=(0,U.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[b,S]}),t[25]=b,t[26]=S,t[27]=y):y=t[27];let C;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`App `}),t[28]=C):C=t[28],t[29]!==c||t[30]!==n?(x=(0,U.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[C,(0,U.jsx)(We,{ziel:n,b:c})]}),t[29]=c,t[30]=n,t[31]=x):x=t[31];let w;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,U.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Pakete `}),t[32]=w):w=t[32];let T=a||!!r,E;t[33]!==o||t[34]!==n?(E=e=>o({ziel:n,aktion:e}),t[33]=o,t[34]=n,t[35]=E):E=t[35],t[36]!==d||t[37]!==T||t[38]!==E?(f=(0,U.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[w,(0,U.jsx)(Ge,{b:d,gesperrt:T,onSuchen:E})]}),t[36]=d,t[37]=T,t[38]=E,t[39]=f):f=t[39];let D=e.length?ne(n):``;t[40]===D?p=t[41]:(p=(0,U.jsx)(`span`,{role:`cell`,className:`text-sm text-text-3`,children:D}),t[40]=D,t[41]=p),m=`cell`,h=`flex flex-wrap gap-2 md:flex-col md:items-stretch`,g=r?(0,U.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):e.map(e=>(0,U.jsx)(F,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>e.aktion&&o({ziel:n,aktion:e.aktion}),children:Ke[e.id]??e.aktion?.label??`Updaten`},e.id)),t[4]=c,t[5]=a,t[6]=r,t[7]=o,t[8]=d,t[9]=n,t[10]=f,t[11]=p,t[12]=m,t[13]=h,t[14]=g,t[15]=_,t[16]=v,t[17]=y,t[18]=x}else f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=t[16],y=t[17],x=t[18];let S;t[42]!==m||t[43]!==h||t[44]!==g?(S=(0,U.jsx)(`span`,{role:m,className:h,children:g}),t[42]=m,t[43]=h,t[44]=g,t[45]=S):S=t[45];let C;return t[46]!==f||t[47]!==p||t[48]!==S||t[49]!==_||t[50]!==v||t[51]!==y||t[52]!==x?(C=(0,U.jsxs)(`div`,{role:_,className:v,children:[y,x,f,p,S]}),t[46]=f,t[47]=p,t[48]=S,t[49]=_,t[50]=v,t[51]=y,t[52]=x,t[53]=C):C=t[53],C}function Je(e){return e.zustand===`neu`&&e.aktion}function Ye(e){let t=(0,H.c)(42),{ziele:n,laufend:r,gesperrt:a,onAktion:o}=e,[s,c]=(0,q.useState)(null),l,u,d,f,p,m;if(t[0]!==a||t[1]!==r||t[2]!==n){let e=[...n].sort(Ze),o;t[9]===n?o=t[10]:(o=n.filter(Xe),t[9]=n,t[10]=o),l=o.length,u=`table`,d=`Updates je Gerät`,f=`flex flex-col`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,U.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,Ue),children:[(0,U.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,U.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,U.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),t[11]=p):p=t[11];let s;t[12]!==a||t[13]!==r?(s=e=>(0,U.jsx)(qe,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:a||r.has(e.id),onFrage:c},e.id),t[12]=a,t[13]=r,t[14]=s):s=t[14],m=e.map(s),t[0]=a,t[1]=r,t[2]=n,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m}else l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8];let h;t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,U.jsxs)(`div`,{role:u,"aria-label":d,className:f,children:[p,m]}),t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]!==l||t[22]!==n.length?(g=l>0&&l===n.length&&(0,U.jsx)(k,{art:`gruen`,children:`Alles aktuell`}),t[21]=l,t[22]=n.length,t[23]=g):g=t[23];let _=!!s,v=s?`${s.ziel.name}: ${s.aktion.label}`:``,y=s?.aktion.frage??``,b=s?.aktion.label??``,x;t[24]===s?.aktion.pfad?x=t[25]:(x=s?.aktion.pfad.endsWith(`/neustart`),t[24]=s?.aktion.pfad,t[25]=x);let S=!!x,C;t[26]!==s||t[27]!==o?(C=()=>{s&&o(s.aktion),c(null)},t[26]=s,t[27]=o,t[28]=C):C=t[28];let w;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>c(null),t[29]=w):w=t[29];let T;t[30]!==a||t[31]!==y||t[32]!==b||t[33]!==S||t[34]!==C||t[35]!==_||t[36]!==v?(T=(0,U.jsx)(I,{offen:_,titel:v,text:y,knopf:b,gefahr:S,gesperrt:a,onJa:C,onNein:w}),t[30]=a,t[31]=y,t[32]=b,t[33]=S,t[34]=C,t[35]=_,t[36]=v,t[37]=T):T=t[37];let E;return t[38]!==T||t[39]!==h||t[40]!==g?(E=(0,U.jsxs)(U.Fragment,{children:[h,g,T]}),t[38]=T,t[39]=h,t[40]=g,t[41]=E):E=t[41],E}function Xe(e){return u(e)===3}function Ze(e,t){return u(e)-u(t)}var Qe=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],$e={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`}},$=e=>P(new Date(e*1e3).toISOString());function et(){let e=(0,H.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.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,U.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,U.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,U.jsxs)(U.Fragment,{children:[t,n,(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,U.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:Qe.map(tt)})]}),(0,U.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 tt(e){return(0,U.jsx)(`li`,{children:(0,U.jsx)(k,{children:e})},e)}function nt(e){let t=(0,H.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,U.jsx)(k,{art:`rot`,children:`Antwortet nicht`}):(0,U.jsx)(k,{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,U.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,U.jsx)(et,{}),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,U.jsx)(M,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function rt(e){let t=(0,H.c)(10),{hinweise:n}=e,r=n.some(at)?`rot`:`bernstein`,i;t[0]!==n.length||t[1]!==r?(i=(0,U.jsxs)(k,{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(it),t[3]=n,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,U.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,U.jsx)(M,{titel:`Hinweise`,id:`hinweise`,rechts:i,children:o}),t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function it(e){return(0,U.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,U.jsx)(`span`,{className:e.stufe===`rot`?`text-[15px] font-medium text-rot-text`:`text-[15px] font-medium text-bernstein`,children:e.titel}),(0,U.jsx)(`span`,{className:`text-sm text-text-2`,children:e.text})]},e.id)}function at(e){return e.stufe===`rot`}function ot(e){let t=(0,H.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(ct).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.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(st)}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,U.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function st(e){let t=e.ergebnis?$e[e.ergebnis]:{art:`grau`,text:`unterbrochen`};return(0,U.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,U.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,U.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:$(e.start)}),(0,U.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,U.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,U.jsx)(k,{art:t.art,children:t.text})})]}),e.text&&(0,U.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function ct(e){return e.status!==`laeuft`}function lt(e){let t=(0,H.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${$(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,U.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,U.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=$(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,U.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 ut(){let e=(0,H.c)(20),t=p(),n=te(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=s(r),a=x(r),o=f(r),c=E(),l=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(j,{text:`Wird gelesen …`}),e[0]=t):t=e[0],l=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,U.jsx)(nt,{partner:n.data}):(0,U.jsx)(j,{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],l=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(j,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],l=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,U.jsx)(j,{fehler:!0,text:t}),e[5]=t,e[6]=n),l=n}let u;if(e[7]!==a.data?.laeufe){u=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&u.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=u}else u=e[8];let d;e[9]===a.data?.laeufe?d=e[10]:(d=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=d);let m;e[11]===o.data?.hinweise?m=e[12]:(m=o.data?.hinweise??[],e[11]=o.data?.hinweise,e[12]=m);let h;return e[13]!==c||e[14]!==l||e[15]!==i.data||e[16]!==u||e[17]!==d||e[18]!==m?(h={ersatz:l,stand:i.data,laufend:u,laeufe:d,hinweise:m,aktion:c},e[13]=c,e[14]=l,e[15]=i.data,e[16]=u,e[17]=d,e[18]=m,e[19]=h):h=e[19],h}function dt(){let e=(0,H.c)(46),t=w(),{ersatz:n,stand:r,laufend:i,hinweise:a,aktion:o}=ut(),s=S(`1h`,!!r),c=h(!!r);if(n||!r)return n;let l,u;e[0]!==a||e[1]!==i.size||e[2]!==r?(l=r.bericht?$(r.bericht.empfangen):null,u=ie(r,a,i.size,l),e[0]=a,e[1]=i.size,e[2]=r,e[3]=l,e[4]=u):(l=e[3],u=e[4]);let f=u,p;if(e[5]!==i||e[6]!==r.ziele){let t;e[8]===i?t=e[9]:(t=e=>D(e,i.has(e.id)),e[8]=i,e[9]=t),p=r.ziele.map(t),e[5]=i,e[6]=r.ziele,e[7]=p}else p=e[7];let g;e[10]!==f.ziel||e[11]!==t?(g=()=>{f.ziel===`updates`?t({to:`/homelab/updates`}):f.ziel&&document.getElementById(f.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[10]=f.ziel,e[11]=t,e[12]=g):g=e[12];let _;e[13]!==f||e[14]!==p||e[15]!==g?(_=(0,U.jsx)(he,{lage:f,lampen:p,onAnsehen:g}),e[13]=f,e[14]=p,e[15]=g,e[16]=_):_=e[16];let v;e[17]===r?v=e[18]:(v=(0,U.jsx)(lt,{stand:r}),e[17]=r,e[18]=v);let y;e[19]===a?y=e[20]:(y=a.length>0&&(0,U.jsx)(rt,{hinweise:a}),e[19]=a,e[20]=y);let b;e[21]===l?b=e[22]:(b=l&&(0,U.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,l]}),e[21]=l,e[22]=b);let x;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,U.jsxs)(m,{to:`/homelab/monitoring`,className:`inline-flex items-center gap-1 text-sm text-lab-text hover:underline`,children:[`Monitoring `,(0,U.jsx)(d,{className:`size-3.5`,"aria-hidden":!0})]}),e[23]=x):x=e[23];let C;e[24]===b?C=e[25]:(C=(0,U.jsxs)(`span`,{className:`flex items-center gap-3`,children:[b,x]}),e[24]=b,e[25]=C);let T=s.data?.geraete,E;e[26]!==r.ziele||e[27]!==T?(E=(0,U.jsx)(fe,{ziele:r.ziele,messwerte:T}),e[26]=r.ziele,e[27]=T,e[28]=E):E=e[28];let O;e[29]===s.isError?O=e[30]:(O=s.isError&&(0,U.jsx)(`p`,{className:`text-xs text-text-3`,children:`CPU und Speicher erscheinen, sobald der Ausführer Messwerte schickt.`}),e[29]=s.isError,e[30]=O);let k;e[31]!==E||e[32]!==O||e[33]!==C?(k=(0,U.jsxs)(M,{titel:`Geräte`,id:`geraete`,rechts:C,children:[E,O]}),e[31]=E,e[32]=O,e[33]=C,e[34]=k):k=e[34];let A;e[35]!==o||e[36]!==i||e[37]!==c.data||e[38]!==r.ausfuehrer?(A=c.data?.bericht&&(0,U.jsx)(M,{titel:`Speicher und Sicherungen`,id:`speicher`,children:(0,U.jsx)(Oe,{daten:c.data,laeuft:i.get(`pve`)??null,gesperrt:o.isPending||i.has(`pve`)||!r.ausfuehrer.verbunden,onAktion:e=>o.mutate(e)})}),e[35]=o,e[36]=i,e[37]=c.data,e[38]=r.ausfuehrer,e[39]=A):A=e[39];let j;return e[40]!==k||e[41]!==A||e[42]!==_||e[43]!==v||e[44]!==y?(j=(0,U.jsxs)(U.Fragment,{children:[_,v,y,k,A]}),e[40]=k,e[41]=A,e[42]=_,e[43]=v,e[44]=y,e[45]=j):j=e[45],j}function ft(){let e=(0,H.c)(29),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=ut(),o=O(!!n);if(t||!n)return t;let s=o.data?.sammellauf??null,c=s?.status===`laeuft`,l;e[0]===n.ziele?l=e[1]:(l=y(n.ziele).filter(pt),e[0]=n.ziele,e[1]=l);let u=l.length,d=a.isPending||c||!n.ausfuehrer.verbunden,f;e[2]!==u||e[3]!==d?(f=(0,U.jsx)(Ie,{anzahl:u,gesperrt:d}),e[2]=u,e[3]=d,e[4]=f):f=e[4];let p;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,U.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]=p):p=e[5];let m;e[6]===n?m=e[7]:(m=(0,U.jsx)(lt,{stand:n}),e[6]=n,e[7]=m);let h;e[8]!==s||e[9]!==c||e[10]!==n.bericht?.empfangen?(h=s&&(c||s.ende&&(n.bericht?.empfangen??0)-s.ende<21600)&&(0,U.jsx)(Be,{lauf:s}),e[8]=s,e[9]=c,e[10]=n.bericht?.empfangen,e[11]=h):h=e[11];let g=a.isPending||c||!n.ausfuehrer.verbunden,_;e[12]===a?_=e[13]:(_=e=>a.mutate(e),e[12]=a,e[13]=_);let v;e[14]!==r||e[15]!==n.ziele||e[16]!==g||e[17]!==_?(v=(0,U.jsx)(Ye,{ziele:n.ziele,laufend:r,gesperrt:g,onAktion:_}),e[14]=r,e[15]=n.ziele,e[16]=g,e[17]=_,e[18]=v):v=e[18];let b;e[19]!==f||e[20]!==m||e[21]!==h||e[22]!==v?(b=(0,U.jsxs)(M,{titel:`Updates`,rechts:f,children:[p,m,h,v]}),e[19]=f,e[20]=m,e[21]=h,e[22]=v,e[23]=b):b=e[23];let x;e[24]===i?x=e[25]:(x=(0,U.jsx)(M,{titel:`Verlauf`,children:(0,U.jsx)(ot,{laeufe:i})}),e[24]=i,e[25]=x);let S;return e[26]!==x||e[27]!==b?(S=(0,U.jsxs)(U.Fragment,{children:[b,x]}),e[26]=x,e[27]=b,e[28]=S):S=e[28],S}function pt(e){return e.baustein.aktion}export{dt as HomelabSeite,ft as HomelabUpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/HomelabProtokoll-NgNeh7ai.js b/frontend/dist/assets/HomelabProtokoll-GISm8NQJ.js similarity index 97% rename from frontend/dist/assets/HomelabProtokoll-NgNeh7ai.js rename to frontend/dist/assets/HomelabProtokoll-GISm8NQJ.js index c211680..1b253ec 100644 --- a/frontend/dist/assets/HomelabProtokoll-NgNeh7ai.js +++ b/frontend/dist/assets/HomelabProtokoll-GISm8NQJ.js @@ -1 +1 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-T7IsaTwB.js";import{t as o}from"./search-B5rIIYDK.js";import{B as s,G as c,Ht as l,J as u,Kt as d,p as f,tt as p,u as m}from"./index-FvHAYExN.js";var h={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};h.node;var g=d(h),_={name:`cog`,size:24,node:[[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`circle`,{cx:`12`,cy:`12`,r:`8`,key:`46899m`}]]};_.node;var v=d(_),y={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};y.node;var b=d(y),x=t(),S=r(e(),1),C=n(),w=[{id:`alle`,name:`Alles`},{id:`lauf`,name:`Updates`},{id:`auftrag`,name:`Ausführer`},{id:`hinweis`,name:`Hinweise`},{id:`meldung`,name:`Meldungen`},{id:`pflege`,name:`Pflege`}],T={auftrag:v,lauf:l,sammellauf:l,hinweis:b,meldung:g,pflege:o},E={ok:{punkt:`bg-gruen`,text:`text-gruen-text`,wort:`ok`},info:{punkt:`bg-cyan`,text:`text-cyan-text`,wort:`Info`},warn:{punkt:`bg-bernstein`,text:`text-bernstein`,wort:`Warnung`},fehler:{punkt:`bg-rot`,text:`text-rot-text`,wort:`Fehler`}},D=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`}),O=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`}),k=new Intl.DateTimeFormat(`sv-SE`,{timeZone:`Europe/Berlin`});function A(e){let t=k.format(new Date),n=k.format(new Date(Date.now()-864e5)),r=k.format(new Date(e*1e3));return r===t?`Heute`:r===n?`Gestern`:D.format(new Date(e*1e3))}function j(e){let t=(0,x.c)(37),{e:n,geraet:r}=e,[o,s]=(0,S.useState)(!1),c=E[n.stufe]??E.info,l=T[n.art]??v,u;t[0]===n.zeit?u=t[1]:(u=O.format(new Date(n.zeit*1e3)),t[0]=n.zeit,t[1]=u);let d;t[2]===u?d=t[3]:(d=(0,C.jsx)(`span`,{className:`ziffern pt-0.5 text-xs text-text-3`,children:u}),t[2]=u,t[3]=d);let f;t[4]===c.punkt?f=t[5]:(f=i(`size-2.5 rounded-full`,c.punkt),t[4]=c.punkt,t[5]=f);let p;t[6]===f?p=t[7]:(p=(0,C.jsx)(`span`,{className:`flex flex-col items-center pt-1`,children:(0,C.jsx)(`span`,{"aria-hidden":!0,className:f})}),t[6]=f,t[7]=p);let m;t[8]===l?m=t[9]:(m=(0,C.jsx)(l,{className:`size-3.5 shrink-0 text-text-3`,"aria-hidden":!0}),t[8]=l,t[9]=m);let h=n.stufe===`fehler`||n.stufe===`warn`?c.text:`text-foreground`,g;t[10]===h?g=t[11]:(g=i(h),t[10]=h,t[11]=g);let _;t[12]!==n.titel||t[13]!==g?(_=(0,C.jsx)(`span`,{className:g,children:n.titel}),t[12]=n.titel,t[13]=g,t[14]=_):_=t[14];let y;t[15]===r?y=t[16]:(y=r&&(0,C.jsx)(`span`,{className:`rounded-md bg-lab-grund px-1.5 text-xs text-lab-text`,children:r}),t[15]=r,t[16]=y);let b;t[17]===c.wort?b=t[18]:(b=(0,C.jsxs)(`span`,{className:`sr-only`,children:[`(`,c.wort,`)`]}),t[17]=c.wort,t[18]=b);let w;t[19]!==b||t[20]!==m||t[21]!==_||t[22]!==y?(w=(0,C.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 text-[15px]`,children:[m,_,y,b]}),t[19]=b,t[20]=m,t[21]=_,t[22]=y,t[23]=w):w=t[23];let D;t[24]===n.text?D=t[25]:(D=n.text&&(0,C.jsx)(`span`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=D);let k;t[26]!==n.details||t[27]!==o?(k=n.details&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),"aria-expanded":o,className:`inline-flex h-8 items-center gap-1 self-start text-xs text-cyan hover:underline`,children:[(0,C.jsx)(a,{className:i(`size-3.5 transition-transform`,o&&`rotate-90`),"aria-hidden":!0}),o?`Ausgabe verbergen`:`Ausgabe zeigen`]}),o&&(0,C.jsx)(`pre`,{className:`ziffern m-0 max-h-72 overflow-auto rounded-md border border-linie bg-[#0b0d0f] p-2.5 text-xs whitespace-pre-wrap text-text-2`,children:n.details})]}),t[26]=n.details,t[27]=o,t[28]=k):k=t[28];let A;t[29]!==w||t[30]!==D||t[31]!==k?(A=(0,C.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[w,D,k]}),t[29]=w,t[30]=D,t[31]=k,t[32]=A):A=t[32];let j;return t[33]!==A||t[34]!==d||t[35]!==p?(j=(0,C.jsxs)(`li`,{className:`grid grid-cols-[64px_18px_minmax(0,1fr)] gap-x-3 border-t border-linie py-2.5 first:border-t-0`,children:[d,p,A]}),t[33]=A,t[34]=d,t[35]=p,t[36]=j):j=t[36],j}function M(){let e=(0,x.c)(16),t=u(),n=p(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),[a,o]=(0,S.useState)(`alle`),[l,d]=(0,S.useState)(!1),h=c(r,l),g=new Map((s(r).data?.ziele??[]).map(N));if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(f,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(f,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}let _=(h.data?.eintraege??[]).filter(e=>a===`alle`||e.art===a||a===`lauf`&&e.art===`sammellauf`),v=[];for(let e of _){let t=A(e.zeit);v.at(-1)?.titel!==t&&v.push({titel:t,eintraege:[]}),v.at(-1).eintraege.push(e)}let y=m,b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,C.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was der Homelab-Teil getan hat: Aufträge an den Ausführer auf dem Proxmox-Host, Update-Läufe, Hinweise, gesendete Meldungen und die nächtliche Paketsuche.`}),e[2]=b):b=e[2];let T;e[3]===a?T=e[4]:(T=w.map(e=>(0,C.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-pressed":a===e.id,className:i(`h-9 rounded-full border px-3.5 text-sm`,a===e.id?`border-lab-rand bg-lab-grund text-lab-text`:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),e[3]=a,e[4]=T);let E;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>d(e.target.checked),e[5]=E):E=e[5];let D;e[6]===l?D=e[7]:(D=(0,C.jsxs)(`label`,{className:`ml-auto flex h-9 cursor-pointer items-center gap-2 text-sm text-text-2`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:l,onChange:E,className:`size-4 accent-[var(--lab)]`}),`Berichte zeigen (alle 10 min)`]}),e[6]=l,e[7]=D);let O;e[8]!==T||e[9]!==D?(O=(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":`Filter`,children:[T,D]}),e[8]=T,e[9]=D,e[10]=O):O=e[10];let k=h.isPending?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):h.isError?(0,C.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Protokoll lässt sich nicht lesen: `,h.error.message]}):v.length===0?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Dazu gibt es noch keine Einträge.`}):(0,C.jsx)(`div`,{className:i(`flex flex-col gap-5`,h.isFetching&&`opacity-80`),children:v.map(e=>(0,C.jsxs)(`section`,{"aria-label":e.titel,className:`flex flex-col gap-1`,children:[(0,C.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-lab-text`,children:e.titel}),(0,C.jsx)(`ol`,{className:`m-0 flex list-none flex-col p-0`,children:e.eintraege.map((e,t)=>{let n=e.ziel?g.get(e.ziel)??e.ziel:null;return(0,C.jsx)(j,{e,geraet:n&&!e.titel.includes(n)?n:null},`${e.zeit}-${e.titel}-${t}`)})})]},e.titel))}),M;return e[11]!==y||e[12]!==b||e[13]!==O||e[14]!==k?(M=(0,C.jsxs)(y,{titel:`Protokoll`,children:[b,O,k]}),e[11]=y,e[12]=b,e[13]=O,e[14]=k,e[15]=M):M=e[15],M}function N(e){return[e.id,e.name]}export{M as HomelabProtokollSeite}; \ No newline at end of file +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-ZOVnQh4C.js";import{t as o}from"./search--3Jwhcgy.js";import{B as s,G as c,Ht as l,J as u,Kt as d,p as f,tt as p,u as m}from"./index-CYmlXdd4.js";var h={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};h.node;var g=d(h),_={name:`cog`,size:24,node:[[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`circle`,{cx:`12`,cy:`12`,r:`8`,key:`46899m`}]]};_.node;var v=d(_),y={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};y.node;var b=d(y),x=t(),S=r(e(),1),C=n(),w=[{id:`alle`,name:`Alles`},{id:`lauf`,name:`Updates`},{id:`auftrag`,name:`Ausführer`},{id:`hinweis`,name:`Hinweise`},{id:`meldung`,name:`Meldungen`},{id:`pflege`,name:`Pflege`}],T={auftrag:v,lauf:l,sammellauf:l,hinweis:b,meldung:g,pflege:o},E={ok:{punkt:`bg-gruen`,text:`text-gruen-text`,wort:`ok`},info:{punkt:`bg-cyan`,text:`text-cyan-text`,wort:`Info`},warn:{punkt:`bg-bernstein`,text:`text-bernstein`,wort:`Warnung`},fehler:{punkt:`bg-rot`,text:`text-rot-text`,wort:`Fehler`}},D=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`}),O=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`}),k=new Intl.DateTimeFormat(`sv-SE`,{timeZone:`Europe/Berlin`});function A(e){let t=k.format(new Date),n=k.format(new Date(Date.now()-864e5)),r=k.format(new Date(e*1e3));return r===t?`Heute`:r===n?`Gestern`:D.format(new Date(e*1e3))}function j(e){let t=(0,x.c)(37),{e:n,geraet:r}=e,[o,s]=(0,S.useState)(!1),c=E[n.stufe]??E.info,l=T[n.art]??v,u;t[0]===n.zeit?u=t[1]:(u=O.format(new Date(n.zeit*1e3)),t[0]=n.zeit,t[1]=u);let d;t[2]===u?d=t[3]:(d=(0,C.jsx)(`span`,{className:`ziffern pt-0.5 text-xs text-text-3`,children:u}),t[2]=u,t[3]=d);let f;t[4]===c.punkt?f=t[5]:(f=i(`size-2.5 rounded-full`,c.punkt),t[4]=c.punkt,t[5]=f);let p;t[6]===f?p=t[7]:(p=(0,C.jsx)(`span`,{className:`flex flex-col items-center pt-1`,children:(0,C.jsx)(`span`,{"aria-hidden":!0,className:f})}),t[6]=f,t[7]=p);let m;t[8]===l?m=t[9]:(m=(0,C.jsx)(l,{className:`size-3.5 shrink-0 text-text-3`,"aria-hidden":!0}),t[8]=l,t[9]=m);let h=n.stufe===`fehler`||n.stufe===`warn`?c.text:`text-foreground`,g;t[10]===h?g=t[11]:(g=i(h),t[10]=h,t[11]=g);let _;t[12]!==n.titel||t[13]!==g?(_=(0,C.jsx)(`span`,{className:g,children:n.titel}),t[12]=n.titel,t[13]=g,t[14]=_):_=t[14];let y;t[15]===r?y=t[16]:(y=r&&(0,C.jsx)(`span`,{className:`rounded-md bg-lab-grund px-1.5 text-xs text-lab-text`,children:r}),t[15]=r,t[16]=y);let b;t[17]===c.wort?b=t[18]:(b=(0,C.jsxs)(`span`,{className:`sr-only`,children:[`(`,c.wort,`)`]}),t[17]=c.wort,t[18]=b);let w;t[19]!==b||t[20]!==m||t[21]!==_||t[22]!==y?(w=(0,C.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 text-[15px]`,children:[m,_,y,b]}),t[19]=b,t[20]=m,t[21]=_,t[22]=y,t[23]=w):w=t[23];let D;t[24]===n.text?D=t[25]:(D=n.text&&(0,C.jsx)(`span`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=D);let k;t[26]!==n.details||t[27]!==o?(k=n.details&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),"aria-expanded":o,className:`inline-flex h-8 items-center gap-1 self-start text-xs text-cyan hover:underline`,children:[(0,C.jsx)(a,{className:i(`size-3.5 transition-transform`,o&&`rotate-90`),"aria-hidden":!0}),o?`Ausgabe verbergen`:`Ausgabe zeigen`]}),o&&(0,C.jsx)(`pre`,{className:`ziffern m-0 max-h-72 overflow-auto rounded-md border border-linie bg-[#0b0d0f] p-2.5 text-xs whitespace-pre-wrap text-text-2`,children:n.details})]}),t[26]=n.details,t[27]=o,t[28]=k):k=t[28];let A;t[29]!==w||t[30]!==D||t[31]!==k?(A=(0,C.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[w,D,k]}),t[29]=w,t[30]=D,t[31]=k,t[32]=A):A=t[32];let j;return t[33]!==A||t[34]!==d||t[35]!==p?(j=(0,C.jsxs)(`li`,{className:`grid grid-cols-[64px_18px_minmax(0,1fr)] gap-x-3 border-t border-linie py-2.5 first:border-t-0`,children:[d,p,A]}),t[33]=A,t[34]=d,t[35]=p,t[36]=j):j=t[36],j}function M(){let e=(0,x.c)(16),t=u(),n=p(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),[a,o]=(0,S.useState)(`alle`),[l,d]=(0,S.useState)(!1),h=c(r,l),g=new Map((s(r).data?.ziele??[]).map(N));if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(f,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(f,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}let _=(h.data?.eintraege??[]).filter(e=>a===`alle`||e.art===a||a===`lauf`&&e.art===`sammellauf`),v=[];for(let e of _){let t=A(e.zeit);v.at(-1)?.titel!==t&&v.push({titel:t,eintraege:[]}),v.at(-1).eintraege.push(e)}let y=m,b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,C.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was der Homelab-Teil getan hat: Aufträge an den Ausführer auf dem Proxmox-Host, Update-Läufe, Hinweise, gesendete Meldungen und die nächtliche Paketsuche.`}),e[2]=b):b=e[2];let T;e[3]===a?T=e[4]:(T=w.map(e=>(0,C.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-pressed":a===e.id,className:i(`h-9 rounded-full border px-3.5 text-sm`,a===e.id?`border-lab-rand bg-lab-grund text-lab-text`:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),e[3]=a,e[4]=T);let E;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>d(e.target.checked),e[5]=E):E=e[5];let D;e[6]===l?D=e[7]:(D=(0,C.jsxs)(`label`,{className:`ml-auto flex h-9 cursor-pointer items-center gap-2 text-sm text-text-2`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:l,onChange:E,className:`size-4 accent-[var(--lab)]`}),`Berichte zeigen (alle 10 min)`]}),e[6]=l,e[7]=D);let O;e[8]!==T||e[9]!==D?(O=(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":`Filter`,children:[T,D]}),e[8]=T,e[9]=D,e[10]=O):O=e[10];let k=h.isPending?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):h.isError?(0,C.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Protokoll lässt sich nicht lesen: `,h.error.message]}):v.length===0?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Dazu gibt es noch keine Einträge.`}):(0,C.jsx)(`div`,{className:i(`flex flex-col gap-5`,h.isFetching&&`opacity-80`),children:v.map(e=>(0,C.jsxs)(`section`,{"aria-label":e.titel,className:`flex flex-col gap-1`,children:[(0,C.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-lab-text`,children:e.titel}),(0,C.jsx)(`ol`,{className:`m-0 flex list-none flex-col p-0`,children:e.eintraege.map((e,t)=>{let n=e.ziel?g.get(e.ziel)??e.ziel:null;return(0,C.jsx)(j,{e,geraet:n&&!e.titel.includes(n)?n:null},`${e.zeit}-${e.titel}-${t}`)})})]},e.titel))}),M;return e[11]!==y||e[12]!==b||e[13]!==O||e[14]!==k?(M=(0,C.jsxs)(y,{titel:`Protokoll`,children:[b,O,k]}),e[11]=y,e[12]=b,e[13]=O,e[14]=k,e[15]=M):M=e[15],M}function N(e){return[e.id,e.name]}export{M as HomelabProtokollSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/MenueSchublade-CC8GVOLn.js b/frontend/dist/assets/MenueSchublade-CsyS-c2a.js similarity index 86% rename from frontend/dist/assets/MenueSchublade-CC8GVOLn.js rename to frontend/dist/assets/MenueSchublade-CsyS-c2a.js index 4da8350..434a8cf 100644 --- a/frontend/dist/assets/MenueSchublade-CC8GVOLn.js +++ b/frontend/dist/assets/MenueSchublade-CsyS-c2a.js @@ -1 +1 @@ -import{n as e,r as t}from"./dist-D4CVSex9.js";import{g as n,h as r}from"./index-FvHAYExN.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-CB1NvtKC.js";var l=e(),u=t();function d(e){let t=(0,l.c)(9),{onDienste:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(r,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=m):m=t[2];let h;t[3]!==d||t[4]!==f?(h=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-6 border-linie bg-[#0c0f12] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[m,(0,u.jsx)(n,{onDienste:d,onGewaehlt:f})]}),t[3]=d,t[4]=f,t[5]=h):h=t[5];let g;return t[6]!==p||t[7]!==h?(g=(0,u.jsx)(c,{open:!0,onOpenChange:p,children:h}),t[6]=p,t[7]=h,t[8]=g):g=t[8],g}export{d as MenueSchublade}; \ No newline at end of file +import{n as e,r as t}from"./dist-D4CVSex9.js";import{g as n,h as r}from"./index-CYmlXdd4.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-s_FTWvn-.js";var l=e(),u=t();function d(e){let t=(0,l.c)(9),{onDienste:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(r,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=m):m=t[2];let h;t[3]!==d||t[4]!==f?(h=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-6 border-linie bg-[#0c0f12] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[m,(0,u.jsx)(n,{onDienste:d,onGewaehlt:f})]}),t[3]=d,t[4]=f,t[5]=h):h=t[5];let g;return t[6]!==p||t[7]!==h?(g=(0,u.jsx)(c,{open:!0,onOpenChange:p,children:h}),t[6]=p,t[7]=h,t[8]=g):g=t[8],g}export{d as MenueSchublade}; \ No newline at end of file diff --git a/frontend/dist/assets/Modelle-CuuF8BGB.js b/frontend/dist/assets/Modelle-1lvjqzBN.js similarity index 99% rename from frontend/dist/assets/Modelle-CuuF8BGB.js rename to frontend/dist/assets/Modelle-1lvjqzBN.js index 5a174a9..71acfc6 100644 --- a/frontend/dist/assets/Modelle-CuuF8BGB.js +++ b/frontend/dist/assets/Modelle-1lvjqzBN.js @@ -1 +1 @@ -import{i as e,n as t,r as n,s as r}from"./dist-D4CVSex9.js";import{n as i,t as a}from"./useSelector-uUwrspuX.js";import{n as o}from"./useMatch-CiyhmkMV.js";import{t as s}from"./chevron-right-T7IsaTwB.js";import{t as c}from"./search-B5rIIYDK.js";import{$ as l,A as u,Et as d,Ft as f,It as p,N as m,P as h,Pt as g,Q as _,Rt as v,Tt as y,Xt as b,Z as x,Zt as S,bt as C,dt as w,et as T,f as E,it as D,k as O,kt as k,ot as A,p as j,q as M,rt as N,u as P,xt as F,yt as I,zt as L}from"./index-FvHAYExN.js";import{t as R}from"./button-D8rvET0Z.js";import{a as ee,i as z,n as B,r as V,t as te}from"./sheet-CB1NvtKC.js";import{t as ne}from"./Bestaetigen-SE_NgpcU.js";import{a as H,r as re,s as ie,t as U}from"./Auftraege-CAHujylB.js";function W(e){let t=i();return a(t.stores.location,o(e,t))}var G=t(),K=r(e(),1),q=n(),ae={coder:`Coder`};function J(e){let t=(0,G.c)(102),{offen:n,onSchliessen:r,rollenJetzt:i}=e,a=M(),[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(``),[m,h]=(0,K.useState)(null),g=(0,K.useRef)(!1),_,v;t[0]===c?(_=t[1],v=t[2]):(_=[`hf-suche`,c],v=()=>L(`/api/hf/search?q=${encodeURIComponent(c)}`),t[0]=c,t[1]=_,t[2]=v);let x=c.length>1,S;t[3]!==_||t[4]!==v||t[5]!==x?(S={queryKey:_,queryFn:v,enabled:x},t[3]=_,t[4]=v,t[5]=x,t[6]=S):S=t[6];let C=b(S),w,T;t[7]===u?(w=t[8],T=t[9]):(w=[`hf-quants`,u],T=()=>L(`/api/hf/quants?repo=${encodeURIComponent(u??``)}`),t[7]=u,t[8]=w,t[9]=T);let E=!!u,D;t[10]!==w||t[11]!==T||t[12]!==E?(D={queryKey:w,queryFn:T,enabled:E},t[10]=w,t[11]=T,t[12]=E,t[13]=D):D=t[13];let O=b(D),k,A,j,N,P,I,H,U,W,J,Y,X,Z;if(t[14]!==m||t[15]!==o||t[16]!==a||t[17]!==n||t[18]!==r||t[19]!==O.data||t[20]!==O.error||t[21]!==O.isError||t[22]!==O.isFetching||t[23]!==u||t[24]!==f||t[25]!==i||t[26]!==C){let e=(O.data?.quants??[]).map(se),c=f?ae[f]??f:null,_;t[40]!==u||t[41]!==f||t[42]!==i||t[43]!==c?(_=c&&u?ie(u,c,i[f]):null,t[40]=u,t[41]=f,t[42]=i,t[43]=c,t[44]=_):_=t[44],j=_;let v;t[45]!==m||t[46]!==a||t[47]!==r||t[48]!==u||t[49]!==f?(v=function(){u&&m&&!g.current&&(g.current=!0,a.mutate({repo:u,quant:m.quant,rolle:f||null},{onSuccess:e=>{h(null),e.ok!==!1&&r()},onError:()=>h(null),onSettled:()=>{g.current=!1}}))},t[45]=m,t[46]=a,t[47]=r,t[48]=u,t[49]=f,t[50]=v):v=t[50],N=v,A=te,Y=n,t[51]===r?X=t[52]:(X=e=>!e&&r(),t[51]=r,t[52]=X),k=B,H=`right`,U=`gap-3 overflow-y-auto border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-xl`,t[53]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,q.jsxs)(z,{children:[(0,q.jsx)(ee,{className:`schild text-lg`,children:`Modelle selbst suchen`}),(0,q.jsx)(V,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),t[53]=W):W=t[53];let b;t[54]===o?b=t[55]:(b=e=>{e.preventDefault(),d(null),l(o.trim())},t[54]=o,t[55]=b);let x;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,q.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=x):x=t[56];let S;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>s(e.target.value),t[57]=S):S=t[57];let w;t[58]===o?w=t[59]:(w=(0,q.jsx)(`input`,{id:`hf-suche`,value:o,onChange:S,placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),t[58]=o,t[59]=w);let T;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,q.jsx)(R,{type:`submit`,children:`Suchen`}),t[60]=T):T=t[60],t[61]!==b||t[62]!==w?(J=(0,q.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:b,children:[x,w,T]}),t[61]=b,t[62]=w,t[63]=J):J=t[63],Z=`flex flex-col px-4 pb-4`,t[64]!==u||t[65]!==C?(P=!u&&(0,q.jsxs)(q.Fragment,{children:[C.isFetching&&(0,q.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!C.isFetching&&C.isError&&(0,q.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,C.error.message]}),!C.isFetching&&C.data?.results.length===0&&(0,q.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),C.data?.results.map(e=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>d(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-linie py-2 text-left hover:text-cyan`,children:[(0,q.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,q.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[y(e.downloads),` ↓`]})]},e.repo))]}),t[64]=u,t[65]=C,t[66]=P):P=t[66],I=u&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:u}),(0,q.jsx)(R,{variant:`ghost`,size:`sm`,onClick:()=>d(null),children:`Zurück`})]}),(0,q.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,q.jsxs)(`select`,{value:f,onChange:e=>p(e.target.value),className:`h-11 min-w-0 rounded-lg border border-linie-stark bg-erhaben px-3 text-foreground`,children:[(0,q.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(ae).map(oe)]})]}),j&&(0,q.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-sm leading-relaxed text-bernstein`,children:j}),O.isFetching&&(0,q.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!O.isFetching&&O.isError&&(0,q.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,O.error.message]}),!O.isFetching&&O.data&&e.length===0&&(0,q.jsx)(`p`,{className:`text-sm text-text-2`,children:`Hier gibt es keine GGUF-Dateien, die sich installieren lassen.`}),e.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2`,children:[(0,q.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,q.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,q.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:F(n,1)}):null,(0,q.jsx)(R,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>h({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=m,t[15]=o,t[16]=a,t[17]=n,t[18]=r,t[19]=O.data,t[20]=O.error,t[21]=O.isError,t[22]=O.isFetching,t[23]=u,t[24]=f,t[25]=i,t[26]=C,t[27]=k,t[28]=A,t[29]=j,t[30]=N,t[31]=P,t[32]=I,t[33]=H,t[34]=U,t[35]=W,t[36]=J,t[37]=Y,t[38]=X,t[39]=Z}else k=t[27],A=t[28],j=t[29],N=t[30],P=t[31],I=t[32],H=t[33],U=t[34],W=t[35],J=t[36],Y=t[37],X=t[38],Z=t[39];let Q;t[67]!==P||t[68]!==I||t[69]!==Z?(Q=(0,q.jsxs)(`div`,{className:Z,children:[P,I]}),t[67]=P,t[68]=I,t[69]=Z,t[70]=Q):Q=t[70];let ce=m!==null,$;t[71]!==m||t[72]!==u?($=m&&u?`${u} (${m.quant}${m.bytes?`, ${F(m.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(m.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=m,t[72]=u,t[73]=$):$=t[73];let le=a.isPending?`Wird gestartet …`:`Installieren`,ue=a.isPending,de;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>h(null),t[74]=de):de=t[74];let fe;t[75]===j?fe=t[76]:(fe=j&&(0,q.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-[15px] leading-relaxed text-bernstein`,children:j}),t[75]=j,t[76]=fe);let pe=!!f,me;t[77]===pe?me=t[78]:(me=re(pe),t[77]=pe,t[78]=me);let he;t[79]===me?he=t[80]:(he=(0,q.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:me}),t[79]=me,t[80]=he);let ge;t[81]!==a.isPending||t[82]!==N||t[83]!==ce||t[84]!==$||t[85]!==le||t[86]!==fe||t[87]!==he?(ge=(0,q.jsxs)(ne,{offen:ce,titel:`Modell installieren?`,text:$,knopf:le,gesperrt:ue,onNein:de,onJa:N,children:[fe,he]}),t[81]=a.isPending,t[82]=N,t[83]=ce,t[84]=$,t[85]=le,t[86]=fe,t[87]=he,t[88]=ge):ge=t[88];let _e;t[89]!==k||t[90]!==H||t[91]!==U||t[92]!==W||t[93]!==J||t[94]!==Q||t[95]!==ge?(_e=(0,q.jsxs)(k,{side:H,className:U,children:[W,J,Q,ge]}),t[89]=k,t[90]=H,t[91]=U,t[92]=W,t[93]=J,t[94]=Q,t[95]=ge,t[96]=_e):_e=t[96];let ve;return t[97]!==A||t[98]!==Y||t[99]!==X||t[100]!==_e?(ve=(0,q.jsx)(A,{open:Y,onOpenChange:X,children:_e}),t[97]=A,t[98]=Y,t[99]=X,t[100]=_e,t[101]=ve):ve=t[101],ve}function oe(e){let[t,n]=e;return(0,q.jsx)(`option`,{value:t,children:n},t)}function se(e){return typeof e==`string`?{quant:e}:e}var Y=115;function X(e){let t=(0,G.c)(55),{modelle:n,laufend:r}=e,i=d(),a=w(),o,s,c,l,u,f,p,m,h,g;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=C(i?.ram_total??a.data?.box.ram_total)??122.7,d=C(i?.ram_used??a.data?.box.ram_used)??0,_;t[15]===r?_=t[16]:(_=e=>r.includes(e.name),t[15]=r,t[16]=_);let v=n.filter(_).reduce(Z,0);s=Math.max(0,d-v);let y=t=>`${Math.min(100,t/e*100)}%`;o=P,m=`Speicher`,h=(0,q.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(d),` von `,Math.round(e),` GB belegt · Grenze ~`,Y,` GB`]});let b=`Speicher: ${Math.round(d)} von ${Math.round(e)} GB belegt`,x=y(d),S;t[17]===x?S=t[18]:(S={width:x},t[17]=x,t[18]=S);let w=`${d?v/d*100:0}%`,T;t[19]===w?T=t[20]:(T=(0,q.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:w}}),t[19]=w,t[20]=T);let E=`${d?s/d*100:0}%`,D;t[21]===E?D=t[22]:(D=(0,q.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:E}}),t[21]=E,t[22]=D);let O;t[23]!==S||t[24]!==T||t[25]!==D?(O=(0,q.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:S,children:[T,D]}),t[23]=S,t[24]=T,t[25]=D,t[26]=O):O=t[26];let k=y(Y),A;t[27]===k?A=t[28]:(A=(0,q.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:k}}),t[27]=k,t[28]=A),t[29]!==b||t[30]!==O||t[31]!==A?(g=(0,q.jsxs)(`div`,{className:`relative h-8 rounded-lg bg-erhaben`,role:`img`,"aria-label":b,children:[O,A]}),t[29]=b,t[30]=O,t[31]=A,t[32]=g):g=t[32],p=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=l):l=t[33],u=` Geladene Modelle: `,f=Math.round(v),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=f,t[11]=p,t[12]=m,t[13]=h,t[14]=g}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14];let _;t[34]!==c||t[35]!==l||t[36]!==u||t[37]!==f?(_=(0,q.jsxs)(`span`,{className:c,children:[l,u,f,` GB Dateien`]}),t[34]=c,t[35]=l,t[36]=u,t[37]=f,t[38]=_):_=t[38];let v;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,q.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=v):v=t[39];let y;t[40]===s?y=t[41]:(y=Math.round(s),t[40]=s,t[41]=y);let b;t[42]===y?b=t[43]:(b=(0,q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[v,` Cache, Dienste, System: `,y,` GB`]}),t[42]=y,t[43]=b);let x;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=x):x=t[44];let S;t[45]!==b||t[46]!==p||t[47]!==_?(S=(0,q.jsxs)(`div`,{className:p,children:[_,b,x]}),t[45]=b,t[46]=p,t[47]=_,t[48]=S):S=t[48];let T;return t[49]!==o||t[50]!==S||t[51]!==m||t[52]!==h||t[53]!==g?(T=(0,q.jsxs)(o,{titel:m,rechts:h,children:[g,S]}),t[49]=o,t[50]=S,t[51]=m,t[52]=h,t[53]=g,t[54]=T):T=t[54],T}function Z(e,t){return e+(C(t.size_bytes)??0)}function Q(e){let t=(0,G.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,q.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,q.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function ce(e){let t=(0,G.c)(48),{titel:n,modell:r,zwilling:i,laeuft:a,nutzer:o}=e,s=_();if(!r){let e;t[0]===n?e=t[1]:(e=(0,q.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(E,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,q.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,q.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-linie-stark p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let c;t[9]!==r.ctx||t[10]!==r.parallel_slots?(c=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=c):c=t[11];let l=c,u=!!r.capabilities?.vision||!!i,d;t[12]===n?d=t[13]:(d=(0,q.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[12]=n,t[13]=d);let f=a?`gruen`:`grau`,p=a?`Geladen`:`Auf Abruf`,m;t[14]!==f||t[15]!==p?(m=(0,q.jsx)(E,{art:f,children:p}),t[14]=f,t[15]=p,t[16]=m):m=t[16];let h;t[17]!==d||t[18]!==m?(h=(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[d,m]}),t[17]=d,t[18]=m,t[19]=h):h=t[19];let g;t[20]===r.name?g=t[21]:(g=(0,q.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=g);let v;t[22]===r.size_bytes?v=t[23]:(v=F(r.size_bytes),t[22]=r.size_bytes,t[23]=v);let y;t[24]===v?y=t[25]:(y=(0,q.jsx)(Q,{name:`Größe`,wert:v}),t[24]=v,t[25]=y);let b=l?`${l}k`:`–`,x;t[26]===b?x=t[27]:(x=(0,q.jsx)(Q,{name:`Kontext`,wert:b}),t[26]=b,t[27]=x);let S=u?`ja`:`nein`,C;t[28]===S?C=t[29]:(C=(0,q.jsx)(Q,{name:`Bilder`,wert:S}),t[28]=S,t[29]=C);let w;t[30]!==x||t[31]!==C||t[32]!==y?(w=(0,q.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[y,x,C]}),t[30]=x,t[31]=C,t[32]=y,t[33]=w):w=t[33];let T=r.spec_active?` Mit Draft-Beschleunigung.`:``,D=i?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,O;t[34]!==o||t[35]!==T||t[36]!==D?(O=(0,q.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,T,D]}),t[34]=o,t[35]=T,t[36]=D,t[37]=O):O=t[37];let k;t[38]!==s||t[39]!==a||t[40]!==r.name?(k=!a&&(0,q.jsx)(R,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>s.mutate(r.name),disabled:s.isPending,children:`Jetzt laden`}),t[38]=s,t[39]=a,t[40]=r.name,t[41]=k):k=t[41];let A;return t[42]!==w||t[43]!==O||t[44]!==k||t[45]!==h||t[46]!==g?(A=(0,q.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-linie bg-panel p-5`,children:[h,g,w,O,k]}),t[42]=w,t[43]=O,t[44]=k,t[45]=h,t[46]=g,t[47]=A):A=t[47],A}function $(e){let t=(0,G.c)(54),{nutzung:n,laedt:r,fehler:i}=e;if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,q.jsx)(P,{titel:`Wer nutzt die Modelle`,children:r?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Nutzung lässt sich gerade nicht lesen`,i?`: ${i}`:`.`]})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let a;t[3]===n.absender?a=t[4]:(a=Math.max(1,...n.absender.map(fe)),t[3]=n.absender,t[4]=a);let o=a,s,c,l,u,d,f,p,m,h,g,_,v;if(t[5]!==o||t[6]!==n.absender||t[7]!==n.letzte_24h||t[8]!==n.tage){let e=n.letzte_24h.map(ue),r=Math.max(1,...e);s=P,v=`Wer nutzt die Modelle`,t[21]===n.tage?c=t[22]:(c=(0,q.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`letzte `,n.tage,` Tage`]}),t[21]=n.tage,t[22]=c),t[23]===n.absender.length?l=t[24]:(l=n.absender.length===0&&(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}),t[23]=n.absender.length,t[24]=l);let i;if(t[25]!==o||t[26]!==n.absender){let e;t[28]===o?e=t[29]:(e=e=>(0,q.jsxs)(`li`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex justify-between gap-3 text-sm`,children:[(0,q.jsx)(`span`,{children:e.name}),(0,q.jsx)(`span`,{className:`ziffern`,children:y(e.anfragen)})]}),(0,q.jsx)(`div`,{className:`h-2 rounded-full bg-erhaben`,children:(0,q.jsx)(`div`,{className:`h-2 rounded-full bg-cyan`,style:{width:`${e.anfragen/o*100}%`}})})]},e.name),t[28]=o,t[29]=e),i=n.absender.map(e),t[25]=o,t[26]=n.absender,t[27]=i}else i=t[27];t[30]===i?u=t[31]:(u=(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-3.5 p-0`,children:i}),t[30]=i,t[31]=u),g=`flex flex-col gap-1.5`,t[32]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(`span`,{className:`schild text-xs text-text-3`,children:`Anfragen je Stunde, letzte 24 h`}),t[32]=_):_=t[32],d=`0 0 240 64`,f=`h-16 w-full`,p=`img`,m=`Anfragen je Stunde in den letzten 24 Stunden`;let a;t[33]===r?a=t[34]:(a=(e,t)=>{let n=e?Math.max(3,e/r*50):2;return(0,q.jsx)(`rect`,{x:t*10+1.5,y:52-n,width:7,height:n,rx:1.5,fill:e?`var(--cyan)`:`var(--linie)`},t)},t[33]=r,t[34]=a),h=e.map(a),t[5]=o,t[6]=n.absender,t[7]=n.letzte_24h,t[8]=n.tage,t[9]=s,t[10]=c,t[11]=l,t[12]=u,t[13]=d,t[14]=f,t[15]=p,t[16]=m,t[17]=h,t[18]=g,t[19]=_,t[20]=v}else s=t[9],c=t[10],l=t[11],u=t[12],d=t[13],f=t[14],p=t[15],m=t[16],h=t[17],g=t[18],_=t[19],v=t[20];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=[0,6,12,18].map(le),t[35]=b):b=t[35];let x;t[36]!==d||t[37]!==f||t[38]!==p||t[39]!==m||t[40]!==h?(x=(0,q.jsxs)(`svg`,{viewBox:d,className:f,role:p,"aria-label":m,children:[h,b]}),t[36]=d,t[37]=f,t[38]=p,t[39]=m,t[40]=h,t[41]=x):x=t[41];let S;t[42]!==x||t[43]!==g||t[44]!==_?(S=(0,q.jsxs)(`div`,{className:g,children:[_,x]}),t[42]=x,t[43]=g,t[44]=_,t[45]=S):S=t[45];let C;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,q.jsx)(`p`,{className:`text-xs text-text-3`,children:`Anfragen an llama-swap. NerdQuiz geht direkt dorthin, alles andere über MC2.`}),t[46]=C):C=t[46];let w;return t[47]!==s||t[48]!==c||t[49]!==l||t[50]!==u||t[51]!==S||t[52]!==v?(w=(0,q.jsxs)(s,{titel:v,rechts:c,children:[l,u,S,C]}),t[47]=s,t[48]=c,t[49]=l,t[50]=u,t[51]=S,t[52]=v,t[53]=w):w=t[53],w}function le(e){return(0,q.jsx)(`text`,{x:e*10+5,y:63,textAnchor:`middle`,style:{fontSize:9,fill:`var(--text-3)`,fontFamily:`var(--font-mono)`},children:e},e)}function ue(e){return Object.values(e.je_absender).reduce(de,0)}function de(e,t){return e+t}function fe(e){return e.anfragen}var pe={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},me={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function he(e){let t=(0,G.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsxs)(`div`,{role:`row`,className:`schild grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-xs text-text-3`,children:[(0,q.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,q.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,q.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,q.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`rounded-lg border border-linie bg-erhaben/50 px-3 py-2 text-sm`,children:[a,e.map(ge)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ge(e){let[t,n]=e;return(0,q.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-linie py-1`,children:[(0,q.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,q.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${me[n.urteil??``]??`text-text-2`}`,children:f(n.kandidat,n.einheit)}),(0,q.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:f(n.baseline,n.einheit)})]},t)}function _e(e){let t=(0,G.c)(59),{k:n,test:r,heute:i}=e,a=D(),[o,s]=(0,K.useState)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=c):c=t[0];let l=c.includes(n.status),u=n.rolle===`hirn`,d;t[1]===n.name?d=t[2]:(d=(0,q.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=d);let f=u?`fürs Hirn`:`fürs Coden`,p;t[3]===f?p=t[4]:(p=(0,q.jsx)(E,{art:`cyan`,children:f}),t[3]=f,t[4]=p);let m;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(m=n.groesse_gb!=null&&(0,q.jsx)(E,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=m):m=t[8];let h=pe[n.status]??`grau`,g=k[n.status]??n.status,_;t[9]!==h||t[10]!==g?(_=(0,q.jsx)(E,{art:h,children:g}),t[9]=h,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==d||t[13]!==p||t[14]!==m||t[15]!==_?(v=(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[d,p,m,_]}),t[12]=d,t[13]=p,t[14]=m,t[15]=_,t[16]=v):v=t[16];let y;t[17]===n.groesse_gb?y=t[18]:(y=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=y);let b;t[19]!==n.begruendung||t[20]!==y?(b=(0,q.jsxs)(`p`,{className:`text-sm text-text-2`,children:[y,n.begruendung]}),t[19]=n.begruendung,t[20]=y,t[21]=b):b=t[21];let x;t[22]!==n.status||t[23]!==r?(x=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,q.jsx)(he,{test:r}),t[22]=n.status,t[23]=r,t[24]=x):x=t[24];let S;t[25]!==a.isPending||t[26]!==n.status||t[27]!==l?(S=l&&(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.status===`bestanden`&&(0,q.jsx)(R,{size:`sm`,disabled:a.isPending,onClick:()=>s(`uebernehmen`),children:`Übernehmen`}),(0,q.jsx)(R,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>s(`verwerfen`),children:`Verwerfen`})]}),t[25]=a.isPending,t[26]=n.status,t[27]=l,t[28]=S):S=t[28];let C=o===`uebernehmen`,w=`${n.name} übernehmen?`,T=u?`${n.name} wird Lucys Hirn${i?` und löst ${i} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${i?` und löst ${i} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>s(null),t[29]=O):O=t[29];let A;t[30]!==a||t[31]!==o||t[32]!==n.id||t[33]!==n.name?(A=()=>{o===`uebernehmen`&&(a.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),s(null))},t[30]=a,t[31]=o,t[32]=n.id,t[33]=n.name,t[34]=A):A=t[34];let j;t[35]!==a.isPending||t[36]!==C||t[37]!==w||t[38]!==T||t[39]!==A?(j=(0,q.jsx)(ne,{offen:C,titel:w,text:T,knopf:`Übernehmen`,gesperrt:a.isPending,onNein:O,onJa:A}),t[35]=a.isPending,t[36]=C,t[37]=w,t[38]=T,t[39]=A,t[40]=j):j=t[40];let M=o===`verwerfen`,N=`${n.name} verwerfen?`,P;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>s(null),t[41]=P):P=t[41];let F;t[42]!==a||t[43]!==o||t[44]!==n.id||t[45]!==n.name?(F=()=>{o===`verwerfen`&&(a.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),s(null))},t[42]=a,t[43]=o,t[44]=n.id,t[45]=n.name,t[46]=F):F=t[46];let I;t[47]!==a.isPending||t[48]!==M||t[49]!==N||t[50]!==F?(I=(0,q.jsx)(ne,{offen:M,gefahr:!0,titel:N,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,gesperrt:a.isPending,onNein:P,onJa:F}),t[47]=a.isPending,t[48]=M,t[49]=N,t[50]=F,t[51]=I):I=t[51];let L;return t[52]!==b||t[53]!==x||t[54]!==S||t[55]!==j||t[56]!==I||t[57]!==v?(L=(0,q.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3.5`,children:[v,b,x,S,j,I]}),t[52]=b,t[53]=x,t[54]=S,t[55]=j,t[56]=I,t[57]=v,t[58]=L):L=t[58],L}function ve(e){let t=(0,G.c)(30),{hirn:n,coder:r}=e,i=N(),a=A(),o=x(),s=S(),c=o.data?.jobs,l=(c??[]).filter(be).at(-1),u=a.data?.job_id,d;t[0]!==u||t[1]!==c?(d=!!u&&!!c&&!c.some(e=>e.id===u),t[0]=u,t[1]=c,t[2]=d):d=t[2];let f=d,p=a.isPending||f||l!==void 0&&g(l),m=(0,K.useRef)(p);if((0,K.useEffect)(()=>{m.current&&!p&&s.invalidateQueries({queryKey:[`radar`]}),m.current=p},[p,s]),i.isError&&!i.data){let e=i.error instanceof v&&i.error.status===404,n;return t[3]!==e||t[4]!==i.error?(n=(0,q.jsx)(P,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,i.error.message]})}),t[3]=e,t[4]=i.error,t[5]=n):n=t[5],n}let h=i.data,_=P,y;t[6]===a?y=t[7]:(y=()=>a.mutate(void 0),t[6]=a,t[7]=y);let b=p?`Sucht …`:`Jetzt suchen`,C;t[8]!==p||t[9]!==y||t[10]!==b?(C=(0,q.jsx)(R,{variant:`info`,size:`sm`,onClick:y,disabled:p,children:b}),t[8]=p,t[9]=y,t[10]=b,t[11]=C):C=t[11];let w;t[12]===h?w=t[13]:(w=h?.naechster_test?` Nächster Test: ${I(h.naechster_test)}.`:``,t[12]=h,t[13]=w);let T=p?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,E;t[14]!==w||t[15]!==T?(E=(0,q.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche.`,w,T]}),t[14]=w,t[15]=T,t[16]=E):E=t[16];let D=!p&&l?.state===`failed`&&(0,q.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,H(l)??`ohne Meldung`]}),O;t[17]!==r||t[18]!==h||t[19]!==n?(O=h?h.kandidaten.length===0?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:h.kandidaten.map(e=>(0,q.jsx)(_e,{k:e,test:h.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=h,t[19]=n,t[20]=O):O=t[20];let k;t[21]===h?k=t[22]:(k=h&&h.tests.length>0&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`h3`,{className:`schild text-xs text-text-3`,children:`Letzte Tests`}),h.tests.slice(0,3).map(ye)]}),t[21]=h,t[22]=k);let j;return t[23]!==_||t[24]!==E||t[25]!==D||t[26]!==O||t[27]!==k||t[28]!==C?(j=(0,q.jsxs)(_,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:C,children:[E,D,O,k]}),t[23]=_,t[24]=E,t[25]=D,t[26]=O,t[27]=k,t[28]=C,t[29]=j):j=t[29],j}function ye(e){return(0,q.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,q.jsx)(`span`,{className:`ziffern text-text-3`,children:I(e.datum)}),` · `,e.zusammenfassung]},e.id)}function be(e){return e.group===`radar`}var xe=`text-rot-text hover:bg-rot-grund hover:text-rot-text`;function Se(e){let t=(0,G.c)(13),{titel:n,zusatz:r,children:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(s,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,q.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[a,n]}),t[1]=n,t[2]=o);let c;t[3]===r?c=t[4]:(c=(0,q.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[3]=r,t[4]=c);let l;t[5]!==o||t[6]!==c?(l=(0,q.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[o,c]}),t[5]=o,t[6]=c,t[7]=l):l=t[7];let u;t[8]===i?u=t[9]:(u=(0,q.jsx)(`div`,{className:`flex flex-col gap-2 pb-1`,children:i}),t[8]=i,t[9]=u);let d;return t[10]!==l||t[11]!==u?(d=(0,q.jsxs)(`details`,{className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function Ce(){let e=(0,G.c)(37),t=m(),n=h(),[r,i]=(0,K.useState)(null),a,o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n){u=Symbol.for(`react.early_return_sentinel`);bb0:{let r=t.data?.kandidaten??[],d=r.reduce(we,0);if(t.isError&&!t.data){let n;e[11]===t.error.message?n=e[12]:(n=(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Was sich aufräumen ließe, lässt sich gerade nicht lesen: `,t.error.message]}),e[11]=t.error.message,e[12]=n);let r;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(Ee,{}),e[13]=r):r=e[13];let i;e[14]===n?i=e[15]:(i=(0,q.jsxs)(P,{titel:`Aufräumen`,children:[n,r]}),e[14]=n,e[15]=i),u=i;break bb0}a=P,o=`Aufräumen`,s=r.length>0?(0,q.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,d.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0,e[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(`p`,{className:`-mt-2 text-sm text-text-2`,children:`Modelle und Ordner, die gerade niemand nutzt. Nichts davon wird von selbst gelöscht, das entscheidest du je Eintrag.`}),e[16]=c):c=e[16],l=t.isPending?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):r.length===0?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,q.jsx)(Se,{titel:`Modelle und Ordner`,zusatz:`${r.length} Einträge · bis zu ${d.toLocaleString(`de-DE`,{maximumFractionDigits:0})} GB`,children:(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,q.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,q.jsx)(E,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,q.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,q.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,q.jsx)(R,{variant:`ghost`,size:`sm`,className:xe,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))})})}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n,e[5]=a,e[6]=o,e[7]=s,e[8]=c,e[9]=l,e[10]=u}else a=e[5],o=e[6],s=e[7],c=e[8],l=e[9],u=e[10];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d=r!==null,f=`${r?.name??``} löschen?`,p;e[17]===r?.groesse_gb?p=e[18]:(p=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[17]=r?.groesse_gb,e[18]=p);let g=`${r?.hinweis??``} Es werden ${p} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,_;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>i(null),e[19]=_):_=e[19];let v;e[20]!==r||e[21]!==n?(v=()=>{r&&n.mutate(r),i(null)},e[20]=r,e[21]=n,e[22]=v):v=e[22];let y;e[23]!==n.isPending||e[24]!==v||e[25]!==d||e[26]!==f||e[27]!==g?(y=(0,q.jsx)(ne,{offen:d,gefahr:!0,titel:f,text:g,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:_,onJa:v}),e[23]=n.isPending,e[24]=v,e[25]=d,e[26]=f,e[27]=g,e[28]=y):y=e[28];let b;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,q.jsx)(Ee,{}),e[29]=b):b=e[29];let x;return e[30]!==a||e[31]!==o||e[32]!==s||e[33]!==y||e[34]!==c||e[35]!==l?(x=(0,q.jsxs)(a,{titel:o,rechts:s,children:[c,l,y,b]}),e[30]=a,e[31]=o,e[32]=s,e[33]=y,e[34]=c,e[35]=l,e[36]=x):x=e[36],x}function we(e,t){return e+t.groesse_gb}function Te(e){return e>=1e9?`${(e/1e9).toLocaleString(`de-DE`,{maximumFractionDigits:1})} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:e>=1e3?`${Math.round(e/1e3)} KB`:`unter 1 KB`}function Ee(){let e=(0,G.c)(23),t=u(),n=O(),[r,i]=(0,K.useState)(null),a,o;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n.isPending){let r=t.data?.altreste??[],s=r.reduce(De,0);a=`flex flex-col gap-2`,o=t.isPending?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):r.length===0?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,q.jsxs)(Se,{titel:`Altreste neben dem Betrieb`,zusatz:`${r.length} Einträge · ${Te(s)}`,children:[(0,q.jsx)(`p`,{className:`text-sm text-text-2`,children:`Test-Ordner, alte Umgebungen und Arbeitskopien, die nichts mehr nutzt. Die Box prüft sie gegen eine feste Liste und löscht auch hier nie von selbst.`}),(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,q.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,q.jsx)(E,{children:`Altrest`})]}),(0,q.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,q.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,q.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,q.jsx)(R,{variant:`ghost`,size:`sm`,className:xe,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},e.id))})]}),e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n.isPending,e[5]=a,e[6]=o}else a=e[5],o=e[6];let s=r!==null,c=`${r?.name??``} löschen?`,l;e[7]===r?.pfade?l=e[8]:(l=r?.pfade.join(`, `)??``,e[7]=r?.pfade,e[8]=l);let d=`${r?.hinweis??``} Gelöscht wird: ${l} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,f;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>i(null),e[9]=f):f=e[9];let p;e[10]!==r||e[11]!==n?(p=()=>{r&&n.mutate(r),i(null)},e[10]=r,e[11]=n,e[12]=p):p=e[12];let m;e[13]!==n.isPending||e[14]!==s||e[15]!==c||e[16]!==d||e[17]!==p?(m=(0,q.jsx)(ne,{offen:s,gefahr:!0,titel:c,text:d,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:f,onJa:p}),e[13]=n.isPending,e[14]=s,e[15]=c,e[16]=d,e[17]=p,e[18]=m):m=e[18];let h;return e[19]!==a||e[20]!==o||e[21]!==m?(h=(0,q.jsxs)(`div`,{className:a,children:[o,m]}),e[19]=a,e[20]=o,e[21]=m,e[22]=h):h=e[22],h}function De(e,t){return e+t.groesse_bytes}function Oe(){let e=(0,G.c)(74),t=l(),n=T(),r=N(),i=x(),[a,o]=(0,K.useState)(!1),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={select:Me},e[0]=s):s=e[0];let u=W(s),d=!!t.data&&!n.isPending&&!r.isPending&&!i.isPending,f,p;if(e[1]!==d||e[2]!==u?(f=()=>{d&&u===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},p=[d,u],e[1]=d,e[2]=u,e[3]=f,e[4]=p):(f=e[3],p=e[4]),(0,K.useEffect)(f,p),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(j,{text:`Modelle werden gelesen …`}),e[5]=t):t=e[5],t}if(!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[6]===n?r=e[7]:(r=(0,q.jsx)(j,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let m=t.data.models,h=t.data.running,g,_,v,y,b,S,C,w,E,D,O,k;if(e[8]!==h||e[9]!==m||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=m.find(je);_=m.find(Ae);let r;e[25]===m?r=e[26]:(r=(e,t)=>e?m.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[25]=m,e[26]=r);let i=r,a=i(t,`vision`);v=i(_,`coder-bild`);let s=m.filter(e=>![t,_,a,v].includes(e)),l;e[27]===n.data?.zuletzt_geladen?l=e[28]:(l=n.data?.zuletzt_geladen??{},e[27]=n.data?.zuletzt_geladen,e[28]=l);let u=l;e[29]!==h||e[30]!==m?(O=(0,q.jsx)(X,{modelle:m,laufend:h}),e[29]=h,e[30]=m,e[31]=O):O=e[31],e[32]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,q.jsx)(U,{alsPanel:!0}),e[32]=k):k=e[32];let d;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,q.jsx)(ce,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[33]=d):d=e[33],y=(0,q.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,q.jsx)(ce,{titel:`Hirn`,modell:t,zwilling:a,laeuft:!!t&&h.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,q.jsx)(ce,{titel:`Coder`,modell:_,zwilling:v,laeuft:!!_&&h.includes(_.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),d]});let f=n.error?.message??null,p;e[34]!==n.data||e[35]!==n.isPending||e[36]!==f?(p=(0,q.jsx)($,{nutzung:n.data,laedt:n.isPending,fehler:f}),e[34]=n.data,e[35]=n.isPending,e[36]=f,e[37]=p):p=e[37];let x=t?.name,T=_?.name,A;e[38]!==x||e[39]!==T?(A=(0,q.jsx)(ve,{hirn:x,coder:T}),e[38]=x,e[39]=T,e[40]=A):A=e[40],e[41]!==p||e[42]!==A?(b=(0,q.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]`,children:[p,A]}),e[41]=p,e[42]=A,e[43]=b):b=e[43],g=P,w=`Weitere Einträge`,e[44]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,q.jsxs)(R,{variant:`outline`,size:`sm`,onClick:()=>o(!0),children:[(0,q.jsx)(c,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[44]=E):E=e[44],D=s.length===0&&(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),S=`m-0 flex list-none flex-col p-0`;let j;e[45]!==h||e[46]!==u?(j=e=>(0,q.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-linie py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,q.jsxs)(`span`,{className:`min-w-0`,children:[(0,q.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,q.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,q.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:F(e.size_bytes)}),(0,q.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:h.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${I(u[e.name])}`:`länger nicht geladen`})]},e.name),e[45]=h,e[46]=u,e[47]=j):j=e[47],C=s.map(j),e[8]=h,e[9]=m,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=g,e[14]=_,e[15]=v,e[16]=y,e[17]=b,e[18]=S,e[19]=C,e[20]=w,e[21]=E,e[22]=D,e[23]=O,e[24]=k}else g=e[13],_=e[14],v=e[15],y=e[16],b=e[17],S=e[18],C=e[19],w=e[20],E=e[21],D=e[22],O=e[23],k=e[24];let A;e[48]!==S||e[49]!==C?(A=(0,q.jsx)(`ul`,{className:S,children:C}),e[48]=S,e[49]=C,e[50]=A):A=e[50];let M;e[51]!==g||e[52]!==A||e[53]!==w||e[54]!==E||e[55]!==D?(M=(0,q.jsxs)(g,{titel:w,rechts:E,children:[D,A]}),e[51]=g,e[52]=A,e[53]=w,e[54]=E,e[55]=D,e[56]=M):M=e[56];let L;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,q.jsx)(Ce,{}),e[57]=L):L=e[57];let ee;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>o(!1),e[58]=ee):ee=e[58];let z;e[59]!==_||e[60]!==v?(z=_?{name:_.name,zwilling:!!v,weitere:_.aliases.filter(ke)}:void 0,e[59]=_,e[60]=v,e[61]=z):z=e[61];let B;e[62]===z?B=e[63]:(B={coder:z},e[62]=z,e[63]=B);let V;e[64]!==a||e[65]!==B?(V=(0,q.jsx)(J,{offen:a,onSchliessen:ee,rollenJetzt:B}),e[64]=a,e[65]=B,e[66]=V):V=e[66];let te;return e[67]!==y||e[68]!==b||e[69]!==M||e[70]!==V||e[71]!==O||e[72]!==k?(te=(0,q.jsxs)(q.Fragment,{children:[O,k,y,b,M,L,V]}),e[67]=y,e[68]=b,e[69]=M,e[70]=V,e[71]=O,e[72]=k,e[73]=te):te=e[73],te}function ke(e){return e.toLowerCase()!==`coder`}function Ae(e){return p(e)===`coder`}function je(e){return p(e)===`hirn`}function Me(e){return e.hash}export{Oe as ModelleSeite}; \ No newline at end of file +import{i as e,n as t,r as n,s as r}from"./dist-D4CVSex9.js";import{n as i,t as a}from"./useSelector-uUwrspuX.js";import{n as o}from"./useMatch-CiyhmkMV.js";import{t as s}from"./chevron-right-ZOVnQh4C.js";import{t as c}from"./search--3Jwhcgy.js";import{$ as l,A as u,Et as d,Ft as f,It as p,N as m,P as h,Pt as g,Q as _,Rt as v,Tt as y,Xt as b,Z as x,Zt as S,bt as C,dt as w,et as T,f as E,it as D,k as O,kt as k,ot as A,p as j,q as M,rt as N,u as P,xt as F,yt as I,zt as L}from"./index-CYmlXdd4.js";import{t as R}from"./button-D8rvET0Z.js";import{a as ee,i as z,n as B,r as V,t as te}from"./sheet-s_FTWvn-.js";import{t as ne}from"./Bestaetigen-CkA7XucG.js";import{a as H,r as re,s as ie,t as U}from"./Auftraege-ChhFntbA.js";function W(e){let t=i();return a(t.stores.location,o(e,t))}var G=t(),K=r(e(),1),q=n(),ae={coder:`Coder`};function J(e){let t=(0,G.c)(102),{offen:n,onSchliessen:r,rollenJetzt:i}=e,a=M(),[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(``),[m,h]=(0,K.useState)(null),g=(0,K.useRef)(!1),_,v;t[0]===c?(_=t[1],v=t[2]):(_=[`hf-suche`,c],v=()=>L(`/api/hf/search?q=${encodeURIComponent(c)}`),t[0]=c,t[1]=_,t[2]=v);let x=c.length>1,S;t[3]!==_||t[4]!==v||t[5]!==x?(S={queryKey:_,queryFn:v,enabled:x},t[3]=_,t[4]=v,t[5]=x,t[6]=S):S=t[6];let C=b(S),w,T;t[7]===u?(w=t[8],T=t[9]):(w=[`hf-quants`,u],T=()=>L(`/api/hf/quants?repo=${encodeURIComponent(u??``)}`),t[7]=u,t[8]=w,t[9]=T);let E=!!u,D;t[10]!==w||t[11]!==T||t[12]!==E?(D={queryKey:w,queryFn:T,enabled:E},t[10]=w,t[11]=T,t[12]=E,t[13]=D):D=t[13];let O=b(D),k,A,j,N,P,I,H,U,W,J,Y,X,Z;if(t[14]!==m||t[15]!==o||t[16]!==a||t[17]!==n||t[18]!==r||t[19]!==O.data||t[20]!==O.error||t[21]!==O.isError||t[22]!==O.isFetching||t[23]!==u||t[24]!==f||t[25]!==i||t[26]!==C){let e=(O.data?.quants??[]).map(se),c=f?ae[f]??f:null,_;t[40]!==u||t[41]!==f||t[42]!==i||t[43]!==c?(_=c&&u?ie(u,c,i[f]):null,t[40]=u,t[41]=f,t[42]=i,t[43]=c,t[44]=_):_=t[44],j=_;let v;t[45]!==m||t[46]!==a||t[47]!==r||t[48]!==u||t[49]!==f?(v=function(){u&&m&&!g.current&&(g.current=!0,a.mutate({repo:u,quant:m.quant,rolle:f||null},{onSuccess:e=>{h(null),e.ok!==!1&&r()},onError:()=>h(null),onSettled:()=>{g.current=!1}}))},t[45]=m,t[46]=a,t[47]=r,t[48]=u,t[49]=f,t[50]=v):v=t[50],N=v,A=te,Y=n,t[51]===r?X=t[52]:(X=e=>!e&&r(),t[51]=r,t[52]=X),k=B,H=`right`,U=`gap-3 overflow-y-auto border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-xl`,t[53]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,q.jsxs)(z,{children:[(0,q.jsx)(ee,{className:`schild text-lg`,children:`Modelle selbst suchen`}),(0,q.jsx)(V,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),t[53]=W):W=t[53];let b;t[54]===o?b=t[55]:(b=e=>{e.preventDefault(),d(null),l(o.trim())},t[54]=o,t[55]=b);let x;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,q.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=x):x=t[56];let S;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>s(e.target.value),t[57]=S):S=t[57];let w;t[58]===o?w=t[59]:(w=(0,q.jsx)(`input`,{id:`hf-suche`,value:o,onChange:S,placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),t[58]=o,t[59]=w);let T;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,q.jsx)(R,{type:`submit`,children:`Suchen`}),t[60]=T):T=t[60],t[61]!==b||t[62]!==w?(J=(0,q.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:b,children:[x,w,T]}),t[61]=b,t[62]=w,t[63]=J):J=t[63],Z=`flex flex-col px-4 pb-4`,t[64]!==u||t[65]!==C?(P=!u&&(0,q.jsxs)(q.Fragment,{children:[C.isFetching&&(0,q.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!C.isFetching&&C.isError&&(0,q.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,C.error.message]}),!C.isFetching&&C.data?.results.length===0&&(0,q.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),C.data?.results.map(e=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>d(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-linie py-2 text-left hover:text-cyan`,children:[(0,q.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,q.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[y(e.downloads),` ↓`]})]},e.repo))]}),t[64]=u,t[65]=C,t[66]=P):P=t[66],I=u&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:u}),(0,q.jsx)(R,{variant:`ghost`,size:`sm`,onClick:()=>d(null),children:`Zurück`})]}),(0,q.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,q.jsxs)(`select`,{value:f,onChange:e=>p(e.target.value),className:`h-11 min-w-0 rounded-lg border border-linie-stark bg-erhaben px-3 text-foreground`,children:[(0,q.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(ae).map(oe)]})]}),j&&(0,q.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-sm leading-relaxed text-bernstein`,children:j}),O.isFetching&&(0,q.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!O.isFetching&&O.isError&&(0,q.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,O.error.message]}),!O.isFetching&&O.data&&e.length===0&&(0,q.jsx)(`p`,{className:`text-sm text-text-2`,children:`Hier gibt es keine GGUF-Dateien, die sich installieren lassen.`}),e.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2`,children:[(0,q.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,q.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,q.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:F(n,1)}):null,(0,q.jsx)(R,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>h({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=m,t[15]=o,t[16]=a,t[17]=n,t[18]=r,t[19]=O.data,t[20]=O.error,t[21]=O.isError,t[22]=O.isFetching,t[23]=u,t[24]=f,t[25]=i,t[26]=C,t[27]=k,t[28]=A,t[29]=j,t[30]=N,t[31]=P,t[32]=I,t[33]=H,t[34]=U,t[35]=W,t[36]=J,t[37]=Y,t[38]=X,t[39]=Z}else k=t[27],A=t[28],j=t[29],N=t[30],P=t[31],I=t[32],H=t[33],U=t[34],W=t[35],J=t[36],Y=t[37],X=t[38],Z=t[39];let Q;t[67]!==P||t[68]!==I||t[69]!==Z?(Q=(0,q.jsxs)(`div`,{className:Z,children:[P,I]}),t[67]=P,t[68]=I,t[69]=Z,t[70]=Q):Q=t[70];let ce=m!==null,$;t[71]!==m||t[72]!==u?($=m&&u?`${u} (${m.quant}${m.bytes?`, ${F(m.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(m.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=m,t[72]=u,t[73]=$):$=t[73];let le=a.isPending?`Wird gestartet …`:`Installieren`,ue=a.isPending,de;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>h(null),t[74]=de):de=t[74];let fe;t[75]===j?fe=t[76]:(fe=j&&(0,q.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-[15px] leading-relaxed text-bernstein`,children:j}),t[75]=j,t[76]=fe);let pe=!!f,me;t[77]===pe?me=t[78]:(me=re(pe),t[77]=pe,t[78]=me);let he;t[79]===me?he=t[80]:(he=(0,q.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:me}),t[79]=me,t[80]=he);let ge;t[81]!==a.isPending||t[82]!==N||t[83]!==ce||t[84]!==$||t[85]!==le||t[86]!==fe||t[87]!==he?(ge=(0,q.jsxs)(ne,{offen:ce,titel:`Modell installieren?`,text:$,knopf:le,gesperrt:ue,onNein:de,onJa:N,children:[fe,he]}),t[81]=a.isPending,t[82]=N,t[83]=ce,t[84]=$,t[85]=le,t[86]=fe,t[87]=he,t[88]=ge):ge=t[88];let _e;t[89]!==k||t[90]!==H||t[91]!==U||t[92]!==W||t[93]!==J||t[94]!==Q||t[95]!==ge?(_e=(0,q.jsxs)(k,{side:H,className:U,children:[W,J,Q,ge]}),t[89]=k,t[90]=H,t[91]=U,t[92]=W,t[93]=J,t[94]=Q,t[95]=ge,t[96]=_e):_e=t[96];let ve;return t[97]!==A||t[98]!==Y||t[99]!==X||t[100]!==_e?(ve=(0,q.jsx)(A,{open:Y,onOpenChange:X,children:_e}),t[97]=A,t[98]=Y,t[99]=X,t[100]=_e,t[101]=ve):ve=t[101],ve}function oe(e){let[t,n]=e;return(0,q.jsx)(`option`,{value:t,children:n},t)}function se(e){return typeof e==`string`?{quant:e}:e}var Y=115;function X(e){let t=(0,G.c)(55),{modelle:n,laufend:r}=e,i=d(),a=w(),o,s,c,l,u,f,p,m,h,g;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=C(i?.ram_total??a.data?.box.ram_total)??122.7,d=C(i?.ram_used??a.data?.box.ram_used)??0,_;t[15]===r?_=t[16]:(_=e=>r.includes(e.name),t[15]=r,t[16]=_);let v=n.filter(_).reduce(Z,0);s=Math.max(0,d-v);let y=t=>`${Math.min(100,t/e*100)}%`;o=P,m=`Speicher`,h=(0,q.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(d),` von `,Math.round(e),` GB belegt · Grenze ~`,Y,` GB`]});let b=`Speicher: ${Math.round(d)} von ${Math.round(e)} GB belegt`,x=y(d),S;t[17]===x?S=t[18]:(S={width:x},t[17]=x,t[18]=S);let w=`${d?v/d*100:0}%`,T;t[19]===w?T=t[20]:(T=(0,q.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:w}}),t[19]=w,t[20]=T);let E=`${d?s/d*100:0}%`,D;t[21]===E?D=t[22]:(D=(0,q.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:E}}),t[21]=E,t[22]=D);let O;t[23]!==S||t[24]!==T||t[25]!==D?(O=(0,q.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:S,children:[T,D]}),t[23]=S,t[24]=T,t[25]=D,t[26]=O):O=t[26];let k=y(Y),A;t[27]===k?A=t[28]:(A=(0,q.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:k}}),t[27]=k,t[28]=A),t[29]!==b||t[30]!==O||t[31]!==A?(g=(0,q.jsxs)(`div`,{className:`relative h-8 rounded-lg bg-erhaben`,role:`img`,"aria-label":b,children:[O,A]}),t[29]=b,t[30]=O,t[31]=A,t[32]=g):g=t[32],p=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=l):l=t[33],u=` Geladene Modelle: `,f=Math.round(v),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=f,t[11]=p,t[12]=m,t[13]=h,t[14]=g}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14];let _;t[34]!==c||t[35]!==l||t[36]!==u||t[37]!==f?(_=(0,q.jsxs)(`span`,{className:c,children:[l,u,f,` GB Dateien`]}),t[34]=c,t[35]=l,t[36]=u,t[37]=f,t[38]=_):_=t[38];let v;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,q.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=v):v=t[39];let y;t[40]===s?y=t[41]:(y=Math.round(s),t[40]=s,t[41]=y);let b;t[42]===y?b=t[43]:(b=(0,q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[v,` Cache, Dienste, System: `,y,` GB`]}),t[42]=y,t[43]=b);let x;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=x):x=t[44];let S;t[45]!==b||t[46]!==p||t[47]!==_?(S=(0,q.jsxs)(`div`,{className:p,children:[_,b,x]}),t[45]=b,t[46]=p,t[47]=_,t[48]=S):S=t[48];let T;return t[49]!==o||t[50]!==S||t[51]!==m||t[52]!==h||t[53]!==g?(T=(0,q.jsxs)(o,{titel:m,rechts:h,children:[g,S]}),t[49]=o,t[50]=S,t[51]=m,t[52]=h,t[53]=g,t[54]=T):T=t[54],T}function Z(e,t){return e+(C(t.size_bytes)??0)}function Q(e){let t=(0,G.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,q.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,q.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function ce(e){let t=(0,G.c)(48),{titel:n,modell:r,zwilling:i,laeuft:a,nutzer:o}=e,s=_();if(!r){let e;t[0]===n?e=t[1]:(e=(0,q.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(E,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,q.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,q.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-linie-stark p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let c;t[9]!==r.ctx||t[10]!==r.parallel_slots?(c=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=c):c=t[11];let l=c,u=!!r.capabilities?.vision||!!i,d;t[12]===n?d=t[13]:(d=(0,q.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[12]=n,t[13]=d);let f=a?`gruen`:`grau`,p=a?`Geladen`:`Auf Abruf`,m;t[14]!==f||t[15]!==p?(m=(0,q.jsx)(E,{art:f,children:p}),t[14]=f,t[15]=p,t[16]=m):m=t[16];let h;t[17]!==d||t[18]!==m?(h=(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[d,m]}),t[17]=d,t[18]=m,t[19]=h):h=t[19];let g;t[20]===r.name?g=t[21]:(g=(0,q.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=g);let v;t[22]===r.size_bytes?v=t[23]:(v=F(r.size_bytes),t[22]=r.size_bytes,t[23]=v);let y;t[24]===v?y=t[25]:(y=(0,q.jsx)(Q,{name:`Größe`,wert:v}),t[24]=v,t[25]=y);let b=l?`${l}k`:`–`,x;t[26]===b?x=t[27]:(x=(0,q.jsx)(Q,{name:`Kontext`,wert:b}),t[26]=b,t[27]=x);let S=u?`ja`:`nein`,C;t[28]===S?C=t[29]:(C=(0,q.jsx)(Q,{name:`Bilder`,wert:S}),t[28]=S,t[29]=C);let w;t[30]!==x||t[31]!==C||t[32]!==y?(w=(0,q.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[y,x,C]}),t[30]=x,t[31]=C,t[32]=y,t[33]=w):w=t[33];let T=r.spec_active?` Mit Draft-Beschleunigung.`:``,D=i?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,O;t[34]!==o||t[35]!==T||t[36]!==D?(O=(0,q.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,T,D]}),t[34]=o,t[35]=T,t[36]=D,t[37]=O):O=t[37];let k;t[38]!==s||t[39]!==a||t[40]!==r.name?(k=!a&&(0,q.jsx)(R,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>s.mutate(r.name),disabled:s.isPending,children:`Jetzt laden`}),t[38]=s,t[39]=a,t[40]=r.name,t[41]=k):k=t[41];let A;return t[42]!==w||t[43]!==O||t[44]!==k||t[45]!==h||t[46]!==g?(A=(0,q.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-linie bg-panel p-5`,children:[h,g,w,O,k]}),t[42]=w,t[43]=O,t[44]=k,t[45]=h,t[46]=g,t[47]=A):A=t[47],A}function $(e){let t=(0,G.c)(54),{nutzung:n,laedt:r,fehler:i}=e;if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,q.jsx)(P,{titel:`Wer nutzt die Modelle`,children:r?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Nutzung lässt sich gerade nicht lesen`,i?`: ${i}`:`.`]})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let a;t[3]===n.absender?a=t[4]:(a=Math.max(1,...n.absender.map(fe)),t[3]=n.absender,t[4]=a);let o=a,s,c,l,u,d,f,p,m,h,g,_,v;if(t[5]!==o||t[6]!==n.absender||t[7]!==n.letzte_24h||t[8]!==n.tage){let e=n.letzte_24h.map(ue),r=Math.max(1,...e);s=P,v=`Wer nutzt die Modelle`,t[21]===n.tage?c=t[22]:(c=(0,q.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`letzte `,n.tage,` Tage`]}),t[21]=n.tage,t[22]=c),t[23]===n.absender.length?l=t[24]:(l=n.absender.length===0&&(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}),t[23]=n.absender.length,t[24]=l);let i;if(t[25]!==o||t[26]!==n.absender){let e;t[28]===o?e=t[29]:(e=e=>(0,q.jsxs)(`li`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex justify-between gap-3 text-sm`,children:[(0,q.jsx)(`span`,{children:e.name}),(0,q.jsx)(`span`,{className:`ziffern`,children:y(e.anfragen)})]}),(0,q.jsx)(`div`,{className:`h-2 rounded-full bg-erhaben`,children:(0,q.jsx)(`div`,{className:`h-2 rounded-full bg-cyan`,style:{width:`${e.anfragen/o*100}%`}})})]},e.name),t[28]=o,t[29]=e),i=n.absender.map(e),t[25]=o,t[26]=n.absender,t[27]=i}else i=t[27];t[30]===i?u=t[31]:(u=(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-3.5 p-0`,children:i}),t[30]=i,t[31]=u),g=`flex flex-col gap-1.5`,t[32]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(`span`,{className:`schild text-xs text-text-3`,children:`Anfragen je Stunde, letzte 24 h`}),t[32]=_):_=t[32],d=`0 0 240 64`,f=`h-16 w-full`,p=`img`,m=`Anfragen je Stunde in den letzten 24 Stunden`;let a;t[33]===r?a=t[34]:(a=(e,t)=>{let n=e?Math.max(3,e/r*50):2;return(0,q.jsx)(`rect`,{x:t*10+1.5,y:52-n,width:7,height:n,rx:1.5,fill:e?`var(--cyan)`:`var(--linie)`},t)},t[33]=r,t[34]=a),h=e.map(a),t[5]=o,t[6]=n.absender,t[7]=n.letzte_24h,t[8]=n.tage,t[9]=s,t[10]=c,t[11]=l,t[12]=u,t[13]=d,t[14]=f,t[15]=p,t[16]=m,t[17]=h,t[18]=g,t[19]=_,t[20]=v}else s=t[9],c=t[10],l=t[11],u=t[12],d=t[13],f=t[14],p=t[15],m=t[16],h=t[17],g=t[18],_=t[19],v=t[20];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=[0,6,12,18].map(le),t[35]=b):b=t[35];let x;t[36]!==d||t[37]!==f||t[38]!==p||t[39]!==m||t[40]!==h?(x=(0,q.jsxs)(`svg`,{viewBox:d,className:f,role:p,"aria-label":m,children:[h,b]}),t[36]=d,t[37]=f,t[38]=p,t[39]=m,t[40]=h,t[41]=x):x=t[41];let S;t[42]!==x||t[43]!==g||t[44]!==_?(S=(0,q.jsxs)(`div`,{className:g,children:[_,x]}),t[42]=x,t[43]=g,t[44]=_,t[45]=S):S=t[45];let C;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,q.jsx)(`p`,{className:`text-xs text-text-3`,children:`Anfragen an llama-swap. NerdQuiz geht direkt dorthin, alles andere über MC2.`}),t[46]=C):C=t[46];let w;return t[47]!==s||t[48]!==c||t[49]!==l||t[50]!==u||t[51]!==S||t[52]!==v?(w=(0,q.jsxs)(s,{titel:v,rechts:c,children:[l,u,S,C]}),t[47]=s,t[48]=c,t[49]=l,t[50]=u,t[51]=S,t[52]=v,t[53]=w):w=t[53],w}function le(e){return(0,q.jsx)(`text`,{x:e*10+5,y:63,textAnchor:`middle`,style:{fontSize:9,fill:`var(--text-3)`,fontFamily:`var(--font-mono)`},children:e},e)}function ue(e){return Object.values(e.je_absender).reduce(de,0)}function de(e,t){return e+t}function fe(e){return e.anfragen}var pe={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},me={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function he(e){let t=(0,G.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsxs)(`div`,{role:`row`,className:`schild grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-xs text-text-3`,children:[(0,q.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,q.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,q.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,q.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`rounded-lg border border-linie bg-erhaben/50 px-3 py-2 text-sm`,children:[a,e.map(ge)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ge(e){let[t,n]=e;return(0,q.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-linie py-1`,children:[(0,q.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,q.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${me[n.urteil??``]??`text-text-2`}`,children:f(n.kandidat,n.einheit)}),(0,q.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:f(n.baseline,n.einheit)})]},t)}function _e(e){let t=(0,G.c)(59),{k:n,test:r,heute:i}=e,a=D(),[o,s]=(0,K.useState)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=c):c=t[0];let l=c.includes(n.status),u=n.rolle===`hirn`,d;t[1]===n.name?d=t[2]:(d=(0,q.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=d);let f=u?`fürs Hirn`:`fürs Coden`,p;t[3]===f?p=t[4]:(p=(0,q.jsx)(E,{art:`cyan`,children:f}),t[3]=f,t[4]=p);let m;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(m=n.groesse_gb!=null&&(0,q.jsx)(E,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=m):m=t[8];let h=pe[n.status]??`grau`,g=k[n.status]??n.status,_;t[9]!==h||t[10]!==g?(_=(0,q.jsx)(E,{art:h,children:g}),t[9]=h,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==d||t[13]!==p||t[14]!==m||t[15]!==_?(v=(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[d,p,m,_]}),t[12]=d,t[13]=p,t[14]=m,t[15]=_,t[16]=v):v=t[16];let y;t[17]===n.groesse_gb?y=t[18]:(y=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=y);let b;t[19]!==n.begruendung||t[20]!==y?(b=(0,q.jsxs)(`p`,{className:`text-sm text-text-2`,children:[y,n.begruendung]}),t[19]=n.begruendung,t[20]=y,t[21]=b):b=t[21];let x;t[22]!==n.status||t[23]!==r?(x=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,q.jsx)(he,{test:r}),t[22]=n.status,t[23]=r,t[24]=x):x=t[24];let S;t[25]!==a.isPending||t[26]!==n.status||t[27]!==l?(S=l&&(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.status===`bestanden`&&(0,q.jsx)(R,{size:`sm`,disabled:a.isPending,onClick:()=>s(`uebernehmen`),children:`Übernehmen`}),(0,q.jsx)(R,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>s(`verwerfen`),children:`Verwerfen`})]}),t[25]=a.isPending,t[26]=n.status,t[27]=l,t[28]=S):S=t[28];let C=o===`uebernehmen`,w=`${n.name} übernehmen?`,T=u?`${n.name} wird Lucys Hirn${i?` und löst ${i} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${i?` und löst ${i} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>s(null),t[29]=O):O=t[29];let A;t[30]!==a||t[31]!==o||t[32]!==n.id||t[33]!==n.name?(A=()=>{o===`uebernehmen`&&(a.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),s(null))},t[30]=a,t[31]=o,t[32]=n.id,t[33]=n.name,t[34]=A):A=t[34];let j;t[35]!==a.isPending||t[36]!==C||t[37]!==w||t[38]!==T||t[39]!==A?(j=(0,q.jsx)(ne,{offen:C,titel:w,text:T,knopf:`Übernehmen`,gesperrt:a.isPending,onNein:O,onJa:A}),t[35]=a.isPending,t[36]=C,t[37]=w,t[38]=T,t[39]=A,t[40]=j):j=t[40];let M=o===`verwerfen`,N=`${n.name} verwerfen?`,P;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>s(null),t[41]=P):P=t[41];let F;t[42]!==a||t[43]!==o||t[44]!==n.id||t[45]!==n.name?(F=()=>{o===`verwerfen`&&(a.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),s(null))},t[42]=a,t[43]=o,t[44]=n.id,t[45]=n.name,t[46]=F):F=t[46];let I;t[47]!==a.isPending||t[48]!==M||t[49]!==N||t[50]!==F?(I=(0,q.jsx)(ne,{offen:M,gefahr:!0,titel:N,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,gesperrt:a.isPending,onNein:P,onJa:F}),t[47]=a.isPending,t[48]=M,t[49]=N,t[50]=F,t[51]=I):I=t[51];let L;return t[52]!==b||t[53]!==x||t[54]!==S||t[55]!==j||t[56]!==I||t[57]!==v?(L=(0,q.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3.5`,children:[v,b,x,S,j,I]}),t[52]=b,t[53]=x,t[54]=S,t[55]=j,t[56]=I,t[57]=v,t[58]=L):L=t[58],L}function ve(e){let t=(0,G.c)(30),{hirn:n,coder:r}=e,i=N(),a=A(),o=x(),s=S(),c=o.data?.jobs,l=(c??[]).filter(be).at(-1),u=a.data?.job_id,d;t[0]!==u||t[1]!==c?(d=!!u&&!!c&&!c.some(e=>e.id===u),t[0]=u,t[1]=c,t[2]=d):d=t[2];let f=d,p=a.isPending||f||l!==void 0&&g(l),m=(0,K.useRef)(p);if((0,K.useEffect)(()=>{m.current&&!p&&s.invalidateQueries({queryKey:[`radar`]}),m.current=p},[p,s]),i.isError&&!i.data){let e=i.error instanceof v&&i.error.status===404,n;return t[3]!==e||t[4]!==i.error?(n=(0,q.jsx)(P,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,i.error.message]})}),t[3]=e,t[4]=i.error,t[5]=n):n=t[5],n}let h=i.data,_=P,y;t[6]===a?y=t[7]:(y=()=>a.mutate(void 0),t[6]=a,t[7]=y);let b=p?`Sucht …`:`Jetzt suchen`,C;t[8]!==p||t[9]!==y||t[10]!==b?(C=(0,q.jsx)(R,{variant:`info`,size:`sm`,onClick:y,disabled:p,children:b}),t[8]=p,t[9]=y,t[10]=b,t[11]=C):C=t[11];let w;t[12]===h?w=t[13]:(w=h?.naechster_test?` Nächster Test: ${I(h.naechster_test)}.`:``,t[12]=h,t[13]=w);let T=p?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,E;t[14]!==w||t[15]!==T?(E=(0,q.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche.`,w,T]}),t[14]=w,t[15]=T,t[16]=E):E=t[16];let D=!p&&l?.state===`failed`&&(0,q.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,H(l)??`ohne Meldung`]}),O;t[17]!==r||t[18]!==h||t[19]!==n?(O=h?h.kandidaten.length===0?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:h.kandidaten.map(e=>(0,q.jsx)(_e,{k:e,test:h.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=h,t[19]=n,t[20]=O):O=t[20];let k;t[21]===h?k=t[22]:(k=h&&h.tests.length>0&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`h3`,{className:`schild text-xs text-text-3`,children:`Letzte Tests`}),h.tests.slice(0,3).map(ye)]}),t[21]=h,t[22]=k);let j;return t[23]!==_||t[24]!==E||t[25]!==D||t[26]!==O||t[27]!==k||t[28]!==C?(j=(0,q.jsxs)(_,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:C,children:[E,D,O,k]}),t[23]=_,t[24]=E,t[25]=D,t[26]=O,t[27]=k,t[28]=C,t[29]=j):j=t[29],j}function ye(e){return(0,q.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,q.jsx)(`span`,{className:`ziffern text-text-3`,children:I(e.datum)}),` · `,e.zusammenfassung]},e.id)}function be(e){return e.group===`radar`}var xe=`text-rot-text hover:bg-rot-grund hover:text-rot-text`;function Se(e){let t=(0,G.c)(13),{titel:n,zusatz:r,children:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(s,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,q.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[a,n]}),t[1]=n,t[2]=o);let c;t[3]===r?c=t[4]:(c=(0,q.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[3]=r,t[4]=c);let l;t[5]!==o||t[6]!==c?(l=(0,q.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[o,c]}),t[5]=o,t[6]=c,t[7]=l):l=t[7];let u;t[8]===i?u=t[9]:(u=(0,q.jsx)(`div`,{className:`flex flex-col gap-2 pb-1`,children:i}),t[8]=i,t[9]=u);let d;return t[10]!==l||t[11]!==u?(d=(0,q.jsxs)(`details`,{className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function Ce(){let e=(0,G.c)(37),t=m(),n=h(),[r,i]=(0,K.useState)(null),a,o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n){u=Symbol.for(`react.early_return_sentinel`);bb0:{let r=t.data?.kandidaten??[],d=r.reduce(we,0);if(t.isError&&!t.data){let n;e[11]===t.error.message?n=e[12]:(n=(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Was sich aufräumen ließe, lässt sich gerade nicht lesen: `,t.error.message]}),e[11]=t.error.message,e[12]=n);let r;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(Ee,{}),e[13]=r):r=e[13];let i;e[14]===n?i=e[15]:(i=(0,q.jsxs)(P,{titel:`Aufräumen`,children:[n,r]}),e[14]=n,e[15]=i),u=i;break bb0}a=P,o=`Aufräumen`,s=r.length>0?(0,q.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,d.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0,e[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(`p`,{className:`-mt-2 text-sm text-text-2`,children:`Modelle und Ordner, die gerade niemand nutzt. Nichts davon wird von selbst gelöscht, das entscheidest du je Eintrag.`}),e[16]=c):c=e[16],l=t.isPending?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):r.length===0?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,q.jsx)(Se,{titel:`Modelle und Ordner`,zusatz:`${r.length} Einträge · bis zu ${d.toLocaleString(`de-DE`,{maximumFractionDigits:0})} GB`,children:(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,q.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,q.jsx)(E,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,q.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,q.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,q.jsx)(R,{variant:`ghost`,size:`sm`,className:xe,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))})})}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n,e[5]=a,e[6]=o,e[7]=s,e[8]=c,e[9]=l,e[10]=u}else a=e[5],o=e[6],s=e[7],c=e[8],l=e[9],u=e[10];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d=r!==null,f=`${r?.name??``} löschen?`,p;e[17]===r?.groesse_gb?p=e[18]:(p=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[17]=r?.groesse_gb,e[18]=p);let g=`${r?.hinweis??``} Es werden ${p} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,_;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>i(null),e[19]=_):_=e[19];let v;e[20]!==r||e[21]!==n?(v=()=>{r&&n.mutate(r),i(null)},e[20]=r,e[21]=n,e[22]=v):v=e[22];let y;e[23]!==n.isPending||e[24]!==v||e[25]!==d||e[26]!==f||e[27]!==g?(y=(0,q.jsx)(ne,{offen:d,gefahr:!0,titel:f,text:g,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:_,onJa:v}),e[23]=n.isPending,e[24]=v,e[25]=d,e[26]=f,e[27]=g,e[28]=y):y=e[28];let b;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,q.jsx)(Ee,{}),e[29]=b):b=e[29];let x;return e[30]!==a||e[31]!==o||e[32]!==s||e[33]!==y||e[34]!==c||e[35]!==l?(x=(0,q.jsxs)(a,{titel:o,rechts:s,children:[c,l,y,b]}),e[30]=a,e[31]=o,e[32]=s,e[33]=y,e[34]=c,e[35]=l,e[36]=x):x=e[36],x}function we(e,t){return e+t.groesse_gb}function Te(e){return e>=1e9?`${(e/1e9).toLocaleString(`de-DE`,{maximumFractionDigits:1})} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:e>=1e3?`${Math.round(e/1e3)} KB`:`unter 1 KB`}function Ee(){let e=(0,G.c)(23),t=u(),n=O(),[r,i]=(0,K.useState)(null),a,o;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n.isPending){let r=t.data?.altreste??[],s=r.reduce(De,0);a=`flex flex-col gap-2`,o=t.isPending?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,q.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):r.length===0?(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,q.jsxs)(Se,{titel:`Altreste neben dem Betrieb`,zusatz:`${r.length} Einträge · ${Te(s)}`,children:[(0,q.jsx)(`p`,{className:`text-sm text-text-2`,children:`Test-Ordner, alte Umgebungen und Arbeitskopien, die nichts mehr nutzt. Die Box prüft sie gegen eine feste Liste und löscht auch hier nie von selbst.`}),(0,q.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,q.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,q.jsx)(E,{children:`Altrest`})]}),(0,q.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,q.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,q.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,q.jsx)(R,{variant:`ghost`,size:`sm`,className:xe,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},e.id))})]}),e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n.isPending,e[5]=a,e[6]=o}else a=e[5],o=e[6];let s=r!==null,c=`${r?.name??``} löschen?`,l;e[7]===r?.pfade?l=e[8]:(l=r?.pfade.join(`, `)??``,e[7]=r?.pfade,e[8]=l);let d=`${r?.hinweis??``} Gelöscht wird: ${l} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,f;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>i(null),e[9]=f):f=e[9];let p;e[10]!==r||e[11]!==n?(p=()=>{r&&n.mutate(r),i(null)},e[10]=r,e[11]=n,e[12]=p):p=e[12];let m;e[13]!==n.isPending||e[14]!==s||e[15]!==c||e[16]!==d||e[17]!==p?(m=(0,q.jsx)(ne,{offen:s,gefahr:!0,titel:c,text:d,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:f,onJa:p}),e[13]=n.isPending,e[14]=s,e[15]=c,e[16]=d,e[17]=p,e[18]=m):m=e[18];let h;return e[19]!==a||e[20]!==o||e[21]!==m?(h=(0,q.jsxs)(`div`,{className:a,children:[o,m]}),e[19]=a,e[20]=o,e[21]=m,e[22]=h):h=e[22],h}function De(e,t){return e+t.groesse_bytes}function Oe(){let e=(0,G.c)(74),t=l(),n=T(),r=N(),i=x(),[a,o]=(0,K.useState)(!1),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={select:Me},e[0]=s):s=e[0];let u=W(s),d=!!t.data&&!n.isPending&&!r.isPending&&!i.isPending,f,p;if(e[1]!==d||e[2]!==u?(f=()=>{d&&u===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},p=[d,u],e[1]=d,e[2]=u,e[3]=f,e[4]=p):(f=e[3],p=e[4]),(0,K.useEffect)(f,p),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(j,{text:`Modelle werden gelesen …`}),e[5]=t):t=e[5],t}if(!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[6]===n?r=e[7]:(r=(0,q.jsx)(j,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let m=t.data.models,h=t.data.running,g,_,v,y,b,S,C,w,E,D,O,k;if(e[8]!==h||e[9]!==m||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=m.find(je);_=m.find(Ae);let r;e[25]===m?r=e[26]:(r=(e,t)=>e?m.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[25]=m,e[26]=r);let i=r,a=i(t,`vision`);v=i(_,`coder-bild`);let s=m.filter(e=>![t,_,a,v].includes(e)),l;e[27]===n.data?.zuletzt_geladen?l=e[28]:(l=n.data?.zuletzt_geladen??{},e[27]=n.data?.zuletzt_geladen,e[28]=l);let u=l;e[29]!==h||e[30]!==m?(O=(0,q.jsx)(X,{modelle:m,laufend:h}),e[29]=h,e[30]=m,e[31]=O):O=e[31],e[32]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,q.jsx)(U,{alsPanel:!0}),e[32]=k):k=e[32];let d;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,q.jsx)(ce,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[33]=d):d=e[33],y=(0,q.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,q.jsx)(ce,{titel:`Hirn`,modell:t,zwilling:a,laeuft:!!t&&h.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,q.jsx)(ce,{titel:`Coder`,modell:_,zwilling:v,laeuft:!!_&&h.includes(_.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),d]});let f=n.error?.message??null,p;e[34]!==n.data||e[35]!==n.isPending||e[36]!==f?(p=(0,q.jsx)($,{nutzung:n.data,laedt:n.isPending,fehler:f}),e[34]=n.data,e[35]=n.isPending,e[36]=f,e[37]=p):p=e[37];let x=t?.name,T=_?.name,A;e[38]!==x||e[39]!==T?(A=(0,q.jsx)(ve,{hirn:x,coder:T}),e[38]=x,e[39]=T,e[40]=A):A=e[40],e[41]!==p||e[42]!==A?(b=(0,q.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]`,children:[p,A]}),e[41]=p,e[42]=A,e[43]=b):b=e[43],g=P,w=`Weitere Einträge`,e[44]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,q.jsxs)(R,{variant:`outline`,size:`sm`,onClick:()=>o(!0),children:[(0,q.jsx)(c,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[44]=E):E=e[44],D=s.length===0&&(0,q.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),S=`m-0 flex list-none flex-col p-0`;let j;e[45]!==h||e[46]!==u?(j=e=>(0,q.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-linie py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,q.jsxs)(`span`,{className:`min-w-0`,children:[(0,q.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,q.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,q.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:F(e.size_bytes)}),(0,q.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:h.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${I(u[e.name])}`:`länger nicht geladen`})]},e.name),e[45]=h,e[46]=u,e[47]=j):j=e[47],C=s.map(j),e[8]=h,e[9]=m,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=g,e[14]=_,e[15]=v,e[16]=y,e[17]=b,e[18]=S,e[19]=C,e[20]=w,e[21]=E,e[22]=D,e[23]=O,e[24]=k}else g=e[13],_=e[14],v=e[15],y=e[16],b=e[17],S=e[18],C=e[19],w=e[20],E=e[21],D=e[22],O=e[23],k=e[24];let A;e[48]!==S||e[49]!==C?(A=(0,q.jsx)(`ul`,{className:S,children:C}),e[48]=S,e[49]=C,e[50]=A):A=e[50];let M;e[51]!==g||e[52]!==A||e[53]!==w||e[54]!==E||e[55]!==D?(M=(0,q.jsxs)(g,{titel:w,rechts:E,children:[D,A]}),e[51]=g,e[52]=A,e[53]=w,e[54]=E,e[55]=D,e[56]=M):M=e[56];let L;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,q.jsx)(Ce,{}),e[57]=L):L=e[57];let ee;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>o(!1),e[58]=ee):ee=e[58];let z;e[59]!==_||e[60]!==v?(z=_?{name:_.name,zwilling:!!v,weitere:_.aliases.filter(ke)}:void 0,e[59]=_,e[60]=v,e[61]=z):z=e[61];let B;e[62]===z?B=e[63]:(B={coder:z},e[62]=z,e[63]=B);let V;e[64]!==a||e[65]!==B?(V=(0,q.jsx)(J,{offen:a,onSchliessen:ee,rollenJetzt:B}),e[64]=a,e[65]=B,e[66]=V):V=e[66];let te;return e[67]!==y||e[68]!==b||e[69]!==M||e[70]!==V||e[71]!==O||e[72]!==k?(te=(0,q.jsxs)(q.Fragment,{children:[O,k,y,b,M,L,V]}),e[67]=y,e[68]=b,e[69]=M,e[70]=V,e[71]=O,e[72]=k,e[73]=te):te=e[73],te}function ke(e){return e.toLowerCase()!==`coder`}function Ae(e){return p(e)===`coder`}function je(e){return p(e)===`hirn`}function Me(e){return e.hash}export{Oe as ModelleSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Monitoring-Dh_DGery.js b/frontend/dist/assets/Monitoring-v7mq5XN5.js similarity index 99% rename from frontend/dist/assets/Monitoring-Dh_DGery.js rename to frontend/dist/assets/Monitoring-v7mq5XN5.js index df4990e..38ea88d 100644 --- a/frontend/dist/assets/Monitoring-Dh_DGery.js +++ b/frontend/dist/assets/Monitoring-v7mq5XN5.js @@ -1 +1 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Et as a,F as o,J as s,W as c,a as l,c as u,i as d,l as f,n as p,o as m,p as h,qt as g,r as _,s as v,t as y,tt as b,u as x}from"./index-FvHAYExN.js";var S=t(),C=r(e(),1),w=n(),T={rechts:12,oben:10,unten:24};function E(e){let t=(0,S.c)(4),n=e===void 0?640:e,r=(0,C.useRef)(null),[i,a]=(0,C.useState)(n),o,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{let e=r.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let[t]=e;return a(Math.max(240,Math.round(t.contentRect.width)))});return t.observe(e),()=>t.disconnect()},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,C.useEffect)(o,s);let c;return t[2]===i?c=t[3]:(c=[r,i],t[2]=i,t[3]=c),c}function D(e){let t=(0,S.c)(72),{reihen:n,einheit:r,langerZeitraum:i,hoehe:a,titel:o}=e,s=a===void 0?180:a,[c,l]=E(),[d,f]=(0,C.useState)(null),h,g,y,b,x,D,j,M;if(t[0]!==l||t[1]!==r||t[2]!==s||t[3]!==d||t[4]!==i||t[5]!==c||t[6]!==n||t[7]!==o){let e=n[0]?.punkte??[],a=e.length,S=m(n.map(ee),r),C=r===`prozent`?[0,25,50,75,100]:[0,S/2,S],E=Math.max(40,Math.max(...C.map(e=>v(e,r).length))*7+12),N;t[16]===E?N=t[17]:(N={...T,links:E},t[16]=E,t[17]=N);let P=N,F=l-P.links-T.rechts,I=s-T.oben-T.unten,L=e[0]?.[0]??0,R=e[a-1]?.[0]??1,z=e=>P.links+(R>L?(e-L)/(R-L)*F:0),te;t[18]!==I||t[19]!==S?(te=e=>T.oben+I-Math.min(e,S)/(S||1)*I,t[18]=I,t[19]=S,t[20]=te):te=t[20];let B=te,V=T.oben+I,ne=a>1?[0,.25,.5,.75,1].map(t=>e[Math.round(t*(a-1))][0]):[],re;t[21]===n?re=t[22]:(re=n.some(A),t[21]=n,t[22]=re);let H=re,ie;t[23]===a?ie=t[24]:(ie=function(e){if(a===0)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width));f(Math.round(n*(a-1)))},t[23]=a,t[24]=ie);let U=ie,W;t[25]===a?W=t[26]:(W=function(e){if(a!==0){if(e.key===`ArrowLeft`)f(e=>Math.max(0,(e??a-1)-1));else if(e.key===`ArrowRight`)f(e=>Math.min(a-1,(e??a-1)+1));else return;e.preventDefault()}},t[25]=a,t[26]=W);let ae=W,G=d!==null&&e[d]?e[d][0]:null,K=G===null?0:z(G),oe=e.slice(-12);D=`flex flex-col gap-2`,t[27]===n?j=t[28]:(j=n.length>1&&(0,w.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:n.map(k)}),t[27]=n,t[28]=j);let q;t[29]===a?q=t[30]:(q=()=>f(e=>e??(a?a-1:null)),t[29]=a,t[30]=q);let J;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>f(null),t[31]=J):J=t[31];let Y;t[32]!==P.links||t[33]!==V||t[34]!==H||t[35]!==F||t[36]!==I||t[37]!==n||t[38]!==z||t[39]!==B?(Y=H?n.map(e=>(0,w.jsxs)(`g`,{children:[n.length===1&&(0,w.jsx)(`path`,{d:p(e.punkte,z,B,V),fill:e.farbe,opacity:.1}),(0,w.jsx)(`path`,{d:_(e.punkte,z,B),fill:`none`,stroke:e.farbe,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})]},e.name)):(0,w.jsx)(`text`,{x:P.links+F/2,y:T.oben+I/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Noch keine Messwerte in diesem Zeitraum`}),t[32]=P.links,t[33]=V,t[34]=H,t[35]=F,t[36]=I,t[37]=n,t[38]=z,t[39]=B,t[40]=Y):Y=t[40];let se;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(se=()=>f(null),t[41]=se):se=t[41];let X;t[42]!==P.links||t[43]!==F||t[44]!==I||t[45]!==U?(X=(0,w.jsx)(`rect`,{x:P.links,y:T.oben,width:F,height:I,fill:`transparent`,onPointerMove:U,onPointerLeave:se}),t[42]=P.links,t[43]=F,t[44]=I,t[45]=U,t[46]=X):X=t[46];let ce=(0,w.jsxs)(`svg`,{width:l,height:s,role:`img`,"aria-label":o,tabIndex:0,onKeyDown:ae,onFocus:q,onBlur:J,className:`block max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[C.map(e=>(0,w.jsxs)(`g`,{children:[(0,w.jsx)(`line`,{x1:P.links,x2:l-T.rechts,y1:B(e),y2:B(e),stroke:`var(--linie)`,strokeWidth:1}),(0,w.jsx)(`text`,{x:P.links-8,y:B(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:v(e,r)})]},e)),ne.map((e,t)=>(0,w.jsx)(`text`,{x:z(e),y:s-6,className:`fill-text-3 font-mono text-[11px]`,textAnchor:t===0?`start`:t===ne.length-1?`end`:`middle`,children:u(e,i)},e)),Y,G!==null&&(0,w.jsxs)(`g`,{"aria-hidden":!0,children:[(0,w.jsx)(`line`,{x1:z(G),x2:z(G),y1:T.oben,y2:V,stroke:`var(--text-3)`,strokeWidth:1}),n.map(e=>{let t=e.punkte[d]?.[1];return t==null?null:(0,w.jsx)(`circle`,{cx:z(G),cy:B(t),r:4,fill:e.farbe,stroke:`var(--panel)`,strokeWidth:2},e.name)})]}),X]}),Z=G!==null&&(0,w.jsxs)(`div`,{role:`status`,className:`pointer-events-none absolute top-1 z-10 flex min-w-36 flex-col gap-1 rounded-lg border border-linie-stark bg-erhaben px-3 py-2 shadow-lg`,style:K>l/2?{right:l-K+10}:{left:K+10},children:[(0,w.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:u(G,!0)}),n.map(e=>(0,w.jsxs)(`span`,{className:`flex items-center gap-2 text-sm`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 rounded-full`,style:{background:e.farbe}}),(0,w.jsx)(`span`,{className:`font-semibold text-foreground`,children:v(e.punkte[d]?.[1],r)}),n.length>1&&(0,w.jsx)(`span`,{className:`text-text-3`,children:e.name})]},e.name))]});t[47]!==c||t[48]!==ce||t[49]!==Z?(M=(0,w.jsxs)(`div`,{ref:c,className:`relative w-full`,children:[ce,Z]}),t[47]=c,t[48]=ce,t[49]=Z,t[50]=M):M=t[50],b=`group text-sm`,t[51]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,w.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[51]=x):x=t[51],g=`ziffern mt-2 w-full max-w-md border-collapse text-xs`;let Q;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:`Zeit`}),t[52]=Q):Q=t[52];let $;t[53]===n?$=t[54]:($=n.map(O),t[53]=n,t[54]=$),t[55]===$?y=t[56]:(y=(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{className:`text-left text-text-3`,children:[Q,$]})}),t[55]=$,t[56]=y),h=oe.map((e,t)=>{let[o]=e;return(0,w.jsxs)(`tr`,{className:`border-t border-linie`,children:[(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-3`,children:u(o,i)}),n.map(e=>(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-2`,children:v(e.punkte[a-oe.length+t]?.[1],r)},e.name))]},o)}),t[0]=l,t[1]=r,t[2]=s,t[3]=d,t[4]=i,t[5]=c,t[6]=n,t[7]=o,t[8]=h,t[9]=g,t[10]=y,t[11]=b,t[12]=x,t[13]=D,t[14]=j,t[15]=M}else h=t[8],g=t[9],y=t[10],b=t[11],x=t[12],D=t[13],j=t[14],M=t[15];let N;t[57]===h?N=t[58]:(N=(0,w.jsx)(`tbody`,{children:h}),t[57]=h,t[58]=N);let P;t[59]!==N||t[60]!==g||t[61]!==y?(P=(0,w.jsxs)(`table`,{className:g,children:[y,N]}),t[59]=N,t[60]=g,t[61]=y,t[62]=P):P=t[62];let F;t[63]!==P||t[64]!==b||t[65]!==x?(F=(0,w.jsxs)(`details`,{className:b,children:[x,P]}),t[63]=P,t[64]=b,t[65]=x,t[66]=F):F=t[66];let I;return t[67]!==F||t[68]!==D||t[69]!==j||t[70]!==M?(I=(0,w.jsxs)(`div`,{className:D,children:[j,M,F]}),t[67]=F,t[68]=D,t[69]=j,t[70]=M,t[71]=I):I=t[71],I}function O(e){return(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:e.name},e.name)}function k(e){return(0,w.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-4 rounded-full`,style:{background:e.farbe}}),e.name]},e.name)}function A(e){return e.punkte.some(j)}function j(e){let[,t]=e;return t!==null}function ee(e){return e.punkte}var M=[{id:`1h`,name:`1 Stunde`,text:`letzte Stunde`},{id:`24h`,name:`24 Stunden`,text:`letzte 24 Stunden`},{id:`7d`,name:`7 Tage`,text:`letzte 7 Tage`}];function N(e){let t=(0,S.c)(6),{wert:n,onWahl:r,farbe:a}=e,o=a===`box`?`border-box-rand bg-box-grund text-box-text`:`border-lab-rand bg-lab-grund text-lab-text`,s;t[0]!==o||t[1]!==r||t[2]!==n?(s=M.map(e=>(0,w.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),"aria-pressed":n===e.id,className:i(`h-9 rounded-full border px-4 text-sm`,n===e.id?o:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),t[0]=o,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;return t[4]===s?c=t[5]:(c=(0,w.jsx)(`div`,{role:`group`,"aria-label":`Zeitraum`,className:`flex flex-wrap gap-2`,children:s}),t[4]=s,t[5]=c),c}function P(e){let t=(0,S.c)(9),{titel:n,rechts:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,w.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]!==r||t[3]!==a?(o=(0,w.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[a,r]}),t[2]=r,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==i||t[6]!==o||t[7]!==n?(s=(0,w.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[o,i]}),t[5]=i,t[6]=o,t[7]=n,t[8]=s):s=t[8],s}var F=e=>M.find(t=>t.id===e)?.text??``;function I(){let e=(0,S.c)(97),[t,n]=(0,C.useState)(`1h`),r=o(t),s=a(),c;e[0]===r.data?.reihen?c=e[1]:(c=r.data?.reihen??{},e[0]=r.data?.reihen,e[1]=c);let u=c,d;e[2]===r.data?.aktuell?d=e[3]:(d=r.data?.aktuell??{},e[2]=r.data?.aktuell,e[3]=d);let p=d,m=t===`7d`,g;e[4]!==p||e[5]!==u?(g=(e,t)=>e??p[t]??l(u[t]),e[4]=p,e[5]=u,e[6]=g):g=e[6];let _=g,v;e[7]===t?v=e[8]:(v=(0,w.jsx)(N,{wert:t,onWahl:n,farbe:`box`}),e[7]=t,e[8]=v);let b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Zahlen live, Verläufe im Minutentakt`}),e[9]=b):b=e[9];let x;e[10]===v?x=e[11]:(x=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[v,b]}),e[10]=v,e[11]=x);let T=s?.cpu,E;e[12]!==T||e[13]!==_?(E=_(T,`cpu`),e[12]=T,e[13]=_,e[14]=E):E=e[14];let O=s?.cpu,k;e[15]!==O||e[16]!==_?(k=f(_(O,`cpu`),85,95),e[15]=O,e[16]=_,e[17]=k):k=e[17];let A;e[18]===t?A=e[19]:(A=F(t),e[18]=t,e[19]=A);let j;e[20]!==A||e[21]!==E||e[22]!==k?(j=(0,w.jsx)(y,{label:`CPU`,wert:E,einheit:`prozent`,max:100,zustand:k,zeitraumText:A}),e[20]=A,e[21]=E,e[22]=k,e[23]=j):j=e[23];let ee=s?.ram,M;e[24]!==ee||e[25]!==_?(M=_(ee,`ram`),e[24]=ee,e[25]=_,e[26]=M):M=e[26];let I=s?.ram,L;e[27]!==I||e[28]!==_?(L=f(_(I,`ram`),85,95),e[27]=I,e[28]=_,e[29]=L):L=e[29];let R;e[30]===t?R=e[31]:(R=F(t),e[30]=t,e[31]=R);let z;e[32]!==M||e[33]!==L||e[34]!==R?(z=(0,w.jsx)(y,{label:`Speicher`,wert:M,einheit:`prozent`,max:100,zustand:L,zeitraumText:R}),e[32]=M,e[33]=L,e[34]=R,e[35]=z):z=e[35];let te=s?.gpu,B;e[36]!==te||e[37]!==_?(B=_(te,`gpu`),e[36]=te,e[37]=_,e[38]=B):B=e[38];let V;e[39]===t?V=e[40]:(V=F(t),e[39]=t,e[40]=V);let ne;e[41]!==B||e[42]!==V?(ne=(0,w.jsx)(y,{label:`GPU`,wert:B,einheit:`prozent`,max:100,zeitraumText:V}),e[41]=B,e[42]=V,e[43]=ne):ne=e[43];let re=s?.temp_cpu,H;e[44]!==re||e[45]!==_?(H=_(re,`temp_cpu`),e[44]=re,e[45]=_,e[46]=H):H=e[46];let ie=s?.temp_cpu,U;e[47]!==ie||e[48]!==_?(U=f(_(ie,`temp_cpu`),80,90),e[47]=ie,e[48]=_,e[49]=U):U=e[49];let W;e[50]===t?W=e[51]:(W=F(t),e[50]=t,e[51]=W);let ae;e[52]!==H||e[53]!==U||e[54]!==W?(ae=(0,w.jsx)(y,{label:`CPU-Temp.`,wert:H,einheit:`grad`,max:100,zustand:U,zeitraumText:W}),e[52]=H,e[53]=U,e[54]=W,e[55]=ae):ae=e[55];let G=s?.temp_gpu,K;e[56]!==G||e[57]!==_?(K=_(G,`temp_gpu`),e[56]=G,e[57]=_,e[58]=K):K=e[58];let oe=s?.temp_gpu,q;e[59]!==oe||e[60]!==_?(q=f(_(oe,`temp_gpu`),80,90),e[59]=oe,e[60]=_,e[61]=q):q=e[61];let J;e[62]===t?J=e[63]:(J=F(t),e[62]=t,e[63]=J);let Y;e[64]!==K||e[65]!==q||e[66]!==J?(Y=(0,w.jsx)(y,{label:`GPU-Temp.`,wert:K,einheit:`grad`,max:100,zustand:q,zeitraumText:J}),e[64]=K,e[65]=q,e[66]=J,e[67]=Y):Y=e[67];let se=s?.disk,X;e[68]!==se||e[69]!==_?(X=_(se,`platte`),e[68]=se,e[69]=_,e[70]=X):X=e[70];let ce=s?.disk,Z;e[71]!==ce||e[72]!==_?(Z=f(_(ce,`platte`),80,90),e[71]=ce,e[72]=_,e[73]=Z):Z=e[73];let Q;e[74]===t?Q=e[75]:(Q=F(t),e[74]=t,e[75]=Q);let $;e[76]!==X||e[77]!==Z||e[78]!==Q?($=(0,w.jsx)(y,{label:`Platte`,wert:X,einheit:`prozent`,max:100,zustand:Z,zeitraumText:Q}),e[76]=X,e[77]=Z,e[78]=Q,e[79]=$):$=e[79];let le;e[80]!==j||e[81]!==z||e[82]!==ne||e[83]!==ae||e[84]!==Y||e[85]!==$?(le=(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-3 xl:grid-cols-6`,children:[j,z,ne,ae,Y,$]}),e[80]=j,e[81]=z,e[82]=ne,e[83]=ae,e[84]=Y,e[85]=$,e[86]=le):le=e[86];let ue;e[87]!==m||e[88]!==r.data||e[89]!==r.isError||e[90]!==r.isPlaceholderData||e[91]!==u?(ue=r.isError&&!r.data?(0,w.jsx)(h,{text:`Der Verlauf ist noch nicht da: Die KI-Box sammelt Messwerte, sobald der neue Stand läuft. Die Zahlen oben sind live.`}):(0,w.jsxs)(`div`,{className:i(`grid gap-5 md:gap-6 xl:grid-cols-2`,r.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(P,{titel:`CPU`,children:(0,w.jsx)(D,{titel:`CPU-Auslastung in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.cpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(P,{titel:`Speicher`,children:(0,w.jsx)(D,{titel:`Belegter Speicher in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`Speicher`,punkte:u.ram??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(P,{titel:`GPU`,children:(0,w.jsx)(D,{titel:`GPU-Last in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`GPU`,punkte:u.gpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(P,{titel:`Temperatur`,children:(0,w.jsx)(D,{titel:`Temperatur von CPU und GPU in Grad`,einheit:`grad`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.temp_cpu??[],farbe:`var(--reihe-1)`},{name:`GPU`,punkte:u.temp_gpu??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(P,{titel:`Netz`,children:(0,w.jsx)(D,{titel:`Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:m,reihen:[{name:`empfangen`,punkte:u.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:u.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(P,{titel:`Tokens pro Minute`,children:(0,w.jsx)(D,{titel:`Erzeugte und gelesene Tokens pro Minute`,einheit:`anzahl`,langerZeitraum:m,reihen:[{name:`Tokens`,punkte:u.tokens??[],farbe:`var(--reihe-1)`}]})})]}),e[87]=m,e[88]=r.data,e[89]=r.isError,e[90]=r.isPlaceholderData,e[91]=u,e[92]=ue):ue=e[92];let de;return e[93]!==le||e[94]!==ue||e[95]!==x?(de=(0,w.jsxs)(w.Fragment,{children:[x,le,ue]}),e[93]=le,e[94]=ue,e[95]=x,e[96]=de):de=e[96],de}function L(e){let t=(0,S.c)(35),{g:n,zeitraum:r}=e,i=n.aktuell,a=n.id,o=n.name,s;t[0]===n.name?s=t[1]:(s=(0,w.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:n.name}),t[0]=n.name,t[1]=s);let c;t[2]===i.cpu?c=t[3]:(c=i.cpu==null?`–`:`${Math.round(i.cpu)} %`,t[2]=i.cpu,t[3]=c);let l;t[4]===i.ram?l=t[5]:(l=i.ram==null?`–`:`${Math.round(i.ram)} %`,t[4]=i.ram,t[5]=l);let u;t[6]===i.uptime_s?u=t[7]:(u=d(i.uptime_s),t[6]=i.uptime_s,t[7]=u);let f;t[8]!==c||t[9]!==l||t[10]!==u?(f=(0,w.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`CPU `,c,` · RAM `,l,` · läuft `,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=f):f=t[11];let p;t[12]!==s||t[13]!==f?(p=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[s,f]}),t[12]=s,t[13]=f,t[14]=p):p=t[14];let m=`${n.name}: CPU und Speicher in Prozent`,h=r===`7d`,g;t[15]===n.reihen.cpu?g=t[16]:(g=n.reihen.cpu??[],t[15]=n.reihen.cpu,t[16]=g);let _;t[17]===g?_=t[18]:(_={name:`CPU`,punkte:g,farbe:`var(--reihe-1)`},t[17]=g,t[18]=_);let v;t[19]===n.reihen.ram?v=t[20]:(v=n.reihen.ram??[],t[19]=n.reihen.ram,t[20]=v);let y;t[21]===v?y=t[22]:(y={name:`Speicher`,punkte:v,farbe:`var(--reihe-2)`},t[21]=v,t[22]=y);let b;t[23]!==_||t[24]!==y?(b=[_,y],t[23]=_,t[24]=y,t[25]=b):b=t[25];let x;t[26]!==h||t[27]!==b||t[28]!==m?(x=(0,w.jsx)(D,{titel:m,einheit:`prozent`,langerZeitraum:h,hoehe:140,reihen:b}),t[26]=h,t[27]=b,t[28]=m,t[29]=x):x=t[29];let C;return t[30]!==n.id||t[31]!==n.name||t[32]!==x||t[33]!==p?(C=(0,w.jsxs)(`section`,{id:a,"aria-label":o,className:`flex min-w-0 scroll-mt-6 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[p,x]}),t[30]=n.id,t[31]=n.name,t[32]=x,t[33]=p,t[34]=C):C=t[34],C}function R(){let e=(0,S.c)(31),[t,n]=(0,C.useState)(`1h`),r=s(),a=b(),o=r.data?.rolle===`homelab`||!!(a.data?.eingerichtet&&a.data.erreichbar),l=c(t,o),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={select:V},e[0]=u):u=e[0];let p=g(u),m,_;if(e[1]!==p||e[2]!==l.data?(m=()=>{p&&l.data&&document.getElementById(p)?.scrollIntoView({block:`start`})},_=[p,l.data],e[1]=p,e[2]=l.data,e[3]=m,e[4]=_):(m=e[3],_=e[4]),(0,C.useEffect)(m,_),!o){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(h,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[5]=t):t=e[5],t}if(l.isPending){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(h,{text:`Die Messwerte kommen gleich …`}),e[6]=t):t=e[6],t}if(!l.data){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(h,{text:`Noch keine Messwerte: Der Ausführer schickt sie jede Minute, sobald sein neuer Stand eingespielt ist.`}),e[7]=t):t=e[7],t}let v,T,E,O;if(e[8]!==l.data.geraete||e[9]!==l.isPlaceholderData||e[10]!==t){let r=l.data.geraete.find(B),a=l.data.geraete.filter(te),o=t===`7d`,s=r?.aktuell??{},c;e[15]===t?c=e[16]:(c=(0,w.jsx)(N,{wert:t,onWahl:n,farbe:`homelab`}),e[15]=t,e[16]=c);let u;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Werte im Minutentakt vom Proxmox-Host`}),e[17]=u):u=e[17],e[18]===c?E=e[19]:(E=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[c,u]}),e[18]=c,e[19]=E),O=r&&(0,w.jsxs)(x,{titel:`Proxmox-Host`,rechts:(0,w.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`läuft `,d(s.uptime_s),s.load1==null?``:` · Last ${s.load1.toFixed(2).replace(`.`,`,`)}`]}),children:[(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,w.jsx)(y,{label:`CPU`,wert:s.cpu,einheit:`prozent`,max:100,punkte:r.reihen.cpu,zustand:f(s.cpu??null,85,95),zeitraumText:F(t)}),(0,w.jsx)(y,{label:`Speicher`,wert:s.ram,einheit:`prozent`,max:100,punkte:r.reihen.ram,zustand:f(s.ram??null,90,95),zeitraumText:F(t)}),(0,w.jsx)(y,{label:`Temperatur`,wert:s.temp_cpu,einheit:`grad`,max:100,punkte:r.reihen.temp_cpu,zustand:f(s.temp_cpu??null,80,90),zeitraumText:F(t)}),(0,w.jsx)(y,{label:`Systemplatte`,wert:s.platte,einheit:`prozent`,max:100,punkte:r.reihen.platte,zustand:f(s.platte??null,80,90),zeitraumText:F(t)})]}),(0,w.jsxs)(`div`,{className:i(`grid gap-5 xl:grid-cols-2`,l.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(P,{titel:`CPU und Speicher`,children:(0,w.jsx)(D,{titel:`Proxmox-Host: CPU und Speicher in Prozent`,einheit:`prozent`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.cpu??[],farbe:`var(--reihe-1)`},{name:`Speicher`,punkte:r.reihen.ram??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(P,{titel:`Netz`,children:(0,w.jsx)(D,{titel:`Proxmox-Host: Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:o,reihen:[{name:`empfangen`,punkte:r.reihen.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:r.reihen.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(r.reihen.temp_cpu?.some(z)??!1)&&(0,w.jsx)(P,{titel:`Temperatur`,children:(0,w.jsx)(D,{titel:`Proxmox-Host: CPU-Temperatur in Grad`,einheit:`grad`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.temp_cpu??[],farbe:`var(--reihe-1)`}]})})]})]});let p=l.isPlaceholderData&&`opacity-70`;e[20]===p?v=e[21]:(v=i(`grid gap-5 md:gap-6 xl:grid-cols-2`,p),e[20]=p,e[21]=v);let m;e[22]===t?m=e[23]:(m=e=>(0,w.jsx)(L,{g:e,zeitraum:t},e.id),e[22]=t,e[23]=m),T=a.map(m),e[8]=l.data.geraete,e[9]=l.isPlaceholderData,e[10]=t,e[11]=v,e[12]=T,e[13]=E,e[14]=O}else v=e[11],T=e[12],E=e[13],O=e[14];let k;e[24]!==v||e[25]!==T?(k=(0,w.jsx)(`div`,{className:v,children:T}),e[24]=v,e[25]=T,e[26]=k):k=e[26];let A;return e[27]!==E||e[28]!==O||e[29]!==k?(A=(0,w.jsxs)(w.Fragment,{children:[E,O,k]}),e[27]=E,e[28]=O,e[29]=k,e[30]=A):A=e[30],A}function z(e){let[,t]=e;return t!==null}function te(e){return e.art!==`proxmox-host`}function B(e){return e.art===`proxmox-host`}function V(e){return e.location.hash}export{I as BoxMonitoringSeite,R as HomelabMonitoringSeite}; \ No newline at end of file +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Et as a,F as o,J as s,W as c,a as l,c as u,i as d,l as f,n as p,o as m,p as h,qt as g,r as _,s as v,t as y,tt as b,u as x}from"./index-CYmlXdd4.js";var S=t(),C=r(e(),1),w=n(),T={rechts:12,oben:10,unten:24};function E(e){let t=(0,S.c)(4),n=e===void 0?640:e,r=(0,C.useRef)(null),[i,a]=(0,C.useState)(n),o,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{let e=r.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let[t]=e;return a(Math.max(240,Math.round(t.contentRect.width)))});return t.observe(e),()=>t.disconnect()},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,C.useEffect)(o,s);let c;return t[2]===i?c=t[3]:(c=[r,i],t[2]=i,t[3]=c),c}function D(e){let t=(0,S.c)(72),{reihen:n,einheit:r,langerZeitraum:i,hoehe:a,titel:o}=e,s=a===void 0?180:a,[c,l]=E(),[d,f]=(0,C.useState)(null),h,g,y,b,x,D,j,M;if(t[0]!==l||t[1]!==r||t[2]!==s||t[3]!==d||t[4]!==i||t[5]!==c||t[6]!==n||t[7]!==o){let e=n[0]?.punkte??[],a=e.length,S=m(n.map(ee),r),C=r===`prozent`?[0,25,50,75,100]:[0,S/2,S],E=Math.max(40,Math.max(...C.map(e=>v(e,r).length))*7+12),N;t[16]===E?N=t[17]:(N={...T,links:E},t[16]=E,t[17]=N);let P=N,F=l-P.links-T.rechts,I=s-T.oben-T.unten,L=e[0]?.[0]??0,R=e[a-1]?.[0]??1,z=e=>P.links+(R>L?(e-L)/(R-L)*F:0),te;t[18]!==I||t[19]!==S?(te=e=>T.oben+I-Math.min(e,S)/(S||1)*I,t[18]=I,t[19]=S,t[20]=te):te=t[20];let B=te,V=T.oben+I,ne=a>1?[0,.25,.5,.75,1].map(t=>e[Math.round(t*(a-1))][0]):[],re;t[21]===n?re=t[22]:(re=n.some(A),t[21]=n,t[22]=re);let H=re,ie;t[23]===a?ie=t[24]:(ie=function(e){if(a===0)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width));f(Math.round(n*(a-1)))},t[23]=a,t[24]=ie);let U=ie,W;t[25]===a?W=t[26]:(W=function(e){if(a!==0){if(e.key===`ArrowLeft`)f(e=>Math.max(0,(e??a-1)-1));else if(e.key===`ArrowRight`)f(e=>Math.min(a-1,(e??a-1)+1));else return;e.preventDefault()}},t[25]=a,t[26]=W);let ae=W,G=d!==null&&e[d]?e[d][0]:null,K=G===null?0:z(G),oe=e.slice(-12);D=`flex flex-col gap-2`,t[27]===n?j=t[28]:(j=n.length>1&&(0,w.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:n.map(k)}),t[27]=n,t[28]=j);let q;t[29]===a?q=t[30]:(q=()=>f(e=>e??(a?a-1:null)),t[29]=a,t[30]=q);let J;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>f(null),t[31]=J):J=t[31];let Y;t[32]!==P.links||t[33]!==V||t[34]!==H||t[35]!==F||t[36]!==I||t[37]!==n||t[38]!==z||t[39]!==B?(Y=H?n.map(e=>(0,w.jsxs)(`g`,{children:[n.length===1&&(0,w.jsx)(`path`,{d:p(e.punkte,z,B,V),fill:e.farbe,opacity:.1}),(0,w.jsx)(`path`,{d:_(e.punkte,z,B),fill:`none`,stroke:e.farbe,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})]},e.name)):(0,w.jsx)(`text`,{x:P.links+F/2,y:T.oben+I/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Noch keine Messwerte in diesem Zeitraum`}),t[32]=P.links,t[33]=V,t[34]=H,t[35]=F,t[36]=I,t[37]=n,t[38]=z,t[39]=B,t[40]=Y):Y=t[40];let se;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(se=()=>f(null),t[41]=se):se=t[41];let X;t[42]!==P.links||t[43]!==F||t[44]!==I||t[45]!==U?(X=(0,w.jsx)(`rect`,{x:P.links,y:T.oben,width:F,height:I,fill:`transparent`,onPointerMove:U,onPointerLeave:se}),t[42]=P.links,t[43]=F,t[44]=I,t[45]=U,t[46]=X):X=t[46];let ce=(0,w.jsxs)(`svg`,{width:l,height:s,role:`img`,"aria-label":o,tabIndex:0,onKeyDown:ae,onFocus:q,onBlur:J,className:`block max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[C.map(e=>(0,w.jsxs)(`g`,{children:[(0,w.jsx)(`line`,{x1:P.links,x2:l-T.rechts,y1:B(e),y2:B(e),stroke:`var(--linie)`,strokeWidth:1}),(0,w.jsx)(`text`,{x:P.links-8,y:B(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:v(e,r)})]},e)),ne.map((e,t)=>(0,w.jsx)(`text`,{x:z(e),y:s-6,className:`fill-text-3 font-mono text-[11px]`,textAnchor:t===0?`start`:t===ne.length-1?`end`:`middle`,children:u(e,i)},e)),Y,G!==null&&(0,w.jsxs)(`g`,{"aria-hidden":!0,children:[(0,w.jsx)(`line`,{x1:z(G),x2:z(G),y1:T.oben,y2:V,stroke:`var(--text-3)`,strokeWidth:1}),n.map(e=>{let t=e.punkte[d]?.[1];return t==null?null:(0,w.jsx)(`circle`,{cx:z(G),cy:B(t),r:4,fill:e.farbe,stroke:`var(--panel)`,strokeWidth:2},e.name)})]}),X]}),Z=G!==null&&(0,w.jsxs)(`div`,{role:`status`,className:`pointer-events-none absolute top-1 z-10 flex min-w-36 flex-col gap-1 rounded-lg border border-linie-stark bg-erhaben px-3 py-2 shadow-lg`,style:K>l/2?{right:l-K+10}:{left:K+10},children:[(0,w.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:u(G,!0)}),n.map(e=>(0,w.jsxs)(`span`,{className:`flex items-center gap-2 text-sm`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 rounded-full`,style:{background:e.farbe}}),(0,w.jsx)(`span`,{className:`font-semibold text-foreground`,children:v(e.punkte[d]?.[1],r)}),n.length>1&&(0,w.jsx)(`span`,{className:`text-text-3`,children:e.name})]},e.name))]});t[47]!==c||t[48]!==ce||t[49]!==Z?(M=(0,w.jsxs)(`div`,{ref:c,className:`relative w-full`,children:[ce,Z]}),t[47]=c,t[48]=ce,t[49]=Z,t[50]=M):M=t[50],b=`group text-sm`,t[51]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,w.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[51]=x):x=t[51],g=`ziffern mt-2 w-full max-w-md border-collapse text-xs`;let Q;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:`Zeit`}),t[52]=Q):Q=t[52];let $;t[53]===n?$=t[54]:($=n.map(O),t[53]=n,t[54]=$),t[55]===$?y=t[56]:(y=(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{className:`text-left text-text-3`,children:[Q,$]})}),t[55]=$,t[56]=y),h=oe.map((e,t)=>{let[o]=e;return(0,w.jsxs)(`tr`,{className:`border-t border-linie`,children:[(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-3`,children:u(o,i)}),n.map(e=>(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-2`,children:v(e.punkte[a-oe.length+t]?.[1],r)},e.name))]},o)}),t[0]=l,t[1]=r,t[2]=s,t[3]=d,t[4]=i,t[5]=c,t[6]=n,t[7]=o,t[8]=h,t[9]=g,t[10]=y,t[11]=b,t[12]=x,t[13]=D,t[14]=j,t[15]=M}else h=t[8],g=t[9],y=t[10],b=t[11],x=t[12],D=t[13],j=t[14],M=t[15];let N;t[57]===h?N=t[58]:(N=(0,w.jsx)(`tbody`,{children:h}),t[57]=h,t[58]=N);let P;t[59]!==N||t[60]!==g||t[61]!==y?(P=(0,w.jsxs)(`table`,{className:g,children:[y,N]}),t[59]=N,t[60]=g,t[61]=y,t[62]=P):P=t[62];let F;t[63]!==P||t[64]!==b||t[65]!==x?(F=(0,w.jsxs)(`details`,{className:b,children:[x,P]}),t[63]=P,t[64]=b,t[65]=x,t[66]=F):F=t[66];let I;return t[67]!==F||t[68]!==D||t[69]!==j||t[70]!==M?(I=(0,w.jsxs)(`div`,{className:D,children:[j,M,F]}),t[67]=F,t[68]=D,t[69]=j,t[70]=M,t[71]=I):I=t[71],I}function O(e){return(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:e.name},e.name)}function k(e){return(0,w.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-4 rounded-full`,style:{background:e.farbe}}),e.name]},e.name)}function A(e){return e.punkte.some(j)}function j(e){let[,t]=e;return t!==null}function ee(e){return e.punkte}var M=[{id:`1h`,name:`1 Stunde`,text:`letzte Stunde`},{id:`24h`,name:`24 Stunden`,text:`letzte 24 Stunden`},{id:`7d`,name:`7 Tage`,text:`letzte 7 Tage`}];function N(e){let t=(0,S.c)(6),{wert:n,onWahl:r,farbe:a}=e,o=a===`box`?`border-box-rand bg-box-grund text-box-text`:`border-lab-rand bg-lab-grund text-lab-text`,s;t[0]!==o||t[1]!==r||t[2]!==n?(s=M.map(e=>(0,w.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),"aria-pressed":n===e.id,className:i(`h-9 rounded-full border px-4 text-sm`,n===e.id?o:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),t[0]=o,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;return t[4]===s?c=t[5]:(c=(0,w.jsx)(`div`,{role:`group`,"aria-label":`Zeitraum`,className:`flex flex-wrap gap-2`,children:s}),t[4]=s,t[5]=c),c}function P(e){let t=(0,S.c)(9),{titel:n,rechts:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,w.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]!==r||t[3]!==a?(o=(0,w.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[a,r]}),t[2]=r,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==i||t[6]!==o||t[7]!==n?(s=(0,w.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[o,i]}),t[5]=i,t[6]=o,t[7]=n,t[8]=s):s=t[8],s}var F=e=>M.find(t=>t.id===e)?.text??``;function I(){let e=(0,S.c)(97),[t,n]=(0,C.useState)(`1h`),r=o(t),s=a(),c;e[0]===r.data?.reihen?c=e[1]:(c=r.data?.reihen??{},e[0]=r.data?.reihen,e[1]=c);let u=c,d;e[2]===r.data?.aktuell?d=e[3]:(d=r.data?.aktuell??{},e[2]=r.data?.aktuell,e[3]=d);let p=d,m=t===`7d`,g;e[4]!==p||e[5]!==u?(g=(e,t)=>e??p[t]??l(u[t]),e[4]=p,e[5]=u,e[6]=g):g=e[6];let _=g,v;e[7]===t?v=e[8]:(v=(0,w.jsx)(N,{wert:t,onWahl:n,farbe:`box`}),e[7]=t,e[8]=v);let b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Zahlen live, Verläufe im Minutentakt`}),e[9]=b):b=e[9];let x;e[10]===v?x=e[11]:(x=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[v,b]}),e[10]=v,e[11]=x);let T=s?.cpu,E;e[12]!==T||e[13]!==_?(E=_(T,`cpu`),e[12]=T,e[13]=_,e[14]=E):E=e[14];let O=s?.cpu,k;e[15]!==O||e[16]!==_?(k=f(_(O,`cpu`),85,95),e[15]=O,e[16]=_,e[17]=k):k=e[17];let A;e[18]===t?A=e[19]:(A=F(t),e[18]=t,e[19]=A);let j;e[20]!==A||e[21]!==E||e[22]!==k?(j=(0,w.jsx)(y,{label:`CPU`,wert:E,einheit:`prozent`,max:100,zustand:k,zeitraumText:A}),e[20]=A,e[21]=E,e[22]=k,e[23]=j):j=e[23];let ee=s?.ram,M;e[24]!==ee||e[25]!==_?(M=_(ee,`ram`),e[24]=ee,e[25]=_,e[26]=M):M=e[26];let I=s?.ram,L;e[27]!==I||e[28]!==_?(L=f(_(I,`ram`),85,95),e[27]=I,e[28]=_,e[29]=L):L=e[29];let R;e[30]===t?R=e[31]:(R=F(t),e[30]=t,e[31]=R);let z;e[32]!==M||e[33]!==L||e[34]!==R?(z=(0,w.jsx)(y,{label:`Speicher`,wert:M,einheit:`prozent`,max:100,zustand:L,zeitraumText:R}),e[32]=M,e[33]=L,e[34]=R,e[35]=z):z=e[35];let te=s?.gpu,B;e[36]!==te||e[37]!==_?(B=_(te,`gpu`),e[36]=te,e[37]=_,e[38]=B):B=e[38];let V;e[39]===t?V=e[40]:(V=F(t),e[39]=t,e[40]=V);let ne;e[41]!==B||e[42]!==V?(ne=(0,w.jsx)(y,{label:`GPU`,wert:B,einheit:`prozent`,max:100,zeitraumText:V}),e[41]=B,e[42]=V,e[43]=ne):ne=e[43];let re=s?.temp_cpu,H;e[44]!==re||e[45]!==_?(H=_(re,`temp_cpu`),e[44]=re,e[45]=_,e[46]=H):H=e[46];let ie=s?.temp_cpu,U;e[47]!==ie||e[48]!==_?(U=f(_(ie,`temp_cpu`),80,90),e[47]=ie,e[48]=_,e[49]=U):U=e[49];let W;e[50]===t?W=e[51]:(W=F(t),e[50]=t,e[51]=W);let ae;e[52]!==H||e[53]!==U||e[54]!==W?(ae=(0,w.jsx)(y,{label:`CPU-Temp.`,wert:H,einheit:`grad`,max:100,zustand:U,zeitraumText:W}),e[52]=H,e[53]=U,e[54]=W,e[55]=ae):ae=e[55];let G=s?.temp_gpu,K;e[56]!==G||e[57]!==_?(K=_(G,`temp_gpu`),e[56]=G,e[57]=_,e[58]=K):K=e[58];let oe=s?.temp_gpu,q;e[59]!==oe||e[60]!==_?(q=f(_(oe,`temp_gpu`),80,90),e[59]=oe,e[60]=_,e[61]=q):q=e[61];let J;e[62]===t?J=e[63]:(J=F(t),e[62]=t,e[63]=J);let Y;e[64]!==K||e[65]!==q||e[66]!==J?(Y=(0,w.jsx)(y,{label:`GPU-Temp.`,wert:K,einheit:`grad`,max:100,zustand:q,zeitraumText:J}),e[64]=K,e[65]=q,e[66]=J,e[67]=Y):Y=e[67];let se=s?.disk,X;e[68]!==se||e[69]!==_?(X=_(se,`platte`),e[68]=se,e[69]=_,e[70]=X):X=e[70];let ce=s?.disk,Z;e[71]!==ce||e[72]!==_?(Z=f(_(ce,`platte`),80,90),e[71]=ce,e[72]=_,e[73]=Z):Z=e[73];let Q;e[74]===t?Q=e[75]:(Q=F(t),e[74]=t,e[75]=Q);let $;e[76]!==X||e[77]!==Z||e[78]!==Q?($=(0,w.jsx)(y,{label:`Platte`,wert:X,einheit:`prozent`,max:100,zustand:Z,zeitraumText:Q}),e[76]=X,e[77]=Z,e[78]=Q,e[79]=$):$=e[79];let le;e[80]!==j||e[81]!==z||e[82]!==ne||e[83]!==ae||e[84]!==Y||e[85]!==$?(le=(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-3 xl:grid-cols-6`,children:[j,z,ne,ae,Y,$]}),e[80]=j,e[81]=z,e[82]=ne,e[83]=ae,e[84]=Y,e[85]=$,e[86]=le):le=e[86];let ue;e[87]!==m||e[88]!==r.data||e[89]!==r.isError||e[90]!==r.isPlaceholderData||e[91]!==u?(ue=r.isError&&!r.data?(0,w.jsx)(h,{text:`Der Verlauf ist noch nicht da: Die KI-Box sammelt Messwerte, sobald der neue Stand läuft. Die Zahlen oben sind live.`}):(0,w.jsxs)(`div`,{className:i(`grid gap-5 md:gap-6 xl:grid-cols-2`,r.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(P,{titel:`CPU`,children:(0,w.jsx)(D,{titel:`CPU-Auslastung in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.cpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(P,{titel:`Speicher`,children:(0,w.jsx)(D,{titel:`Belegter Speicher in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`Speicher`,punkte:u.ram??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(P,{titel:`GPU`,children:(0,w.jsx)(D,{titel:`GPU-Last in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`GPU`,punkte:u.gpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(P,{titel:`Temperatur`,children:(0,w.jsx)(D,{titel:`Temperatur von CPU und GPU in Grad`,einheit:`grad`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.temp_cpu??[],farbe:`var(--reihe-1)`},{name:`GPU`,punkte:u.temp_gpu??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(P,{titel:`Netz`,children:(0,w.jsx)(D,{titel:`Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:m,reihen:[{name:`empfangen`,punkte:u.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:u.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(P,{titel:`Tokens pro Minute`,children:(0,w.jsx)(D,{titel:`Erzeugte und gelesene Tokens pro Minute`,einheit:`anzahl`,langerZeitraum:m,reihen:[{name:`Tokens`,punkte:u.tokens??[],farbe:`var(--reihe-1)`}]})})]}),e[87]=m,e[88]=r.data,e[89]=r.isError,e[90]=r.isPlaceholderData,e[91]=u,e[92]=ue):ue=e[92];let de;return e[93]!==le||e[94]!==ue||e[95]!==x?(de=(0,w.jsxs)(w.Fragment,{children:[x,le,ue]}),e[93]=le,e[94]=ue,e[95]=x,e[96]=de):de=e[96],de}function L(e){let t=(0,S.c)(35),{g:n,zeitraum:r}=e,i=n.aktuell,a=n.id,o=n.name,s;t[0]===n.name?s=t[1]:(s=(0,w.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:n.name}),t[0]=n.name,t[1]=s);let c;t[2]===i.cpu?c=t[3]:(c=i.cpu==null?`–`:`${Math.round(i.cpu)} %`,t[2]=i.cpu,t[3]=c);let l;t[4]===i.ram?l=t[5]:(l=i.ram==null?`–`:`${Math.round(i.ram)} %`,t[4]=i.ram,t[5]=l);let u;t[6]===i.uptime_s?u=t[7]:(u=d(i.uptime_s),t[6]=i.uptime_s,t[7]=u);let f;t[8]!==c||t[9]!==l||t[10]!==u?(f=(0,w.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`CPU `,c,` · RAM `,l,` · läuft `,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=f):f=t[11];let p;t[12]!==s||t[13]!==f?(p=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[s,f]}),t[12]=s,t[13]=f,t[14]=p):p=t[14];let m=`${n.name}: CPU und Speicher in Prozent`,h=r===`7d`,g;t[15]===n.reihen.cpu?g=t[16]:(g=n.reihen.cpu??[],t[15]=n.reihen.cpu,t[16]=g);let _;t[17]===g?_=t[18]:(_={name:`CPU`,punkte:g,farbe:`var(--reihe-1)`},t[17]=g,t[18]=_);let v;t[19]===n.reihen.ram?v=t[20]:(v=n.reihen.ram??[],t[19]=n.reihen.ram,t[20]=v);let y;t[21]===v?y=t[22]:(y={name:`Speicher`,punkte:v,farbe:`var(--reihe-2)`},t[21]=v,t[22]=y);let b;t[23]!==_||t[24]!==y?(b=[_,y],t[23]=_,t[24]=y,t[25]=b):b=t[25];let x;t[26]!==h||t[27]!==b||t[28]!==m?(x=(0,w.jsx)(D,{titel:m,einheit:`prozent`,langerZeitraum:h,hoehe:140,reihen:b}),t[26]=h,t[27]=b,t[28]=m,t[29]=x):x=t[29];let C;return t[30]!==n.id||t[31]!==n.name||t[32]!==x||t[33]!==p?(C=(0,w.jsxs)(`section`,{id:a,"aria-label":o,className:`flex min-w-0 scroll-mt-6 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[p,x]}),t[30]=n.id,t[31]=n.name,t[32]=x,t[33]=p,t[34]=C):C=t[34],C}function R(){let e=(0,S.c)(31),[t,n]=(0,C.useState)(`1h`),r=s(),a=b(),o=r.data?.rolle===`homelab`||!!(a.data?.eingerichtet&&a.data.erreichbar),l=c(t,o),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={select:V},e[0]=u):u=e[0];let p=g(u),m,_;if(e[1]!==p||e[2]!==l.data?(m=()=>{p&&l.data&&document.getElementById(p)?.scrollIntoView({block:`start`})},_=[p,l.data],e[1]=p,e[2]=l.data,e[3]=m,e[4]=_):(m=e[3],_=e[4]),(0,C.useEffect)(m,_),!o){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(h,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[5]=t):t=e[5],t}if(l.isPending){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(h,{text:`Die Messwerte kommen gleich …`}),e[6]=t):t=e[6],t}if(!l.data){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(h,{text:`Noch keine Messwerte: Der Ausführer schickt sie jede Minute, sobald sein neuer Stand eingespielt ist.`}),e[7]=t):t=e[7],t}let v,T,E,O;if(e[8]!==l.data.geraete||e[9]!==l.isPlaceholderData||e[10]!==t){let r=l.data.geraete.find(B),a=l.data.geraete.filter(te),o=t===`7d`,s=r?.aktuell??{},c;e[15]===t?c=e[16]:(c=(0,w.jsx)(N,{wert:t,onWahl:n,farbe:`homelab`}),e[15]=t,e[16]=c);let u;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Werte im Minutentakt vom Proxmox-Host`}),e[17]=u):u=e[17],e[18]===c?E=e[19]:(E=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[c,u]}),e[18]=c,e[19]=E),O=r&&(0,w.jsxs)(x,{titel:`Proxmox-Host`,rechts:(0,w.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`läuft `,d(s.uptime_s),s.load1==null?``:` · Last ${s.load1.toFixed(2).replace(`.`,`,`)}`]}),children:[(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,w.jsx)(y,{label:`CPU`,wert:s.cpu,einheit:`prozent`,max:100,punkte:r.reihen.cpu,zustand:f(s.cpu??null,85,95),zeitraumText:F(t)}),(0,w.jsx)(y,{label:`Speicher`,wert:s.ram,einheit:`prozent`,max:100,punkte:r.reihen.ram,zustand:f(s.ram??null,90,95),zeitraumText:F(t)}),(0,w.jsx)(y,{label:`Temperatur`,wert:s.temp_cpu,einheit:`grad`,max:100,punkte:r.reihen.temp_cpu,zustand:f(s.temp_cpu??null,80,90),zeitraumText:F(t)}),(0,w.jsx)(y,{label:`Systemplatte`,wert:s.platte,einheit:`prozent`,max:100,punkte:r.reihen.platte,zustand:f(s.platte??null,80,90),zeitraumText:F(t)})]}),(0,w.jsxs)(`div`,{className:i(`grid gap-5 xl:grid-cols-2`,l.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(P,{titel:`CPU und Speicher`,children:(0,w.jsx)(D,{titel:`Proxmox-Host: CPU und Speicher in Prozent`,einheit:`prozent`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.cpu??[],farbe:`var(--reihe-1)`},{name:`Speicher`,punkte:r.reihen.ram??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(P,{titel:`Netz`,children:(0,w.jsx)(D,{titel:`Proxmox-Host: Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:o,reihen:[{name:`empfangen`,punkte:r.reihen.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:r.reihen.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(r.reihen.temp_cpu?.some(z)??!1)&&(0,w.jsx)(P,{titel:`Temperatur`,children:(0,w.jsx)(D,{titel:`Proxmox-Host: CPU-Temperatur in Grad`,einheit:`grad`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.temp_cpu??[],farbe:`var(--reihe-1)`}]})})]})]});let p=l.isPlaceholderData&&`opacity-70`;e[20]===p?v=e[21]:(v=i(`grid gap-5 md:gap-6 xl:grid-cols-2`,p),e[20]=p,e[21]=v);let m;e[22]===t?m=e[23]:(m=e=>(0,w.jsx)(L,{g:e,zeitraum:t},e.id),e[22]=t,e[23]=m),T=a.map(m),e[8]=l.data.geraete,e[9]=l.isPlaceholderData,e[10]=t,e[11]=v,e[12]=T,e[13]=E,e[14]=O}else v=e[11],T=e[12],E=e[13],O=e[14];let k;e[24]!==v||e[25]!==T?(k=(0,w.jsx)(`div`,{className:v,children:T}),e[24]=v,e[25]=T,e[26]=k):k=e[26];let A;return e[27]!==E||e[28]!==O||e[29]!==k?(A=(0,w.jsxs)(w.Fragment,{children:[E,O,k]}),e[27]=E,e[28]=O,e[29]=k,e[30]=A):A=e[30],A}function z(e){let[,t]=e;return t!==null}function te(e){return e.art!==`proxmox-host`}function B(e){return e.art===`proxmox-host`}function V(e){return e.location.hash}export{I as BoxMonitoringSeite,R as HomelabMonitoringSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Protokollfenster-ebAC9ZNZ.js b/frontend/dist/assets/Protokollfenster-CHwATBxh.js similarity index 94% rename from frontend/dist/assets/Protokollfenster-ebAC9ZNZ.js rename to frontend/dist/assets/Protokollfenster-CHwATBxh.js index e201385..ba51fe6 100644 --- a/frontend/dist/assets/Protokollfenster-ebAC9ZNZ.js +++ b/frontend/dist/assets/Protokollfenster-CHwATBxh.js @@ -1 +1 @@ -import{n as e,r as t}from"./dist-D4CVSex9.js";import{a as n,i as r,n as i,r as a,t as o}from"./sheet-CB1NvtKC.js";var s=e(),c=t();function l(e){let t=(0,s.c)(14),{offen:l,titel:u,text:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,c.jsx)(n,{className:`schild text-lg`,children:`Protokoll`}),t[2]=m):m=t[2];let h;t[3]===u?h=t[4]:(h=(0,c.jsxs)(r,{children:[m,(0,c.jsx)(a,{className:`text-text-2`,children:u})]}),t[3]=u,t[4]=h);let g;t[5]===d?g=t[6]:(g=(0,c.jsx)(`pre`,{className:`ziffern mx-4 mb-4 flex-1 overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap text-text-2`,children:d}),t[5]=d,t[6]=g);let _;t[7]!==h||t[8]!==g?(_=(0,c.jsxs)(i,{side:`right`,className:`border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[h,g]}),t[7]=h,t[8]=g,t[9]=_):_=t[9];let v;return t[10]!==l||t[11]!==p||t[12]!==_?(v=(0,c.jsx)(o,{open:l,onOpenChange:p,children:_}),t[10]=l,t[11]=p,t[12]=_,t[13]=v):v=t[13],v}export{l as Protokollfenster}; \ No newline at end of file +import{n as e,r as t}from"./dist-D4CVSex9.js";import{a as n,i as r,n as i,r as a,t as o}from"./sheet-s_FTWvn-.js";var s=e(),c=t();function l(e){let t=(0,s.c)(14),{offen:l,titel:u,text:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,c.jsx)(n,{className:`schild text-lg`,children:`Protokoll`}),t[2]=m):m=t[2];let h;t[3]===u?h=t[4]:(h=(0,c.jsxs)(r,{children:[m,(0,c.jsx)(a,{className:`text-text-2`,children:u})]}),t[3]=u,t[4]=h);let g;t[5]===d?g=t[6]:(g=(0,c.jsx)(`pre`,{className:`ziffern mx-4 mb-4 flex-1 overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap text-text-2`,children:d}),t[5]=d,t[6]=g);let _;t[7]!==h||t[8]!==g?(_=(0,c.jsxs)(i,{side:`right`,className:`border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[h,g]}),t[7]=h,t[8]=g,t[9]=_):_=t[9];let v;return t[10]!==l||t[11]!==p||t[12]!==_?(v=(0,c.jsx)(o,{open:l,onOpenChange:p,children:_}),t[10]=l,t[11]=p,t[12]=_,t[13]=v):v=t[13],v}export{l as Protokollfenster}; \ No newline at end of file diff --git a/frontend/dist/assets/Start-DEaEpevw.js b/frontend/dist/assets/Start-1Tqdw5yS.js similarity index 96% rename from frontend/dist/assets/Start-DEaEpevw.js rename to frontend/dist/assets/Start-1Tqdw5yS.js index e304135..ad25131 100644 --- a/frontend/dist/assets/Start-DEaEpevw.js +++ b/frontend/dist/assets/Start-1Tqdw5yS.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Protokollfenster-ebAC9ZNZ.js","assets/dist-D4CVSex9.js","assets/sheet-CB1NvtKC.js","assets/index-FvHAYExN.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/index-tY0RgKNN.css","assets/button-D8rvET0Z.js","assets/dist-LMCPoT8k.js","assets/Bestaetigen-SE_NgpcU.js"])))=>i.map(i=>d[i]); -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{At as a,Bt as o,Ct as s,Dt as c,Et as l,Jt as u,Lt as d,Mt as f,Nt as p,Ot as m,St as h,bt as g,d as _,dt as v,f as y,kt as b,m as x,p as S,rt as C,u as w,wt as T,xt as E,z as D}from"./index-FvHAYExN.js";import{t as O}from"./button-D8rvET0Z.js";import{t as k}from"./Lampe-gSQfYg4e.js";var A=t(),j=r(e(),1),M=n(),N=(0,j.lazy)(()=>x(()=>import(`./Protokollfenster-ebAC9ZNZ.js`).then(e=>({default:e.Protokollfenster})),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),P=(0,j.lazy)(()=>x(()=>import(`./Bestaetigen-SE_NgpcU.js`).then(e=>e.n).then(e=>({default:e.Bestaetigen})),__vite__mapDeps([9,1,3,4,5,6,7,8])));function F({h:e}){let t=D(),[n,r]=(0,j.useState)(null),[a,l]=(0,j.useState)(null),u=e.stufe===`rot`,d=a?p(e,a):null;async function f(){try{let t=await o(`/api/hinweise/${encodeURIComponent(e.id)}/aktion/protokoll`);r({titel:e.titel,text:t.text||t.out||t.err||`Kein Protokoll vorhanden.`})}catch(e){c(`fehler`,e.message)}}function m(n){t.mutate({hinweis:e.id,aktion:n.id,label:n.label})}function h(t){t.id===`protokoll`?f():p(e,t)?l(t):m(t)}return(0,M.jsxs)(`article`,{className:`flex flex-col gap-2.5 border-t border-linie pt-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)(`h3`,{className:`min-w-0 font-sans text-[17px] leading-snug font-semibold`,children:e.titel}),(0,M.jsx)(`span`,{"aria-hidden":!0,className:`hidden h-0 flex-grow border-b-2 border-dotted border-linie-stark sm:block`}),(0,M.jsx)(`span`,{className:i(`schild shrink-0 text-base`,u?`text-rot`:`text-bernstein`),children:u?`Jetzt`:`Prüfen`})]}),(0,M.jsxs)(`p`,{className:`ziffern text-[13px] text-text-3`,children:[s(e.seit),` · zuletzt `,T(e.zuletzt)]}),e.text&&(0,M.jsx)(`p`,{className:`text-[15px] leading-relaxed break-words text-text-2`,children:e.text}),e.aktionen.length>0&&(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2.5 pt-1`,children:e.aktionen.map((e,n)=>(0,M.jsx)(O,{variant:n===0&&e.id!==`protokoll`?`default`:`outline`,size:`sm`,disabled:t.isPending,onClick:()=>h(e),children:e.label},e.id))}),n&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(N,{offen:!0,titel:n.titel,text:n.text,onSchliessen:()=>r(null)})}),a&&d&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(P,{offen:!0,titel:d.titel,text:d.text,knopf:d.knopf,gesperrt:t.isPending,onNein:()=>l(null),onJa:()=>{m(a),l(null)}})})]})}function I(e){let t=(0,A.c)(12),{hinweise:n,verlauf:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Date().toDateString(),t[0]=i):i=t[0];let a=i,o;if(t[1]!==n.length||t[2]!==r){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(e.art===`erledigt`||e.art===`auto`)&&new Date(e.ts*1e3).toDateString()===a,t[4]=e):e=t[4];let i=r.filter(e);if(n.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine offenen Punkte. Der Wächter prüft jede Minute.`}),t[5]=e):e=t[5];let n=i.length>0&&(0,M.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm text-text-3`,children:i.slice(0,4).map(R)}),r;t[6]===n?r=t[7]:(r=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 border-t border-linie pt-4`,children:[e,n]}),t[6]=n,t[7]=r),o=r;break bb0}}t[1]=n.length,t[2]=r,t[3]=o}else o=t[3];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[8]===n?s=t[9]:(s=n.map(L),t[8]=n,t[9]=s);let c;return t[10]===s?c=t[11]:(c=(0,M.jsx)(`div`,{className:`flex flex-col gap-4`,children:s}),t[10]=s,t[11]=c),c}function L(e){return(0,M.jsx)(F,{h:e},e.id)}function R(e){return(0,M.jsxs)(`li`,{children:[(0,M.jsx)(`span`,{className:`ziffern`,children:T(e.ts)}),` · `,e.text]},`${e.id}-${e.ts}`)}function z(e){let t=(0,A.c)(25),{anteil:n,farbe:r,zonen:i,mitte:o,unter:s,beschriftung:c,ariaText:l}=e,u=r===void 0?`var(--cyan)`:r,d;t[0]===i?d=t[1]:(d=i===void 0?[]:i,t[0]=i,t[1]=d);let f=d,p=n!=null&&n>.004,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,M.jsx)(`path`,{d:a(0,1,75),fill:`none`,stroke:`var(--linie)`,strokeWidth:12,strokeLinecap:`round`}),t[2]=m):m=t[2];let h;t[3]===f?h=t[4]:(h=f.map(B),t[3]=f,t[4]=h);let g;t[5]!==n||t[6]!==u||t[7]!==p?(g=p&&(0,M.jsx)(`path`,{d:a(0,n,75),fill:`none`,stroke:u,strokeWidth:12,strokeLinecap:`round`}),t[5]=n,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_={fontSize:34,fontWeight:500,fill:`var(--foreground)`},t[9]=_):_=t[9];let v;t[10]===o?v=t[11]:(v=(0,M.jsx)(`text`,{x:`100`,y:`100`,textAnchor:`middle`,className:`ziffern`,style:_,children:o}),t[10]=o,t[11]=v);let y;t[12]===s?y=t[13]:(y=s&&(0,M.jsx)(`text`,{x:`100`,y:`122`,textAnchor:`middle`,style:{fontFamily:`var(--font-anzeige)`,fontSize:14,fontWeight:600,letterSpacing:`0.12em`,fill:`var(--text-3)`},children:s.toUpperCase()}),t[12]=s,t[13]=y);let b;t[14]!==l||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==y?(b=(0,M.jsxs)(`svg`,{viewBox:`0 0 200 150`,className:`h-auto w-full max-w-[200px]`,role:`img`,"aria-label":l,children:[m,h,g,v,y]}),t[14]=l,t[15]=h,t[16]=g,t[17]=v,t[18]=y,t[19]=b):b=t[19];let x;t[20]===c?x=t[21]:(x=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:c}),t[20]=c,t[21]=x);let S;return t[22]!==b||t[23]!==x?(S=(0,M.jsxs)(`figure`,{className:`m-0 flex min-w-0 flex-col items-center gap-1`,children:[b,x]}),t[22]=b,t[23]=x,t[24]=S):S=t[24],S}function B(e){return(0,M.jsx)(`path`,{d:a(e.von,e.bis,86),fill:`none`,stroke:e.farbe,strokeWidth:4,strokeLinecap:`round`},`${e.von}-${e.bis}`)}function V(e){let t=(0,A.c)(26),{zustand:n,lampen:r,onAnsehen:a}=e,o;t[0]===n?o=t[1]:(o=f(n),t[0]=n,t[1]=o);let s=o,c=s.art===`gelb`||s.art===`rot`,l=!c,u=`${s.oben} ${s.mitte}`,d=m[s.art],p=c?`cursor-pointer`:`cursor-default`,h;t[2]!==d||t[3]!==p?(h=i(`flex min-h-[130px] flex-col items-center justify-center gap-1 rounded-2xl border px-4 py-4 font-anzeige transition-colors`,d,p),t[2]=d,t[3]=p,t[4]=h):h=t[4];let g;t[5]===s.oben?g=t[6]:(g=(0,M.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:s.oben}),t[5]=s.oben,t[6]=g);let _;t[7]===s.mitte?_=t[8]:(_=(0,M.jsx)(`span`,{className:`text-[40px] leading-none font-bold tracking-[0.04em] sm:text-[44px]`,children:s.mitte}),t[7]=s.mitte,t[8]=_);let v;t[9]===s.unten?v=t[10]:(v=(0,M.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:s.unten}),t[9]=s.unten,t[10]=v);let y;t[11]!==a||t[12]!==l||t[13]!==u||t[14]!==h||t[15]!==g||t[16]!==_||t[17]!==v?(y=(0,M.jsxs)(`button`,{type:`button`,onClick:a,disabled:l,"aria-label":u,className:h,children:[g,_,v]}),t[11]=a,t[12]=l,t[13]=u,t[14]=h,t[15]=g,t[16]=_,t[17]=v,t[18]=y):y=t[18];let b;t[19]===r?b=t[20]:(b=r.map(H),t[19]=r,t[20]=b);let x;t[21]===b?x=t[22]:(x=(0,M.jsx)(`ul`,{className:`grid grid-cols-2 gap-2.5 rounded-2xl border border-linie bg-panel p-3 sm:grid-cols-4`,children:b}),t[21]=b,t[22]=x);let S;return t[23]!==y||t[24]!==x?(S=(0,M.jsxs)(`section`,{"aria-label":`Warnpanel`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[y,x]}),t[23]=y,t[24]=x,t[25]=S):S=t[25],S}function H(e){return(0,M.jsx)(k,{lampe:e},e.id)}function U(e){let t=(0,A.c)(2),{z:n}=e,r;return t[0]===n?r=t[1]:(r=(0,M.jsx)(`span`,{className:`ziffern inline-flex h-[1.75em] w-[1.1875em] shrink-0 items-center justify-center rounded-md border border-[#2a3036] bg-[#0b0d0f] font-medium`,children:n}),t[0]=n,t[1]=r),r}function W(e){let t=(0,A.c)(25),{sekunden:n}=e,r;t[0]===n?r=t[1]:(r=h(n),t[0]=n,t[1]=r);let i=r,a=String(Math.min(i?.[0]??0,99)),o;t[2]===a?o=t[3]:(o=a.padStart(2,`0`),t[2]=a,t[3]=o);let s=o,c=String(i?.[1]??0),l;t[4]===c?l=t[5]:(l=c.padStart(2,`0`),t[4]=c,t[5]=l);let u=l,d=i?`Laufzeit ohne Neustart: ${i[0]} Tage, ${i[1]} Stunden`:`Laufzeit unbekannt`,f=i?s[0]:`–`,p;t[6]===f?p=t[7]:(p=(0,M.jsx)(U,{z:f}),t[6]=f,t[7]=p);let m=i?s[1]:`–`,g;t[8]===m?g=t[9]:(g=(0,M.jsx)(U,{z:m}),t[8]=m,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,M.jsx)(`span`,{className:`schild mr-[0.444em] ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`T`}),t[10]=_):_=t[10];let v=i?u[0]:`–`,y;t[11]===v?y=t[12]:(y=(0,M.jsx)(U,{z:v}),t[11]=v,t[12]=y);let b=i?u[1]:`–`,x;t[13]===b?x=t[14]:(x=(0,M.jsx)(U,{z:b}),t[13]=b,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,M.jsx)(`span`,{className:`schild ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`H`}),t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==x||t[18]!==p||t[19]!==g||t[20]!==d?(C=(0,M.jsxs)(`div`,{"aria-label":d,role:`img`,className:`flex h-[min(75cqw,150px)] items-center gap-[0.1875em] pb-[min(10cqw,20px)] text-[length:clamp(14px,14.5cqw,32px)]`,children:[p,g,_,y,x,S]}),t[16]=y,t[17]=x,t[18]=p,t[19]=g,t[20]=d,t[21]=C):C=t[21];let w;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:`Ohne Neustart`}),t[22]=w):w=t[22];let T;return t[23]===C?T=t[24]:(T=(0,M.jsxs)(`figure`,{className:`@container m-0 flex min-w-0 flex-col items-center justify-end gap-1`,children:[C,w]}),t[23]=C,t[24]=T),T}function G(e){let t=(0,A.c)(47),{box:n}=e,r=l(),i=r?.ram_used??n.ram_used,a=r?.ram_total??n.ram_total,o=r?.temp_cpu??n.temp_cpu,s=r?.temp_gpu??n.temp_gpu,c=n.platte,u=r?.uptime_s??n.uptime_s,f=i!=null&&a?i/a:null,p;t[0]===i?p=t[1]:(p=i==null?`–`:String(Math.round(g(i)??0)),t[0]=i,t[1]=p);let m;t[2]===a?m=t[3]:(m=a?`von ${Math.round(g(a)??0)} GB`:void 0,t[2]=a,t[3]=m);let h;t[4]!==f||t[5]!==i||t[6]!==a?(h=f==null?`Speicher unbekannt`:`Speicher: ${E(i)} von ${E(a)} belegt`,t[4]=f,t[5]=i,t[6]=a,t[7]=h):h=t[7];let _;t[8]!==f||t[9]!==p||t[10]!==m||t[11]!==h?(_=(0,M.jsx)(z,{beschriftung:`Speicher`,anteil:f,mitte:p,unter:m,ariaText:h}),t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=_):_=t[12];let v=o==null?null:o/100,y;t[13]===o?y=t[14]:(y=d(o),t[13]=o,t[14]=y);let b;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=[{von:.7,bis:.85,farbe:`var(--bernstein)`},{von:.85,bis:1,farbe:`var(--rot)`}],t[15]=b):b=t[15];let x;t[16]===o?x=t[17]:(x=o==null?`–`:`${Math.round(o)}°`,t[16]=o,t[17]=x);let S;t[18]===s?S=t[19]:(S=s==null?void 0:`GPU ${Math.round(s)}°`,t[18]=s,t[19]=S);let C;t[20]===o?C=t[21]:(C=o==null?`Temperatur unbekannt`:`Temperatur ${Math.round(o)} Grad`,t[20]=o,t[21]=C);let w;t[22]!==C||t[23]!==v||t[24]!==y||t[25]!==x||t[26]!==S?(w=(0,M.jsx)(z,{beschriftung:`Temperatur`,anteil:v,farbe:y,zonen:b,mitte:x,unter:S,ariaText:C}),t[22]=C,t[23]=v,t[24]=y,t[25]=x,t[26]=S,t[27]=w):w=t[27];let T=c?c.percent/100:null,D=c&&c.percent>=90?`var(--rot)`:c&&c.percent>=80?`var(--bernstein)`:`var(--cyan)`,O;t[28]===c?O=t[29]:(O=c?`${Math.round(c.percent)}%`:`–`,t[28]=c,t[29]=O);let k;t[30]===c?k=t[31]:(k=c?`${E(c.used)} / ${E(c.total)}`:void 0,t[30]=c,t[31]=k);let j;t[32]===c?j=t[33]:(j=c?`Platte zu ${Math.round(c.percent)} Prozent belegt`:`Platte unbekannt`,t[32]=c,t[33]=j);let N;t[34]!==T||t[35]!==D||t[36]!==O||t[37]!==k||t[38]!==j?(N=(0,M.jsx)(z,{beschriftung:`Platte`,anteil:T,farbe:D,mitte:O,unter:k,ariaText:j}),t[34]=T,t[35]=D,t[36]=O,t[37]=k,t[38]=j,t[39]=N):N=t[39];let P;t[40]===u?P=t[41]:(P=(0,M.jsx)(W,{sekunden:u}),t[40]=u,t[41]=P);let F;return t[42]!==w||t[43]!==N||t[44]!==P||t[45]!==_?(F=(0,M.jsxs)(`section`,{"aria-label":`Instrumente`,className:`grid grid-cols-2 gap-x-4 gap-y-6 rounded-2xl border border-linie bg-panel px-4 py-5 lg:grid-cols-4 lg:px-6`,children:[_,w,N,P]}),t[42]=w,t[43]=N,t[44]=P,t[45]=_,t[46]=F):F=t[46],F}var K={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`};function q(e){let t=(0,A.c)(14),{radar:n}=e;if(!n?.kandidaten)return null;let r,i;t[0]===n.kandidaten?(r=t[1],i=t[2]):(r=n.kandidaten.filter(Y),i=r.find(J)??r[0],t[0]=n.kandidaten,t[1]=r,t[2]=i);let a=i,o=r.length===1?``:`en`,s;t[3]!==r.length||t[4]!==o?(s=(0,M.jsxs)(`span`,{className:`schild text-sm text-cyan`,children:[`Radar · `,r.length,` Kandidat`,o]}),t[3]=r.length,t[4]=o,t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=a?(0,M.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[15px]`,children:[(0,M.jsx)(`span`,{className:`ziffern`,children:a.name}),(0,M.jsxs)(`span`,{className:`text-text-2`,children:[`fürs `,a.rolle===`hirn`?`Hirn`:`Coden`]}),(0,M.jsx)(y,{art:K[a.status]??`grau`,children:b[a.status]??a.status})]}):(0,M.jsx)(`span`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}),t[6]=a,t[7]=c);let l;t[8]!==s||t[9]!==c?(l=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[s,c]}),t[8]=s,t[9]=c,t[10]=l):l=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,M.jsx)(O,{variant:`info`,size:`sm`,asChild:!0,children:(0,M.jsx)(u,{to:`/box/modelle`,hash:`radar`,children:`Ansehen`})}),t[11]=d):d=t[11];let f;return t[12]===l?f=t[13]:(f=(0,M.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center justify-between gap-3 rounded-xl border border-cyan-rand bg-cyan-grund px-4 py-3.5`,children:[l,d]}),t[12]=l,t[13]=f),f}function J(e){return e.status===`bestanden`}function Y(e){return[`bestanden`,`wartet`,`neu`].includes(e.status)}function X(){let e=(0,A.c)(32),{data:t,error:n,isPending:r}=v(),i=C();if(r){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(S,{text:`Die Box meldet sich gleich …`}),e[0]=t):t=e[0],t}if(!t){let t=`MC2 antwortet nicht: ${n?.message??`keine Daten`}`,r;return e[1]===t?r=e[2]:(r=(0,M.jsx)(S,{fehler:!0,text:t}),e[1]=t,e[2]=r),r}let a=t.hinweise.length,o;e[3]!==t.lampen||e[4]!==t.zustand?(o=(0,M.jsx)(V,{zustand:t.zustand,lampen:t.lampen,onAnsehen:Z}),e[3]=t.lampen,e[4]=t.zustand,e[5]=o):o=e[5];let s;e[6]===t.box?s=e[7]:(s=(0,M.jsx)(G,{box:t.box}),e[6]=t.box,e[7]=s);let c=a?`ziffern text-sm text-bernstein`:`ziffern text-sm text-gruen`,l=a?`${a} offen`:`alles erledigt`,u;e[8]!==c||e[9]!==l?(u=(0,M.jsx)(`span`,{className:c,children:l}),e[8]=c,e[9]=l,e[10]=u):u=e[10];let d;e[11]!==t.hinweise||e[12]!==t.verlauf?(d=(0,M.jsx)(I,{hinweise:t.hinweise,verlauf:t.verlauf}),e[11]=t.hinweise,e[12]=t.verlauf,e[13]=d):d=e[13];let f;e[14]!==u||e[15]!==d?(f=(0,M.jsx)(w,{titel:`Checkliste`,id:`checkliste`,rechts:u,children:d}),e[14]=u,e[15]=d,e[16]=f):f=e[16];let p;e[17]!==t.flugplan.gelaufen||e[18]!==t.flugplan.geplant?(p=(0,M.jsx)(_,{gelaufen:t.flugplan.gelaufen,geplant:t.flugplan.geplant}),e[17]=t.flugplan.gelaufen,e[18]=t.flugplan.geplant,e[19]=p):p=e[19];let m;e[20]===i.data?m=e[21]:(m=(0,M.jsx)(q,{radar:i.data}),e[20]=i.data,e[21]=m);let h;e[22]!==p||e[23]!==m?(h=(0,M.jsxs)(w,{titel:`Flugplan`,children:[p,m]}),e[22]=p,e[23]=m,e[24]=h):h=e[24];let g;e[25]!==f||e[26]!==h?(g=(0,M.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] md:gap-6`,children:[f,h]}),e[25]=f,e[26]=h,e[27]=g):g=e[27];let y;return e[28]!==o||e[29]!==s||e[30]!==g?(y=(0,M.jsxs)(M.Fragment,{children:[o,s,g]}),e[28]=o,e[29]=s,e[30]=g,e[31]=y):y=e[31],y}function Z(){return document.getElementById(`checkliste`)?.scrollIntoView({behavior:`smooth`,block:`start`})}export{X as StartSeite}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Protokollfenster-CHwATBxh.js","assets/dist-D4CVSex9.js","assets/sheet-s_FTWvn-.js","assets/index-CYmlXdd4.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/index-tY0RgKNN.css","assets/button-D8rvET0Z.js","assets/dist-CRmt9osm.js","assets/Bestaetigen-CkA7XucG.js"])))=>i.map(i=>d[i]); +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{At as a,Bt as o,Ct as s,Dt as c,Et as l,Jt as u,Lt as d,Mt as f,Nt as p,Ot as m,St as h,bt as g,d as _,dt as v,f as y,kt as b,m as x,p as S,rt as C,u as w,wt as T,xt as E,z as D}from"./index-CYmlXdd4.js";import{t as O}from"./button-D8rvET0Z.js";import{t as k}from"./Lampe-gSQfYg4e.js";var A=t(),j=r(e(),1),M=n(),N=(0,j.lazy)(()=>x(()=>import(`./Protokollfenster-CHwATBxh.js`).then(e=>({default:e.Protokollfenster})),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),P=(0,j.lazy)(()=>x(()=>import(`./Bestaetigen-CkA7XucG.js`).then(e=>e.n).then(e=>({default:e.Bestaetigen})),__vite__mapDeps([9,1,3,4,5,6,7,8])));function F({h:e}){let t=D(),[n,r]=(0,j.useState)(null),[a,l]=(0,j.useState)(null),u=e.stufe===`rot`,d=a?p(e,a):null;async function f(){try{let t=await o(`/api/hinweise/${encodeURIComponent(e.id)}/aktion/protokoll`);r({titel:e.titel,text:t.text||t.out||t.err||`Kein Protokoll vorhanden.`})}catch(e){c(`fehler`,e.message)}}function m(n){t.mutate({hinweis:e.id,aktion:n.id,label:n.label})}function h(t){t.id===`protokoll`?f():p(e,t)?l(t):m(t)}return(0,M.jsxs)(`article`,{className:`flex flex-col gap-2.5 border-t border-linie pt-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)(`h3`,{className:`min-w-0 font-sans text-[17px] leading-snug font-semibold`,children:e.titel}),(0,M.jsx)(`span`,{"aria-hidden":!0,className:`hidden h-0 flex-grow border-b-2 border-dotted border-linie-stark sm:block`}),(0,M.jsx)(`span`,{className:i(`schild shrink-0 text-base`,u?`text-rot`:`text-bernstein`),children:u?`Jetzt`:`Prüfen`})]}),(0,M.jsxs)(`p`,{className:`ziffern text-[13px] text-text-3`,children:[s(e.seit),` · zuletzt `,T(e.zuletzt)]}),e.text&&(0,M.jsx)(`p`,{className:`text-[15px] leading-relaxed break-words text-text-2`,children:e.text}),e.aktionen.length>0&&(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2.5 pt-1`,children:e.aktionen.map((e,n)=>(0,M.jsx)(O,{variant:n===0&&e.id!==`protokoll`?`default`:`outline`,size:`sm`,disabled:t.isPending,onClick:()=>h(e),children:e.label},e.id))}),n&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(N,{offen:!0,titel:n.titel,text:n.text,onSchliessen:()=>r(null)})}),a&&d&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(P,{offen:!0,titel:d.titel,text:d.text,knopf:d.knopf,gesperrt:t.isPending,onNein:()=>l(null),onJa:()=>{m(a),l(null)}})})]})}function I(e){let t=(0,A.c)(12),{hinweise:n,verlauf:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Date().toDateString(),t[0]=i):i=t[0];let a=i,o;if(t[1]!==n.length||t[2]!==r){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(e.art===`erledigt`||e.art===`auto`)&&new Date(e.ts*1e3).toDateString()===a,t[4]=e):e=t[4];let i=r.filter(e);if(n.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine offenen Punkte. Der Wächter prüft jede Minute.`}),t[5]=e):e=t[5];let n=i.length>0&&(0,M.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm text-text-3`,children:i.slice(0,4).map(R)}),r;t[6]===n?r=t[7]:(r=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 border-t border-linie pt-4`,children:[e,n]}),t[6]=n,t[7]=r),o=r;break bb0}}t[1]=n.length,t[2]=r,t[3]=o}else o=t[3];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[8]===n?s=t[9]:(s=n.map(L),t[8]=n,t[9]=s);let c;return t[10]===s?c=t[11]:(c=(0,M.jsx)(`div`,{className:`flex flex-col gap-4`,children:s}),t[10]=s,t[11]=c),c}function L(e){return(0,M.jsx)(F,{h:e},e.id)}function R(e){return(0,M.jsxs)(`li`,{children:[(0,M.jsx)(`span`,{className:`ziffern`,children:T(e.ts)}),` · `,e.text]},`${e.id}-${e.ts}`)}function z(e){let t=(0,A.c)(25),{anteil:n,farbe:r,zonen:i,mitte:o,unter:s,beschriftung:c,ariaText:l}=e,u=r===void 0?`var(--cyan)`:r,d;t[0]===i?d=t[1]:(d=i===void 0?[]:i,t[0]=i,t[1]=d);let f=d,p=n!=null&&n>.004,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,M.jsx)(`path`,{d:a(0,1,75),fill:`none`,stroke:`var(--linie)`,strokeWidth:12,strokeLinecap:`round`}),t[2]=m):m=t[2];let h;t[3]===f?h=t[4]:(h=f.map(B),t[3]=f,t[4]=h);let g;t[5]!==n||t[6]!==u||t[7]!==p?(g=p&&(0,M.jsx)(`path`,{d:a(0,n,75),fill:`none`,stroke:u,strokeWidth:12,strokeLinecap:`round`}),t[5]=n,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_={fontSize:34,fontWeight:500,fill:`var(--foreground)`},t[9]=_):_=t[9];let v;t[10]===o?v=t[11]:(v=(0,M.jsx)(`text`,{x:`100`,y:`100`,textAnchor:`middle`,className:`ziffern`,style:_,children:o}),t[10]=o,t[11]=v);let y;t[12]===s?y=t[13]:(y=s&&(0,M.jsx)(`text`,{x:`100`,y:`122`,textAnchor:`middle`,style:{fontFamily:`var(--font-anzeige)`,fontSize:14,fontWeight:600,letterSpacing:`0.12em`,fill:`var(--text-3)`},children:s.toUpperCase()}),t[12]=s,t[13]=y);let b;t[14]!==l||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==y?(b=(0,M.jsxs)(`svg`,{viewBox:`0 0 200 150`,className:`h-auto w-full max-w-[200px]`,role:`img`,"aria-label":l,children:[m,h,g,v,y]}),t[14]=l,t[15]=h,t[16]=g,t[17]=v,t[18]=y,t[19]=b):b=t[19];let x;t[20]===c?x=t[21]:(x=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:c}),t[20]=c,t[21]=x);let S;return t[22]!==b||t[23]!==x?(S=(0,M.jsxs)(`figure`,{className:`m-0 flex min-w-0 flex-col items-center gap-1`,children:[b,x]}),t[22]=b,t[23]=x,t[24]=S):S=t[24],S}function B(e){return(0,M.jsx)(`path`,{d:a(e.von,e.bis,86),fill:`none`,stroke:e.farbe,strokeWidth:4,strokeLinecap:`round`},`${e.von}-${e.bis}`)}function V(e){let t=(0,A.c)(26),{zustand:n,lampen:r,onAnsehen:a}=e,o;t[0]===n?o=t[1]:(o=f(n),t[0]=n,t[1]=o);let s=o,c=s.art===`gelb`||s.art===`rot`,l=!c,u=`${s.oben} ${s.mitte}`,d=m[s.art],p=c?`cursor-pointer`:`cursor-default`,h;t[2]!==d||t[3]!==p?(h=i(`flex min-h-[130px] flex-col items-center justify-center gap-1 rounded-2xl border px-4 py-4 font-anzeige transition-colors`,d,p),t[2]=d,t[3]=p,t[4]=h):h=t[4];let g;t[5]===s.oben?g=t[6]:(g=(0,M.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:s.oben}),t[5]=s.oben,t[6]=g);let _;t[7]===s.mitte?_=t[8]:(_=(0,M.jsx)(`span`,{className:`text-[40px] leading-none font-bold tracking-[0.04em] sm:text-[44px]`,children:s.mitte}),t[7]=s.mitte,t[8]=_);let v;t[9]===s.unten?v=t[10]:(v=(0,M.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:s.unten}),t[9]=s.unten,t[10]=v);let y;t[11]!==a||t[12]!==l||t[13]!==u||t[14]!==h||t[15]!==g||t[16]!==_||t[17]!==v?(y=(0,M.jsxs)(`button`,{type:`button`,onClick:a,disabled:l,"aria-label":u,className:h,children:[g,_,v]}),t[11]=a,t[12]=l,t[13]=u,t[14]=h,t[15]=g,t[16]=_,t[17]=v,t[18]=y):y=t[18];let b;t[19]===r?b=t[20]:(b=r.map(H),t[19]=r,t[20]=b);let x;t[21]===b?x=t[22]:(x=(0,M.jsx)(`ul`,{className:`grid grid-cols-2 gap-2.5 rounded-2xl border border-linie bg-panel p-3 sm:grid-cols-4`,children:b}),t[21]=b,t[22]=x);let S;return t[23]!==y||t[24]!==x?(S=(0,M.jsxs)(`section`,{"aria-label":`Warnpanel`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[y,x]}),t[23]=y,t[24]=x,t[25]=S):S=t[25],S}function H(e){return(0,M.jsx)(k,{lampe:e},e.id)}function U(e){let t=(0,A.c)(2),{z:n}=e,r;return t[0]===n?r=t[1]:(r=(0,M.jsx)(`span`,{className:`ziffern inline-flex h-[1.75em] w-[1.1875em] shrink-0 items-center justify-center rounded-md border border-[#2a3036] bg-[#0b0d0f] font-medium`,children:n}),t[0]=n,t[1]=r),r}function W(e){let t=(0,A.c)(25),{sekunden:n}=e,r;t[0]===n?r=t[1]:(r=h(n),t[0]=n,t[1]=r);let i=r,a=String(Math.min(i?.[0]??0,99)),o;t[2]===a?o=t[3]:(o=a.padStart(2,`0`),t[2]=a,t[3]=o);let s=o,c=String(i?.[1]??0),l;t[4]===c?l=t[5]:(l=c.padStart(2,`0`),t[4]=c,t[5]=l);let u=l,d=i?`Laufzeit ohne Neustart: ${i[0]} Tage, ${i[1]} Stunden`:`Laufzeit unbekannt`,f=i?s[0]:`–`,p;t[6]===f?p=t[7]:(p=(0,M.jsx)(U,{z:f}),t[6]=f,t[7]=p);let m=i?s[1]:`–`,g;t[8]===m?g=t[9]:(g=(0,M.jsx)(U,{z:m}),t[8]=m,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,M.jsx)(`span`,{className:`schild mr-[0.444em] ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`T`}),t[10]=_):_=t[10];let v=i?u[0]:`–`,y;t[11]===v?y=t[12]:(y=(0,M.jsx)(U,{z:v}),t[11]=v,t[12]=y);let b=i?u[1]:`–`,x;t[13]===b?x=t[14]:(x=(0,M.jsx)(U,{z:b}),t[13]=b,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,M.jsx)(`span`,{className:`schild ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`H`}),t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==x||t[18]!==p||t[19]!==g||t[20]!==d?(C=(0,M.jsxs)(`div`,{"aria-label":d,role:`img`,className:`flex h-[min(75cqw,150px)] items-center gap-[0.1875em] pb-[min(10cqw,20px)] text-[length:clamp(14px,14.5cqw,32px)]`,children:[p,g,_,y,x,S]}),t[16]=y,t[17]=x,t[18]=p,t[19]=g,t[20]=d,t[21]=C):C=t[21];let w;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:`Ohne Neustart`}),t[22]=w):w=t[22];let T;return t[23]===C?T=t[24]:(T=(0,M.jsxs)(`figure`,{className:`@container m-0 flex min-w-0 flex-col items-center justify-end gap-1`,children:[C,w]}),t[23]=C,t[24]=T),T}function G(e){let t=(0,A.c)(47),{box:n}=e,r=l(),i=r?.ram_used??n.ram_used,a=r?.ram_total??n.ram_total,o=r?.temp_cpu??n.temp_cpu,s=r?.temp_gpu??n.temp_gpu,c=n.platte,u=r?.uptime_s??n.uptime_s,f=i!=null&&a?i/a:null,p;t[0]===i?p=t[1]:(p=i==null?`–`:String(Math.round(g(i)??0)),t[0]=i,t[1]=p);let m;t[2]===a?m=t[3]:(m=a?`von ${Math.round(g(a)??0)} GB`:void 0,t[2]=a,t[3]=m);let h;t[4]!==f||t[5]!==i||t[6]!==a?(h=f==null?`Speicher unbekannt`:`Speicher: ${E(i)} von ${E(a)} belegt`,t[4]=f,t[5]=i,t[6]=a,t[7]=h):h=t[7];let _;t[8]!==f||t[9]!==p||t[10]!==m||t[11]!==h?(_=(0,M.jsx)(z,{beschriftung:`Speicher`,anteil:f,mitte:p,unter:m,ariaText:h}),t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=_):_=t[12];let v=o==null?null:o/100,y;t[13]===o?y=t[14]:(y=d(o),t[13]=o,t[14]=y);let b;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=[{von:.7,bis:.85,farbe:`var(--bernstein)`},{von:.85,bis:1,farbe:`var(--rot)`}],t[15]=b):b=t[15];let x;t[16]===o?x=t[17]:(x=o==null?`–`:`${Math.round(o)}°`,t[16]=o,t[17]=x);let S;t[18]===s?S=t[19]:(S=s==null?void 0:`GPU ${Math.round(s)}°`,t[18]=s,t[19]=S);let C;t[20]===o?C=t[21]:(C=o==null?`Temperatur unbekannt`:`Temperatur ${Math.round(o)} Grad`,t[20]=o,t[21]=C);let w;t[22]!==C||t[23]!==v||t[24]!==y||t[25]!==x||t[26]!==S?(w=(0,M.jsx)(z,{beschriftung:`Temperatur`,anteil:v,farbe:y,zonen:b,mitte:x,unter:S,ariaText:C}),t[22]=C,t[23]=v,t[24]=y,t[25]=x,t[26]=S,t[27]=w):w=t[27];let T=c?c.percent/100:null,D=c&&c.percent>=90?`var(--rot)`:c&&c.percent>=80?`var(--bernstein)`:`var(--cyan)`,O;t[28]===c?O=t[29]:(O=c?`${Math.round(c.percent)}%`:`–`,t[28]=c,t[29]=O);let k;t[30]===c?k=t[31]:(k=c?`${E(c.used)} / ${E(c.total)}`:void 0,t[30]=c,t[31]=k);let j;t[32]===c?j=t[33]:(j=c?`Platte zu ${Math.round(c.percent)} Prozent belegt`:`Platte unbekannt`,t[32]=c,t[33]=j);let N;t[34]!==T||t[35]!==D||t[36]!==O||t[37]!==k||t[38]!==j?(N=(0,M.jsx)(z,{beschriftung:`Platte`,anteil:T,farbe:D,mitte:O,unter:k,ariaText:j}),t[34]=T,t[35]=D,t[36]=O,t[37]=k,t[38]=j,t[39]=N):N=t[39];let P;t[40]===u?P=t[41]:(P=(0,M.jsx)(W,{sekunden:u}),t[40]=u,t[41]=P);let F;return t[42]!==w||t[43]!==N||t[44]!==P||t[45]!==_?(F=(0,M.jsxs)(`section`,{"aria-label":`Instrumente`,className:`grid grid-cols-2 gap-x-4 gap-y-6 rounded-2xl border border-linie bg-panel px-4 py-5 lg:grid-cols-4 lg:px-6`,children:[_,w,N,P]}),t[42]=w,t[43]=N,t[44]=P,t[45]=_,t[46]=F):F=t[46],F}var K={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`};function q(e){let t=(0,A.c)(14),{radar:n}=e;if(!n?.kandidaten)return null;let r,i;t[0]===n.kandidaten?(r=t[1],i=t[2]):(r=n.kandidaten.filter(Y),i=r.find(J)??r[0],t[0]=n.kandidaten,t[1]=r,t[2]=i);let a=i,o=r.length===1?``:`en`,s;t[3]!==r.length||t[4]!==o?(s=(0,M.jsxs)(`span`,{className:`schild text-sm text-cyan`,children:[`Radar · `,r.length,` Kandidat`,o]}),t[3]=r.length,t[4]=o,t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=a?(0,M.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[15px]`,children:[(0,M.jsx)(`span`,{className:`ziffern`,children:a.name}),(0,M.jsxs)(`span`,{className:`text-text-2`,children:[`fürs `,a.rolle===`hirn`?`Hirn`:`Coden`]}),(0,M.jsx)(y,{art:K[a.status]??`grau`,children:b[a.status]??a.status})]}):(0,M.jsx)(`span`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}),t[6]=a,t[7]=c);let l;t[8]!==s||t[9]!==c?(l=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[s,c]}),t[8]=s,t[9]=c,t[10]=l):l=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,M.jsx)(O,{variant:`info`,size:`sm`,asChild:!0,children:(0,M.jsx)(u,{to:`/box/modelle`,hash:`radar`,children:`Ansehen`})}),t[11]=d):d=t[11];let f;return t[12]===l?f=t[13]:(f=(0,M.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center justify-between gap-3 rounded-xl border border-cyan-rand bg-cyan-grund px-4 py-3.5`,children:[l,d]}),t[12]=l,t[13]=f),f}function J(e){return e.status===`bestanden`}function Y(e){return[`bestanden`,`wartet`,`neu`].includes(e.status)}function X(){let e=(0,A.c)(32),{data:t,error:n,isPending:r}=v(),i=C();if(r){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(S,{text:`Die Box meldet sich gleich …`}),e[0]=t):t=e[0],t}if(!t){let t=`MC2 antwortet nicht: ${n?.message??`keine Daten`}`,r;return e[1]===t?r=e[2]:(r=(0,M.jsx)(S,{fehler:!0,text:t}),e[1]=t,e[2]=r),r}let a=t.hinweise.length,o;e[3]!==t.lampen||e[4]!==t.zustand?(o=(0,M.jsx)(V,{zustand:t.zustand,lampen:t.lampen,onAnsehen:Z}),e[3]=t.lampen,e[4]=t.zustand,e[5]=o):o=e[5];let s;e[6]===t.box?s=e[7]:(s=(0,M.jsx)(G,{box:t.box}),e[6]=t.box,e[7]=s);let c=a?`ziffern text-sm text-bernstein`:`ziffern text-sm text-gruen`,l=a?`${a} offen`:`alles erledigt`,u;e[8]!==c||e[9]!==l?(u=(0,M.jsx)(`span`,{className:c,children:l}),e[8]=c,e[9]=l,e[10]=u):u=e[10];let d;e[11]!==t.hinweise||e[12]!==t.verlauf?(d=(0,M.jsx)(I,{hinweise:t.hinweise,verlauf:t.verlauf}),e[11]=t.hinweise,e[12]=t.verlauf,e[13]=d):d=e[13];let f;e[14]!==u||e[15]!==d?(f=(0,M.jsx)(w,{titel:`Checkliste`,id:`checkliste`,rechts:u,children:d}),e[14]=u,e[15]=d,e[16]=f):f=e[16];let p;e[17]!==t.flugplan.gelaufen||e[18]!==t.flugplan.geplant?(p=(0,M.jsx)(_,{gelaufen:t.flugplan.gelaufen,geplant:t.flugplan.geplant}),e[17]=t.flugplan.gelaufen,e[18]=t.flugplan.geplant,e[19]=p):p=e[19];let m;e[20]===i.data?m=e[21]:(m=(0,M.jsx)(q,{radar:i.data}),e[20]=i.data,e[21]=m);let h;e[22]!==p||e[23]!==m?(h=(0,M.jsxs)(w,{titel:`Flugplan`,children:[p,m]}),e[22]=p,e[23]=m,e[24]=h):h=e[24];let g;e[25]!==f||e[26]!==h?(g=(0,M.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] md:gap-6`,children:[f,h]}),e[25]=f,e[26]=h,e[27]=g):g=e[27];let y;return e[28]!==o||e[29]!==s||e[30]!==g?(y=(0,M.jsxs)(M.Fragment,{children:[o,s,g]}),e[28]=o,e[29]=s,e[30]=g,e[31]=y):y=e[31],y}function Z(){return document.getElementById(`checkliste`)?.scrollIntoView({behavior:`smooth`,block:`start`})}export{X as StartSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Updates-DhRqQqvO.js b/frontend/dist/assets/Updates-C3FVpmnC.js similarity index 98% rename from frontend/dist/assets/Updates-DhRqQqvO.js rename to frontend/dist/assets/Updates-C3FVpmnC.js index 5109ad5..f8e8e2a 100644 --- a/frontend/dist/assets/Updates-DhRqQqvO.js +++ b/frontend/dist/assets/Updates-C3FVpmnC.js @@ -1,2 +1,2 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-T7IsaTwB.js";import{L as o,Pt as s,R as c,Y as l,Z as u,dt as d,f,gt as p,ht as ee,lt as te,p as m,pt as ne,u as h,vt as re,yt as g}from"./index-FvHAYExN.js";import{t as _}from"./button-D8rvET0Z.js";import{t as v}from"./Bestaetigen-SE_NgpcU.js";import{c as y,i as b,n as ie,o as x,t as S}from"./Auftraege-CAHujylB.js";var C=t(),w=r(e(),1),T=n(),E=[{id:`os`,name:`Betriebssystem`},{id:`engine`,name:`Motor (llama.cpp)`},{id:`swap`,name:`llama-swap`},{id:`hermes`,name:`Hermes`}],D={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 O(e){let t=(0,C.c)(7),{breit:n}=e,r=n===void 0?`w-16`:n,a;t[0]===r?a=t[1]:(a=i(`inline-block h-3.5 rounded bg-linie motion-safe:animate-pulse`,r),t[0]=r,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,T.jsx)(`span`,{"aria-hidden":!0,className:a}),t[2]=a,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(`span`,{className:`sr-only`,children:`wird geprüft`}),t[4]=s):s=t[4];let c;return t[5]===o?c=t[6]:(c=(0,T.jsxs)(`span`,{className:`inline-flex items-center`,children:[o,s]}),t[5]=o,t[6]=c),c}function ae(e){let t=(0,C.c)(13),{text:n}=e,[r,a]=(0,w.useState)(!1),o;t[0]===n?o=t[1]:(o=n.split(` +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-ZOVnQh4C.js";import{L as o,Pt as s,R as c,Y as l,Z as u,dt as d,f,gt as p,ht as ee,lt as te,p as m,pt as ne,u as h,vt as re,yt as g}from"./index-CYmlXdd4.js";import{t as _}from"./button-D8rvET0Z.js";import{t as v}from"./Bestaetigen-CkA7XucG.js";import{c as y,i as b,n as ie,o as x,t as S}from"./Auftraege-ChhFntbA.js";var C=t(),w=r(e(),1),T=n(),E=[{id:`os`,name:`Betriebssystem`},{id:`engine`,name:`Motor (llama.cpp)`},{id:`swap`,name:`llama-swap`},{id:`hermes`,name:`Hermes`}],D={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 O(e){let t=(0,C.c)(7),{breit:n}=e,r=n===void 0?`w-16`:n,a;t[0]===r?a=t[1]:(a=i(`inline-block h-3.5 rounded bg-linie motion-safe:animate-pulse`,r),t[0]=r,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,T.jsx)(`span`,{"aria-hidden":!0,className:a}),t[2]=a,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(`span`,{className:`sr-only`,children:`wird geprüft`}),t[4]=s):s=t[4];let c;return t[5]===o?c=t[6]:(c=(0,T.jsxs)(`span`,{className:`inline-flex items-center`,children:[o,s]}),t[5]=o,t[6]=c),c}function ae(e){let t=(0,C.c)(13),{text:n}=e,[r,a]=(0,w.useState)(!1),o;t[0]===n?o=t[1]:(o=n.split(` `).length>3||n.length>240,t[0]=n,t[1]=o);let s=o,c=s&&!r&&`line-clamp-3`,l;t[2]===c?l=t[3]:(l=i(`m-0 whitespace-pre-line`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==n?(u=(0,T.jsx)(`p`,{className:l,children:n}),t[4]=l,t[5]=n,t[6]=u):u=t[6];let d;t[7]!==s||t[8]!==r?(d=s&&(0,T.jsx)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>a(!r),className:`-mb-2 inline-flex h-11 items-center text-sm text-cyan hover:underline`,children:r?`Weniger zeigen`:`Ganze Zusammenfassung zeigen`}),t[7]=s,t[8]=r,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,T.jsxs)(`div`,{className:`flex flex-col items-start`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function oe(e){let t=(0,C.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,o,s;if(t[2]!==n.held_back||t[3]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.held_back??[];if(i.length===0&&e.length===0){s=null;break bb0}let r;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,T.jsx)(a,{"aria-hidden":!0,className:`size-4 transition-transform group-open:rotate-90`}),t[6]=r):r=t[6];let c=i.length===1?`Das Paket ansehen`:`Alle ${i.length} Pakete ansehen`,l;t[7]===c?l=t[8]:(l=(0,T.jsxs)(`summary`,{className:`inline-flex h-11 cursor-pointer items-center gap-1 text-sm text-cyan hover:underline`,children:[r,c]}),t[7]=c,t[8]=l);let u;t[9]===i?u=t[10]:(u=i.map(A),t[9]=i,t[10]=u);let d;t[11]===u?d=t[12]:(d=(0,T.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:u}),t[11]=u,t[12]=d),o=(0,T.jsxs)(`details`,{className:`group`,children:[l,d,e.length>0&&(0,T.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(k).join(`, `),`). Die kommen von selbst, wenn Ubuntu sie freigibt.`]})]})}t[2]=n.held_back,t[3]=i,t[4]=o,t[5]=s}else o=t[4],s=t[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function k(e){return e.name}function A(e){return(0,T.jsxs)(`li`,{className:`break-all`,children:[(0,T.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,T.jsxs)(`span`,{className:`text-text-3`,children:[e.current,` → `,e.candidate]})]},e.name)}function se(e){let t=(0,C.c)(6),{d:n}=e;if(n.action_needed===!1){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,T.jsx)(f,{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,T.jsx)(f,{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,T.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,T.jsxs)(`span`,{className:`flex flex-col items-start gap-1.5`,children:[r,i]}),t[4]=i,t[5]=a),a}function ce(e){let t=e?.trim();return t?t.startsWith(`(Zusammenfassung nicht verfügbar`)?`Die Zusammenfassung ist gerade nicht verfügbar.`:t:null}function j(e){let t=(0,C.c)(63),{id:n,name:r,details:i,hatUpdate:a,neuLautStart:o,fest:s,gesperrt:c,onStart:l,onFreigeben:u}=e,d=i.data,f=i.isPending,p=i.isError?i.error.message:d?.error,ee;t[0]!==d||t[1]!==n?(ee=d?y(n,d):null,t[0]=d,t[1]=n,t[2]=ee):ee=t[2];let te=ee,m=a?te?.neu??o??null:null,ne=d?.summary,h;t[3]===ne?h=t[4]:(h=ce(ne),t[3]=ne,t[4]=h);let re=h,g=te&&te.laeuft!==`–`?te.laeuft:p?`unbekannt`:`–`,v;t[5]!==f||t[6]!==g?(v=f?(0,T.jsx)(O,{}):(0,T.jsx)(T.Fragment,{children:g}),t[5]=f,t[6]=g,t[7]=v):v=t[7];let b=v,ie;t[8]!==p||t[9]!==f||t[10]!==m?(ie=f?(0,T.jsx)(O,{breit:`w-20`}):m?(0,T.jsx)(`span`,{className:`text-cyan`,children:m}):p?(0,T.jsx)(`span`,{className:`text-bernstein`,children:`nicht geprüft`}):(0,T.jsx)(`span`,{className:`text-text-3`,children:`–`}),t[8]=p,t[9]=f,t[10]=m,t[11]=ie):ie=t[11];let S=ie,w;if(f){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,T.jsx)(`span`,{className:`text-text-3`,children:`Wird geprüft …`}),t[12]=e):e=t[12],w=e}else if(p&&!a){let e;t[13]===p?e=t[14]:(e=x(p),t[13]=p,t[14]=e);let n;t[15]===e?n=t[16]:(n=(0,T.jsx)(`span`,{className:`text-bernstein`,children:e}),t[15]=e,t[16]=n),w=n}else if(!a)w=`Aktuell.`;else{let e;t[17]===p?e=t[18]:(e=p&&(0,T.jsx)(`span`,{className:`text-bernstein`,children:x(p)}),t[17]=p,t[18]=e);let r;t[19]===d?r=t[20]:(r=d&&(0,T.jsx)(se,{d}),t[19]=d,t[20]=r);let i;t[21]!==d||t[22]!==n||t[23]!==re?(i=n===`os`?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{children:d?.count?`${d.count} ${d.count===1?`Paket`:`Pakete`} aus Ubuntu.`:`Neue Pakete aus Ubuntu.`}),d&&(0,T.jsx)(oe,{d})]}):re?(0,T.jsx)(ae,{text:re}):null,t[21]=d,t[22]=n,t[23]=re,t[24]=i):i=t[24];let a;t[25]!==e||t[26]!==r||t[27]!==i?(a=(0,T.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 E=f||void 0,D;t[29]===r?D=t[30]:(D=(0,T.jsx)(`span`,{role:`rowheader`,className:`text-[15px] font-semibold`,children:r}),t[29]=r,t[30]=D);let k;t[31]!==p||t[32]!==f||t[33]!==m||t[34]!==S?(k=!f&&(m||p)&&(0,T.jsxs)(T.Fragment,{children:[` `,m?`→`:`·`,` `,S]}),t[31]=p,t[32]=f,t[33]=m,t[34]=S,t[35]=k):k=t[35];let A;t[36]!==b||t[37]!==k?(A=(0,T.jsxs)(`span`,{role:`cell`,className:`ziffern -mt-1 text-sm text-text-2 md:hidden`,children:[b,k]}),t[36]=b,t[37]=k,t[38]=A):A=t[38];let j;t[39]===b?j=t[40]:(j=(0,T.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-text-2 md:block`,children:b}),t[39]=b,t[40]=j);let M;t[41]===S?M=t[42]:(M=(0,T.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm md:block`,children:S}),t[41]=S,t[42]=M);let N;t[43]!==s||t[44]!==r?(N=s&&(0,T.jsxs)(`span`,{className:`mb-1.5 block text-bernstein`,children:[`Festgehalten seit `,s.seit,` auf `,s.version,`: `,s.grund,`. Der Sonntags-Lauf überspringt `,r,`.`]}),t[43]=s,t[44]=r,t[45]=N):N=t[45];let P;t[46]!==N||t[47]!==w?(P=(0,T.jsxs)(`div`,{role:`cell`,className:`text-sm leading-relaxed text-text-2`,children:[N,w]}),t[46]=N,t[47]=w,t[48]=P):P=t[48];let F;t[49]!==s||t[50]!==c||t[51]!==a||t[52]!==u||t[53]!==l?(F=(s||a)&&(0,T.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 md:flex-col md:items-end`,children:[s&&(0,T.jsx)(_,{variant:`outline`,size:`sm`,onClick:u,children:`Freigeben`}),a&&(0,T.jsx)(_,{variant:`outline`,size:`sm`,onClick:l,disabled:c,children:`Aktualisieren`})]}),t[49]=s,t[50]=c,t[51]=a,t[52]=u,t[53]=l,t[54]=F):F=t[54];let I;return t[55]!==j||t[56]!==M||t[57]!==P||t[58]!==F||t[59]!==E||t[60]!==D||t[61]!==A?(I=(0,T.jsxs)(`div`,{role:`row`,"aria-busy":E,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,M,P,F]}),t[55]=j,t[56]=M,t[57]=P,t[58]=F,t[59]=E,t[60]=D,t[61]=A,t[62]=I):I=t[62],I}var M={rot:`rot`,gelb:`bernstein`,gruen:`gruen`,info:`cyan`,grau:`grau`},N={rot:`bg-rot`,gelb:`bg-bernstein`,gruen:`bg-gruen`,info:`bg-cyan`,grau:`bg-text-3`};function P(e){let t=(0,C.c)(19),{lauf:n}=e,r;t[0]===n.start?r=t[1]:(r=g(n.start),t[0]=n.start,t[1]=r);let i;t[2]===r?i=t[3]:(i=(0,T.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,T.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=M[n.stufe],s;t[6]!==n.titel||t[7]!==o?(s=(0,T.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,T.jsx)(f,{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,T.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,T.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 @sm:pl-[124px]`,children:n.zeilen.map(F)}),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,T.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 F(e){return(0,T.jsxs)(`li`,{className:`flex items-baseline gap-2 text-sm leading-snug text-text-2`,children:[(0,T.jsx)(`span`,{"aria-hidden":!0,className:i(`size-1.5 shrink-0 -translate-y-px rounded-full`,N[e.stufe])}),(0,T.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,T.jsx)(`span`,{className:`text-foreground`,children:e.baustein}),` · `,e.text]})]},`${e.baustein}-${e.text}`)}function I(e){return e.mtime?g(new Date(e.mtime*1e3).toISOString()):e.snapshot}function le(){let e=(0,C.c)(126),t=d(),n=o(!0).data?.update_fenster,r=u(),i=p(),a=te(),s=ee(),f=c(),g=l(),y=re(),[b,x]=(0,w.useState)(null),O;e[0]===t.data?.updates.bausteine?O=e[1]:(O=new Map((t.data?.updates.bausteine??[]).map(he)),e[0]=t.data?.updates.bausteine,e[1]=O);let ae=O,oe=new Map((t.data?.updates.festgehalten??[]).map(me)),k;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(k=E.map(pe),e[2]=k):k=e[2];let A=ne(k),se;e[3]!==A||e[4]!==ae?(se=(e,t)=>ie(e.id,A[t].data)??ae.has(e.id),e[3]=A,e[4]=ae,e[5]=se):se=e[5];let ce=E.map(se),M;e[6]===r.data?.jobs?M=e[7]:(M=r.data?.jobs??[],e[6]=r.data?.jobs,e[7]=M);let N=M,P;e[8]!==N||e[9]!==t.data?.zustand?(P=N.some(fe)||(t.data?.zustand.update_laeuft??!1),e[8]=N,e[9]=t.data?.zustand,e[10]=P):P=e[10];let F=P,le;e[11]===N?le=e[12]:(le=N.some(de),e[11]=N,e[12]=le);let ge=le,L=F||s.isPending,R=a.data?.available??!1,z;if(t.isPending){let t;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(m,{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,T.jsx)(m,{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,T.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,T.jsx)(`span`,{role:`columnheader`,children:`Baustein`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Läuft`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Neu`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Was sich ändert`}),(0,T.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),e[16]=t):t=e[16],z=(0,T.jsxs)(`div`,{role:`table`,"aria-label":`Bausteine und ihre Updates`,className:`flex flex-col`,children:[t,E.map((e,t)=>(0,T.jsx)(j,{id:e.id,name:e.name,details:A[t],hatUpdate:ce[t],neuLautStart:ae.get(e.id),fest:oe.get(e.id),gesperrt:L,onStart:()=>x({art:`einzeln`,id:e.id,name:e.name}),onFreigeben:()=>{let t=oe.get(e.id);t&&x({art:`freigeben`,id:e.id,name:e.name,grund:t.grund})}},e.id))]})}let B;if(i.isPending){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[17]=t):t=e[17],B=t}else if(i.isError&&!i.data){let t;e[18]===i.error.message?t=e[19]:(t=(0,T.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Verlauf lässt sich gerade nicht lesen: `,i.error.message]}),e[18]=i.error.message,e[19]=t),B=t}else if(i.data?.laeufe.length){let t;e[21]===i.data.laeufe?t=e[22]:(t=i.data.laeufe.map(ue),e[21]=i.data.laeufe,e[22]=t);let n;e[23]===t?n=e[24]:(n=(0,T.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,T.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(a.isPending){let t;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[25]=t):t=e[25],V=t}else if(a.isError&&!a.data){let t;e[26]===a.error.message?t=e[27]:(t=(0,T.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Sicherungen lassen sich gerade nicht lesen: `,a.error.message]}),e[26]=a.error.message,e[27]=t),V=t}else if(a.data?.backups.length){let t;if(e[29]!==a.data.backups||e[30]!==y.isPending||e[31]!==R){let n;e[33]!==y.isPending||e[34]!==R?(n=e=>(0,T.jsxs)(`li`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2.5`,children:[(0,T.jsx)(`span`,{className:`ziffern text-sm`,children:I(e)}),(0,T.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,T.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.size_mb.toLocaleString(`de-DE`),` MB`]}),(0,T.jsx)(_,{variant:`ghost`,size:`sm`,disabled:!R||y.isPending,onClick:()=>x({art:`zurueck`,datei:e.file,zeit:I(e)}),children:`Zurückspielen`})]})]},e.file),e[33]=y.isPending,e[34]=R,e[35]=n):n=e[35],t=a.data.backups.slice(0,5).map(n),e[29]=a.data.backups,e[30]=y.isPending,e[31]=R,e[32]=t}else t=e[32];let n;e[36]===t?n=e[37]:(n=(0,T.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,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Sicherung vorhanden.`}),e[28]=t):t=e[28],V=t}let _e=h,H;e[38]===s?H=e[39]:(H=()=>s.mutate(`pruefen`),e[38]=s,e[39]=H);let ve=s.isPending||ge,ye=ge?`Sucht …`:`Nach Neuem suchen`,U;e[40]!==ye||e[41]!==H||e[42]!==ve?(U=(0,T.jsx)(_,{variant:`outline`,onClick:H,disabled:ve,children:ye}),e[40]=ye,e[41]=H,e[42]=ve,e[43]=U):U=e[43];let be=_,W;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>x({art:`alle`}),e[44]=W):W=e[44];let xe=L||!ce.some(Boolean),G;e[45]!==be||e[46]!==W||e[47]!==xe?(G=(0,T.jsx)(be,{onClick:W,disabled:xe,children:`Alles jetzt aktualisieren`}),e[45]=be,e[46]=W,e[47]=xe,e[48]=G):G=e[48];let K;e[49]!==U||e[50]!==G?(K=(0,T.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 Se=n?`Jeden ${n.tag_name} um ${n.uhrzeit} automatisch.`:`Einmal pro Woche automatisch.`,q;e[52]===Se?q=e[53]:(q=(0,T.jsxs)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:[Se,` Vorher wird gesichert, danach geprüft.`]}),e[52]=Se,e[53]=q);let J;e[54]===F?J=e[55]:(J=F&&(0,T.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[54]=F,e[55]=J);let Ce;e[56]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,T.jsx)(S,{}),e[56]=Ce):Ce=e[56];let Y;e[57]!==_e||e[58]!==K||e[59]!==q||e[60]!==J||e[61]!==z?(Y=(0,T.jsxs)(_e,{titel:`Updates`,rechts:K,children:[q,J,z,Ce]}),e[57]=_e,e[58]=K,e[59]=q,e[60]=J,e[61]=z,e[62]=Y):Y=e[62];let X;e[63]===B?X=e[64]:(X=(0,T.jsx)(h,{titel:`Verlauf`,children:B}),e[63]=B,e[64]=X);let Z;e[65]===g?Z=e[66]:(Z=()=>g.mutate(void 0),e[65]=g,e[66]=Z);let we=g.isPending?`Sichert …`:`Jetzt sichern`,Q;e[67]!==g.isPending||e[68]!==Z||e[69]!==we?(Q=(0,T.jsx)(_,{variant:`outline`,size:`sm`,onClick:Z,disabled:g.isPending,children:we}),e[67]=g.isPending,e[68]=Z,e[69]=we,e[70]=Q):Q=e[70];let Te;e[71]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,T.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Täglich um 03:35, mit Kopie auf einem zweiten Gerät.`}),e[71]=Te):Te=e[71];let Ee;e[72]!==a.data||e[73]!==R?(Ee=a.data&&!R&&(0,T.jsx)(`p`,{className:`text-sm text-text-3`,children:`Zurückspielen geht nur auf der Box selbst.`}),e[72]=a.data,e[73]=R,e[74]=Ee):Ee=e[74];let De;e[75]!==V||e[76]!==Q||e[77]!==Ee?(De=(0,T.jsxs)(h,{titel:`Sicherungen`,rechts:Q,children:[Te,Ee,V]}),e[75]=V,e[76]=Q,e[77]=Ee,e[78]=De):De=e[78];let Oe;e[79]!==X||e[80]!==De?(Oe=(0,T.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[X,De]}),e[79]=X,e[80]=De,e[81]=Oe):Oe=e[81];let ke=b?.art===`alle`,Ae;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=()=>x(null),e[82]=Ae):Ae=e[82];let je;e[83]!==b?.art||e[84]!==s?(je=()=>{b?.art===`alle`&&s.mutate(`alle`),x(null)},e[83]=b?.art,e[84]=s,e[85]=je):je=e[85];let Me;e[86]!==L||e[87]!==ke||e[88]!==je?(Me=(0,T.jsx)(v,{offen:ke,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:Ae,onJa:je}),e[86]=L,e[87]=ke,e[88]=je,e[89]=Me):Me=e[89];let Ne=b?.art===`einzeln`,Pe=b?.art===`einzeln`?`${b.name} aktualisieren?`:``,Fe=b?.art===`einzeln`?D[b.id]??``:``,Ie;e[90]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>x(null),e[90]=Ie):Ie=e[90];let Le;e[91]!==b||e[92]!==s?(Le=()=>{b?.art===`einzeln`&&s.mutate(b.id),x(null)},e[91]=b,e[92]=s,e[93]=Le):Le=e[93];let Re;e[94]!==L||e[95]!==Ne||e[96]!==Pe||e[97]!==Fe||e[98]!==Le?(Re=(0,T.jsx)(v,{offen:Ne,titel:Pe,text:Fe,knopf:`Aktualisieren`,gesperrt:L,onNein:Ie,onJa:Le}),e[94]=L,e[95]=Ne,e[96]=Pe,e[97]=Fe,e[98]=Le,e[99]=Re):Re=e[99];let ze=b?.art===`freigeben`,Be=b?.art===`freigeben`?`${b.name} freigeben?`:``,Ve=b?.art===`freigeben`?`Festgehalten wurde ${b.name}, weil: ${b.grund}. Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`:``,He;e[100]===Symbol.for(`react.memo_cache_sentinel`)?(He=()=>x(null),e[100]=He):He=e[100];let Ue;e[101]!==b||e[102]!==f?(Ue=()=>{b?.art===`freigeben`&&f.mutate(b.id),x(null)},e[101]=b,e[102]=f,e[103]=Ue):Ue=e[103];let We;e[104]!==f.isPending||e[105]!==ze||e[106]!==Be||e[107]!==Ve||e[108]!==Ue?(We=(0,T.jsx)(v,{offen:ze,titel:Be,text:Ve,knopf:`Freigeben`,gesperrt:f.isPending,onNein:He,onJa:Ue}),e[104]=f.isPending,e[105]=ze,e[106]=Be,e[107]=Ve,e[108]=Ue,e[109]=We):We=e[109];let Ge=b?.art===`zurueck`,Ke=`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.`,qe;e[110]===Symbol.for(`react.memo_cache_sentinel`)?(qe=()=>x(null),e[110]=qe):qe=e[110];let Je;e[111]!==b||e[112]!==y?(Je=()=>{b?.art===`zurueck`&&y.mutate(b.datei),x(null)},e[111]=b,e[112]=y,e[113]=Je):Je=e[113];let $;e[114]!==Ge||e[115]!==Ke||e[116]!==Je||e[117]!==y.isPending?($=(0,T.jsx)(v,{offen:Ge,gefahr:!0,titel:`Sicherung zurückspielen?`,text:Ke,knopf:`Zurückspielen`,gesperrt:y.isPending,onNein:qe,onJa:Je}),e[114]=Ge,e[115]=Ke,e[116]=Je,e[117]=y.isPending,e[118]=$):$=e[118];let Ye;return e[119]!==Y||e[120]!==Oe||e[121]!==Me||e[122]!==Re||e[123]!==We||e[124]!==$?(Ye=(0,T.jsxs)(T.Fragment,{children:[Y,Oe,Me,Re,We,$]}),e[119]=Y,e[120]=Oe,e[121]=Me,e[122]=Re,e[123]=We,e[124]=$,e[125]=Ye):Ye=e[125],Ye}function ue(e){return(0,T.jsx)(P,{lauf:e},e.start)}function de(e){return b(e)&&s(e)}function fe(e){return e.group===`maintenance`&&s(e)}function pe(e){return e.id}function me(e){return[e.baustein,e]}function he(e){return[e.id,e.neu]}export{le as UpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/chevron-right-T7IsaTwB.js b/frontend/dist/assets/chevron-right-ZOVnQh4C.js similarity index 60% rename from frontend/dist/assets/chevron-right-T7IsaTwB.js rename to frontend/dist/assets/chevron-right-ZOVnQh4C.js index 680bc5c..7b82431 100644 --- a/frontend/dist/assets/chevron-right-T7IsaTwB.js +++ b/frontend/dist/assets/chevron-right-ZOVnQh4C.js @@ -1 +1 @@ -import{Kt as e}from"./index-FvHAYExN.js";var t={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file +import{Kt as e}from"./index-CYmlXdd4.js";var t={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file diff --git a/frontend/dist/assets/dist-LMCPoT8k.js b/frontend/dist/assets/dist-CRmt9osm.js similarity index 99% rename from frontend/dist/assets/dist-LMCPoT8k.js rename to frontend/dist/assets/dist-CRmt9osm.js index 2f6c5ca..e4efb26 100644 --- a/frontend/dist/assets/dist-LMCPoT8k.js +++ b/frontend/dist/assets/dist-CRmt9osm.js @@ -1,4 +1,4 @@ -import{i as e,r as t,s as n}from"./dist-D4CVSex9.js";import{Qt as r}from"./index-FvHAYExN.js";import{n as i,r as a}from"./button-D8rvET0Z.js";var o=n(e(),1),s=n(r(),1),c=t(),l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0}),d=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=i(`Primitive.${t}`),r=o.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,c.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function f(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}u(f,`dispatchDiscreteCustomEvent`);var p=Object.defineProperty,m=(e,t)=>p(e,`name`,{value:t,configurable:!0});function h(e,t){let n=o.createContext(t);n.displayName=e+`Context`;let r=m(e=>{let{children:t,...r}=e,i=o.useMemo(()=>r,Object.values(r));return(0,c.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,s=o.useContext(n);if(s)return s;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return m(i,`useContext`),[r,i]}m(h,`createContext`);function g(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let s=m(t=>{let{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,u=o.useMemo(()=>s,Object.values(s));return(0,c.jsx)(l.Provider,{value:u,children:r})},`Provider`);s.displayName=t+`Provider`;function l(n,s,c={}){let{optional:l=!1}=c,u=s?.[e]?.[a]||i,d=o.useContext(u);if(d)return d;if(r!==void 0)return r;if(!l)throw Error(`\`${n}\` must be used within \`${t}\``)}return m(l,`useContext`),[s,l]}m(r,`createContext`);let i=m(()=>{let t=n.map(e=>o.createContext(e));return m(function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,_(i,...t)]}m(g,`createContextScope`);function _(...e){let t=e[0];if(e.length===1)return t;let n=m(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return m(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}m(_,`composeContextScopes`);var v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0}),b=!!(typeof window<`u`&&window.document&&window.document.createElement);function x(e,t,{checkForDefaultPrevented:n=!0}={}){return y(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}y(x,`composeEventHandlers`);function S(e){if(!b)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}y(S,`getOwnerWindow`);function C(e){if(!b)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}y(C,`getOwnerDocument`);function w(e,t=!1){let{activeElement:n}=C(e);if(!n?.nodeName)return null;if(ee(n)&&n.contentDocument)return w(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=C(n).getElementById(e);if(t)return t}}return n}y(w,`getActiveElement`);function ee(e){return e.tagName===`IFRAME`}y(ee,`isFrame`);var T=globalThis?.document?o.useLayoutEffect:()=>{},te=Object.defineProperty,ne=(e,t)=>te(e,`name`,{value:t,configurable:!0}),E=o.useEffectEvent,D=o.useInsertionEffect;function O(e){if(typeof E==`function`)return E(e);let t=o.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof D==`function`?D(()=>{t.current=e}):T(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}ne(O,`useEffectEvent`);var re=Object.defineProperty,k=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie=o.useInsertionEffect||T;function ae({prop:e,defaultProp:t,onChange:n=k(()=>{},`onChange`),caller:r}){let[i,a,s]=oe({defaultProp:t,onChange:n}),c=e!==void 0;return[c?e:i,o.useCallback(t=>{if(c){let n=se(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}k(ae,`useControllableState`);function oe({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return ie(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}k(oe,`useUncontrolledState`);function se(e){return typeof e==`function`}k(se,`isFunction`);var ce=Symbol(`RADIX:SYNC_STATE`);function le(e,t,n,r){let{prop:i,defaultProp:a,onChange:s,caller:c}=t,l=i!==void 0,u=O(s),d=[{...n,state:a}];r&&d.push(r);let[f,p]=o.useReducer((t,n)=>{if(n.type===ce)return{...t,state:n.state};let r=e(t,n);return l&&!Object.is(r.state,t.state)&&u(r.state),r},...d),m=f.state,h=o.useRef(m);o.useEffect(()=>{h.current!==m&&(h.current=m,l||u(m))},[m,h,l]);let g=o.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return o.useEffect(()=>{l&&!Object.is(i,f.state)&&p({type:ce,state:i})},[i,f.state,l]),[g,p]}k(le,`useControllableStateReducer`);var ue=Object.defineProperty,A=(e,t)=>ue(e,`name`,{value:t,configurable:!0});function de(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}A(de,`useStateMachine`);var fe=A(e=>{let{present:t,children:n}=e,r=pe(t),i=typeof n==`function`?n({present:r.isPresent}):o.Children.only(n),a=he(r.ref,ge(i));return typeof n==`function`||r.isPresent?o.cloneElement(i,{ref:a}):null},`Presence`);function pe(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),s=o.useRef(void 0),[c,l]=de(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{c===`mounted`?(a.current=s.current??j(r.current),s.current=void 0):a.current=`none`},[c]),T(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=j(t);e?(s.current=o,l(`MOUNT`)):o===`none`||t?.display===`none`?l(`UNMOUNT`):l(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,l]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=A(a=>{let o=j(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=A(e=>{e.target===t&&(a.current=j(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}l(`ANIMATION_END`)},[t,l]),{isPresent:[`mounted`,`unmountSuspended`].includes(c),ref:o.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,s.current=j(t)}else r.current=null;n(e)},[])}}A(pe,`usePresence`);function me(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}A(me,`setRef`);function he(...e){let t=o.useRef(e);return t.current=e,o.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=me(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e_e(e,`name`,{value:t,configurable:!0}),ye=o.useId||(()=>void 0),be=0;function M(e){let[t,n]=o.useState(ye());return T(()=>{e||n(e=>e??String(be++))},[e]),e||(t?`radix-${t}`:``)}ve(M,`useId`);var xe=Object.defineProperty,Se=(e,t)=>xe(e,`name`,{value:t,configurable:!0});function N(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}Se(N,`useCallbackRef`);var Ce=Object.defineProperty,P=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=`dismissableLayer.update`,Te=`dismissableLayer.pointerDownOutside`,Ee=`dismissableLayer.focusOutside`,De,Oe=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ke=o.forwardRef(P(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:u,onDismiss:f,...p}=e,m=o.useContext(Oe),[h,g]=o.useState(null),_=h?.ownerDocument??globalThis?.document,[,v]=o.useState({}),y=a(t,g),b=Array.from(m.layers),[S]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),C=S?b.indexOf(S):-1,w=h?b.indexOf(h):-1,ee=m.layersWithOutsidePointerEventsDisabled.size>0,T=w>=C,te=o.useRef(!1),ne=Me(e=>{s?.(e),u?.(e),e.defaultPrevented||f?.()},{ownerDocument:_,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:te,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:o.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...m.branches].some(t=>t.contains(e));return T&&!t},[m.branches,T])}),E=Ne(e=>{if(r&&te.current)return;let t=e.target;[...m.branches].some(e=>e.contains(t))||(l?.(e),u?.(e),e.defaultPrevented||f?.())},_),D=h?w===b.length-1:!1,O=N(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return o.useEffect(()=>{if(D)return _.addEventListener(`keydown`,O,{capture:!0}),()=>_.removeEventListener(`keydown`,O,{capture:!0})},[_,D,O]),o.useEffect(()=>{if(h)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(De=_.body.style.pointerEvents,_.body.style.pointerEvents=`none`),m.layersWithOutsidePointerEventsDisabled.add(h)),m.layers.add(h),Pe(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(h),m.layersWithOutsidePointerEventsDisabled.size===0&&(_.body.style.pointerEvents=De))}},[h,_,n,m]),o.useEffect(()=>()=>{h&&(m.layers.delete(h),m.layersWithOutsidePointerEventsDisabled.delete(h),Pe())},[h,m]),o.useEffect(()=>{let e=P(()=>v({}),`handleUpdate`);return document.addEventListener(we,e),()=>document.removeEventListener(we,e)},[]),(0,c.jsx)(d.div,{...p,ref:y,style:{pointerEvents:ee?T?`auto`:`none`:void 0,...e.style},onFocusCapture:x(e.onFocusCapture,E.onFocusCapture),onBlurCapture:x(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:x(e.onPointerDownCapture,ne.onPointerDownCapture)})},`DismissableLayer`));function Ae(){let e=o.useContext(Oe),[t,n]=o.useState(null);return o.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}P(Ae,`useDismissableLayerSurface`);var je=P(()=>!0,`IS_TRUE`);function Me(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:s=je}=t,c=N(e),l=o.useRef(!1),u=o.useRef(!1),d=o.useRef(new Map),f=o.useRef(()=>{});return o.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}P(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}P(t,`isOutsideInteractionIntercepted`);function o(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}P(o,`handleInteractionCapture`);function p(e){u.current&&d.current.set(e.type,!1)}P(p,`handleInteractionBubble`);let m=P(a=>{if(a.target&&!l.current){let o=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Fe(Te,c,p,{discrete:!0})};if(P(o,`handleAndDispatchPointerDownOutsideEvent`),!s(a.target)){n.removeEventListener(`click`,f.current),e(),l.current=!1;return}let p={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?o():(n.removeEventListener(`click`,f.current),f.current=o,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();l.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,o,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,o,!0),n.removeEventListener(e,p)}},[n,c,r,i,a,s]),{onPointerDownCapture:P(()=>l.current=!0,`onPointerDownCapture`)}}P(Me,`usePointerDownOutside`);function Ne(e,t=globalThis?.document){let n=N(e),r=o.useRef(!1);return o.useEffect(()=>{let e=P(e=>{e.target&&!r.current&&Fe(Ee,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:P(()=>r.current=!0,`onFocusCapture`),onBlurCapture:P(()=>r.current=!1,`onBlurCapture`)}}P(Ne,`useFocusOutside`);function Pe(){let e=new CustomEvent(we);document.dispatchEvent(e)}P(Pe,`dispatchUpdate`);function Fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?f(i,a):i.dispatchEvent(a)}P(Fe,`handleAndDispatchCustomEvent`);var Ie=Object.defineProperty,F=(e,t)=>Ie(e,`name`,{value:t,configurable:!0}),Le=`focusScope.autoFocusOnMount`,Re=`focusScope.autoFocusOnUnmount`,ze={bubbles:!1,cancelable:!0},Be=o.forwardRef(F(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...l}=e,[u,f]=o.useState(null),p=N(i),m=N(s),h=o.useRef(null),g=a(t,f),_=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let e=function(e){if(_.paused||!u)return;let t=e.target;u.contains(t)?h.current=t:I(h.current,{select:!0})},t=function(e){if(_.paused||!u)return;let t=e.relatedTarget;t!==null&&(u.contains(t)||I(h.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&I(u)};F(e,`handleFocusIn`),F(t,`handleFocusOut`),F(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,u,_.paused]),o.useEffect(()=>{if(u){qe.add(_);let e=document.activeElement;if(!u.contains(e)){let t=new CustomEvent(Le,ze);u.addEventListener(Le,p),u.dispatchEvent(t),t.defaultPrevented||(Ve(Xe(Ue(u)),{select:!0}),document.activeElement===e&&I(u))}return()=>{u.removeEventListener(Le,p),setTimeout(()=>{let t=new CustomEvent(Re,ze);u.addEventListener(Re,m),u.dispatchEvent(t),t.defaultPrevented||I(e??document.body,{select:!0}),u.removeEventListener(Re,m),qe.remove(_)},0)}}},[u,p,m,_]);let v=o.useCallback(e=>{if(!n&&!r||_.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=He(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&I(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&I(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,_.paused]);return(0,c.jsx)(d.div,{tabIndex:-1,...l,ref:g,onKeyDown:v})},`FocusScope`));function Ve(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(I(r,{select:t}),document.activeElement!==n)return}F(Ve,`focusFirst`);function He(e){let t=Ue(e);return[We(t,e),We(t.reverse(),e)]}F(He,`getTabbableEdges`);function Ue(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:F(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}F(Ue,`getTabbableCandidates`);function We(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Ge(r,{upTo:t})))return r}F(We,`findVisible`);function Ge(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}F(Ge,`isHidden`);function Ke(e){return e instanceof HTMLInputElement&&`select`in e}F(Ke,`isSelectableInput`);function I(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ke(e)&&t&&e.select()}}F(I,`focus`);var qe=Je();function Je(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ye(e,t),e.unshift(t)},remove(t){e=Ye(e,t),e[0]?.resume()}}}F(Je,`createFocusScopesStack`);function Ye(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}F(Ye,`arrayRemove`);function Xe(e){return e.filter(e=>e.tagName!==`A`)}F(Xe,`removeLinks`);var Ze=Object.defineProperty,Qe=o.forwardRef(((e,t)=>Ze(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=o.useState(!1);T(()=>a(!0),[]);let l=n||i&&globalThis?.document?.body;return l?s.createPortal((0,c.jsx)(d.div,{...r,ref:t}),l):null},`Portal`)),$e=Object.defineProperty,et=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),L=0,R=null;function tt(e){return nt(),e.children}et(tt,`FocusGuards`);function nt(){o.useEffect(()=>{R||={start:rt(),end:rt()};let{start:e,end:t}=R;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),L++,()=>{L===1&&(R?.start.remove(),R?.end.remove(),R=null),L=Math.max(0,L-1)}},[])}et(nt,`useFocusGuards`);function rt(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}et(rt,`createFocusGuard`);var z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`u`)return Dt;var t=kt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jt=Et(),U=`data-scroll-locked`,Mt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),` +import{i as e,r as t,s as n}from"./dist-D4CVSex9.js";import{Qt as r}from"./index-CYmlXdd4.js";import{n as i,r as a}from"./button-D8rvET0Z.js";var o=n(e(),1),s=n(r(),1),c=t(),l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0}),d=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=i(`Primitive.${t}`),r=o.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,c.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function f(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}u(f,`dispatchDiscreteCustomEvent`);var p=Object.defineProperty,m=(e,t)=>p(e,`name`,{value:t,configurable:!0});function h(e,t){let n=o.createContext(t);n.displayName=e+`Context`;let r=m(e=>{let{children:t,...r}=e,i=o.useMemo(()=>r,Object.values(r));return(0,c.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,s=o.useContext(n);if(s)return s;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return m(i,`useContext`),[r,i]}m(h,`createContext`);function g(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let s=m(t=>{let{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,u=o.useMemo(()=>s,Object.values(s));return(0,c.jsx)(l.Provider,{value:u,children:r})},`Provider`);s.displayName=t+`Provider`;function l(n,s,c={}){let{optional:l=!1}=c,u=s?.[e]?.[a]||i,d=o.useContext(u);if(d)return d;if(r!==void 0)return r;if(!l)throw Error(`\`${n}\` must be used within \`${t}\``)}return m(l,`useContext`),[s,l]}m(r,`createContext`);let i=m(()=>{let t=n.map(e=>o.createContext(e));return m(function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,_(i,...t)]}m(g,`createContextScope`);function _(...e){let t=e[0];if(e.length===1)return t;let n=m(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return m(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}m(_,`composeContextScopes`);var v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0}),b=!!(typeof window<`u`&&window.document&&window.document.createElement);function x(e,t,{checkForDefaultPrevented:n=!0}={}){return y(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}y(x,`composeEventHandlers`);function S(e){if(!b)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}y(S,`getOwnerWindow`);function C(e){if(!b)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}y(C,`getOwnerDocument`);function w(e,t=!1){let{activeElement:n}=C(e);if(!n?.nodeName)return null;if(ee(n)&&n.contentDocument)return w(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=C(n).getElementById(e);if(t)return t}}return n}y(w,`getActiveElement`);function ee(e){return e.tagName===`IFRAME`}y(ee,`isFrame`);var T=globalThis?.document?o.useLayoutEffect:()=>{},te=Object.defineProperty,ne=(e,t)=>te(e,`name`,{value:t,configurable:!0}),E=o.useEffectEvent,D=o.useInsertionEffect;function O(e){if(typeof E==`function`)return E(e);let t=o.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof D==`function`?D(()=>{t.current=e}):T(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}ne(O,`useEffectEvent`);var re=Object.defineProperty,k=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie=o.useInsertionEffect||T;function ae({prop:e,defaultProp:t,onChange:n=k(()=>{},`onChange`),caller:r}){let[i,a,s]=oe({defaultProp:t,onChange:n}),c=e!==void 0;return[c?e:i,o.useCallback(t=>{if(c){let n=se(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}k(ae,`useControllableState`);function oe({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return ie(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}k(oe,`useUncontrolledState`);function se(e){return typeof e==`function`}k(se,`isFunction`);var ce=Symbol(`RADIX:SYNC_STATE`);function le(e,t,n,r){let{prop:i,defaultProp:a,onChange:s,caller:c}=t,l=i!==void 0,u=O(s),d=[{...n,state:a}];r&&d.push(r);let[f,p]=o.useReducer((t,n)=>{if(n.type===ce)return{...t,state:n.state};let r=e(t,n);return l&&!Object.is(r.state,t.state)&&u(r.state),r},...d),m=f.state,h=o.useRef(m);o.useEffect(()=>{h.current!==m&&(h.current=m,l||u(m))},[m,h,l]);let g=o.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return o.useEffect(()=>{l&&!Object.is(i,f.state)&&p({type:ce,state:i})},[i,f.state,l]),[g,p]}k(le,`useControllableStateReducer`);var ue=Object.defineProperty,A=(e,t)=>ue(e,`name`,{value:t,configurable:!0});function de(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}A(de,`useStateMachine`);var fe=A(e=>{let{present:t,children:n}=e,r=pe(t),i=typeof n==`function`?n({present:r.isPresent}):o.Children.only(n),a=he(r.ref,ge(i));return typeof n==`function`||r.isPresent?o.cloneElement(i,{ref:a}):null},`Presence`);function pe(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),s=o.useRef(void 0),[c,l]=de(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{c===`mounted`?(a.current=s.current??j(r.current),s.current=void 0):a.current=`none`},[c]),T(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=j(t);e?(s.current=o,l(`MOUNT`)):o===`none`||t?.display===`none`?l(`UNMOUNT`):l(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,l]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=A(a=>{let o=j(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=A(e=>{e.target===t&&(a.current=j(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}l(`ANIMATION_END`)},[t,l]),{isPresent:[`mounted`,`unmountSuspended`].includes(c),ref:o.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,s.current=j(t)}else r.current=null;n(e)},[])}}A(pe,`usePresence`);function me(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}A(me,`setRef`);function he(...e){let t=o.useRef(e);return t.current=e,o.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=me(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e_e(e,`name`,{value:t,configurable:!0}),ye=o.useId||(()=>void 0),be=0;function M(e){let[t,n]=o.useState(ye());return T(()=>{e||n(e=>e??String(be++))},[e]),e||(t?`radix-${t}`:``)}ve(M,`useId`);var xe=Object.defineProperty,Se=(e,t)=>xe(e,`name`,{value:t,configurable:!0});function N(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}Se(N,`useCallbackRef`);var Ce=Object.defineProperty,P=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=`dismissableLayer.update`,Te=`dismissableLayer.pointerDownOutside`,Ee=`dismissableLayer.focusOutside`,De,Oe=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ke=o.forwardRef(P(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:u,onDismiss:f,...p}=e,m=o.useContext(Oe),[h,g]=o.useState(null),_=h?.ownerDocument??globalThis?.document,[,v]=o.useState({}),y=a(t,g),b=Array.from(m.layers),[S]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),C=S?b.indexOf(S):-1,w=h?b.indexOf(h):-1,ee=m.layersWithOutsidePointerEventsDisabled.size>0,T=w>=C,te=o.useRef(!1),ne=Me(e=>{s?.(e),u?.(e),e.defaultPrevented||f?.()},{ownerDocument:_,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:te,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:o.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...m.branches].some(t=>t.contains(e));return T&&!t},[m.branches,T])}),E=Ne(e=>{if(r&&te.current)return;let t=e.target;[...m.branches].some(e=>e.contains(t))||(l?.(e),u?.(e),e.defaultPrevented||f?.())},_),D=h?w===b.length-1:!1,O=N(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return o.useEffect(()=>{if(D)return _.addEventListener(`keydown`,O,{capture:!0}),()=>_.removeEventListener(`keydown`,O,{capture:!0})},[_,D,O]),o.useEffect(()=>{if(h)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(De=_.body.style.pointerEvents,_.body.style.pointerEvents=`none`),m.layersWithOutsidePointerEventsDisabled.add(h)),m.layers.add(h),Pe(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(h),m.layersWithOutsidePointerEventsDisabled.size===0&&(_.body.style.pointerEvents=De))}},[h,_,n,m]),o.useEffect(()=>()=>{h&&(m.layers.delete(h),m.layersWithOutsidePointerEventsDisabled.delete(h),Pe())},[h,m]),o.useEffect(()=>{let e=P(()=>v({}),`handleUpdate`);return document.addEventListener(we,e),()=>document.removeEventListener(we,e)},[]),(0,c.jsx)(d.div,{...p,ref:y,style:{pointerEvents:ee?T?`auto`:`none`:void 0,...e.style},onFocusCapture:x(e.onFocusCapture,E.onFocusCapture),onBlurCapture:x(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:x(e.onPointerDownCapture,ne.onPointerDownCapture)})},`DismissableLayer`));function Ae(){let e=o.useContext(Oe),[t,n]=o.useState(null);return o.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}P(Ae,`useDismissableLayerSurface`);var je=P(()=>!0,`IS_TRUE`);function Me(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:s=je}=t,c=N(e),l=o.useRef(!1),u=o.useRef(!1),d=o.useRef(new Map),f=o.useRef(()=>{});return o.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}P(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}P(t,`isOutsideInteractionIntercepted`);function o(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}P(o,`handleInteractionCapture`);function p(e){u.current&&d.current.set(e.type,!1)}P(p,`handleInteractionBubble`);let m=P(a=>{if(a.target&&!l.current){let o=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Fe(Te,c,p,{discrete:!0})};if(P(o,`handleAndDispatchPointerDownOutsideEvent`),!s(a.target)){n.removeEventListener(`click`,f.current),e(),l.current=!1;return}let p={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?o():(n.removeEventListener(`click`,f.current),f.current=o,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();l.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,o,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,o,!0),n.removeEventListener(e,p)}},[n,c,r,i,a,s]),{onPointerDownCapture:P(()=>l.current=!0,`onPointerDownCapture`)}}P(Me,`usePointerDownOutside`);function Ne(e,t=globalThis?.document){let n=N(e),r=o.useRef(!1);return o.useEffect(()=>{let e=P(e=>{e.target&&!r.current&&Fe(Ee,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:P(()=>r.current=!0,`onFocusCapture`),onBlurCapture:P(()=>r.current=!1,`onBlurCapture`)}}P(Ne,`useFocusOutside`);function Pe(){let e=new CustomEvent(we);document.dispatchEvent(e)}P(Pe,`dispatchUpdate`);function Fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?f(i,a):i.dispatchEvent(a)}P(Fe,`handleAndDispatchCustomEvent`);var Ie=Object.defineProperty,F=(e,t)=>Ie(e,`name`,{value:t,configurable:!0}),Le=`focusScope.autoFocusOnMount`,Re=`focusScope.autoFocusOnUnmount`,ze={bubbles:!1,cancelable:!0},Be=o.forwardRef(F(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...l}=e,[u,f]=o.useState(null),p=N(i),m=N(s),h=o.useRef(null),g=a(t,f),_=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let e=function(e){if(_.paused||!u)return;let t=e.target;u.contains(t)?h.current=t:I(h.current,{select:!0})},t=function(e){if(_.paused||!u)return;let t=e.relatedTarget;t!==null&&(u.contains(t)||I(h.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&I(u)};F(e,`handleFocusIn`),F(t,`handleFocusOut`),F(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,u,_.paused]),o.useEffect(()=>{if(u){qe.add(_);let e=document.activeElement;if(!u.contains(e)){let t=new CustomEvent(Le,ze);u.addEventListener(Le,p),u.dispatchEvent(t),t.defaultPrevented||(Ve(Xe(Ue(u)),{select:!0}),document.activeElement===e&&I(u))}return()=>{u.removeEventListener(Le,p),setTimeout(()=>{let t=new CustomEvent(Re,ze);u.addEventListener(Re,m),u.dispatchEvent(t),t.defaultPrevented||I(e??document.body,{select:!0}),u.removeEventListener(Re,m),qe.remove(_)},0)}}},[u,p,m,_]);let v=o.useCallback(e=>{if(!n&&!r||_.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=He(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&I(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&I(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,_.paused]);return(0,c.jsx)(d.div,{tabIndex:-1,...l,ref:g,onKeyDown:v})},`FocusScope`));function Ve(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(I(r,{select:t}),document.activeElement!==n)return}F(Ve,`focusFirst`);function He(e){let t=Ue(e);return[We(t,e),We(t.reverse(),e)]}F(He,`getTabbableEdges`);function Ue(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:F(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}F(Ue,`getTabbableCandidates`);function We(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Ge(r,{upTo:t})))return r}F(We,`findVisible`);function Ge(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}F(Ge,`isHidden`);function Ke(e){return e instanceof HTMLInputElement&&`select`in e}F(Ke,`isSelectableInput`);function I(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ke(e)&&t&&e.select()}}F(I,`focus`);var qe=Je();function Je(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ye(e,t),e.unshift(t)},remove(t){e=Ye(e,t),e[0]?.resume()}}}F(Je,`createFocusScopesStack`);function Ye(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}F(Ye,`arrayRemove`);function Xe(e){return e.filter(e=>e.tagName!==`A`)}F(Xe,`removeLinks`);var Ze=Object.defineProperty,Qe=o.forwardRef(((e,t)=>Ze(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=o.useState(!1);T(()=>a(!0),[]);let l=n||i&&globalThis?.document?.body;return l?s.createPortal((0,c.jsx)(d.div,{...r,ref:t}),l):null},`Portal`)),$e=Object.defineProperty,et=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),L=0,R=null;function tt(e){return nt(),e.children}et(tt,`FocusGuards`);function nt(){o.useEffect(()=>{R||={start:rt(),end:rt()};let{start:e,end:t}=R;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),L++,()=>{L===1&&(R?.start.remove(),R?.end.remove(),R=null),L=Math.max(0,L-1)}},[])}et(nt,`useFocusGuards`);function rt(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}et(rt,`createFocusGuard`);var z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`u`)return Dt;var t=kt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jt=Et(),U=`data-scroll-locked`,Mt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),` .${ot} { overflow: hidden ${r}; padding-right: ${s}px ${r}; diff --git a/frontend/dist/assets/index-FvHAYExN.js b/frontend/dist/assets/index-CYmlXdd4.js similarity index 99% rename from frontend/dist/assets/index-FvHAYExN.js rename to frontend/dist/assets/index-CYmlXdd4.js index 4010732..36cdf67 100644 --- a/frontend/dist/assets/index-FvHAYExN.js +++ b/frontend/dist/assets/index-CYmlXdd4.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dienste-BGWmtSYR.js","assets/dist-D4CVSex9.js","assets/button-D8rvET0Z.js","assets/sheet-CB1NvtKC.js","assets/dist-LMCPoT8k.js","assets/MenueSchublade-CC8GVOLn.js","assets/Start-DEaEpevw.js","assets/Lampe-gSQfYg4e.js","assets/Updates-DhRqQqvO.js","assets/chevron-right-T7IsaTwB.js","assets/Bestaetigen-SE_NgpcU.js","assets/Auftraege-CAHujylB.js","assets/Modelle-CuuF8BGB.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/search-B5rIIYDK.js","assets/Monitoring-Dh_DGery.js","assets/Homelab-Ba-06aFa.js","assets/HomelabProtokoll-NgNeh7ai.js","assets/Einstellungen-B5hDXuZV.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dienste-R9X0M5PO.js","assets/dist-D4CVSex9.js","assets/button-D8rvET0Z.js","assets/sheet-s_FTWvn-.js","assets/dist-CRmt9osm.js","assets/MenueSchublade-CsyS-c2a.js","assets/Start-1Tqdw5yS.js","assets/Lampe-gSQfYg4e.js","assets/Updates-C3FVpmnC.js","assets/chevron-right-ZOVnQh4C.js","assets/Bestaetigen-CkA7XucG.js","assets/Auftraege-ChhFntbA.js","assets/Modelle-1lvjqzBN.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/search--3Jwhcgy.js","assets/Monitoring-v7mq5XN5.js","assets/Homelab-hqb9RrQ_.js","assets/HomelabProtokoll-GISm8NQJ.js","assets/Einstellungen-BMqSfzd8.js"])))=>i.map(i=>d[i]); import{a as e,i as t,n,r,s as i,t as a}from"./dist-D4CVSex9.js";import{_ as o,a as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as S,v as C,y as w}from"./useSelector-uUwrspuX.js";import{i as T,n as E,r as D,t as O}from"./useMatch-CiyhmkMV.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ee=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var ee=new MessageChannel,te=ee.port2;ee.port1.onmessage=D,O=function(){te.postMessage(null)}}else O=function(){_(D,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),te=e(((e,t)=>{t.exports=ee()})),ne=e((e=>{var n=t();function r(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ne()})),ie=e((e=>{var n=te(),r=t(),i=re();function a(e){var t=`https://react.dev/errors/`+e;if(1be||(e.current=ye[be],ye[be]=null,be--)}function F(e,t){be++,ye[be]=e.current,e.current=t}var Ce=xe(null),we=xe(null),Te=xe(null),Ee=xe(null);function De(e,t){switch(F(Te,t),F(we,e),F(Ce,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}Se(Ce),F(Ce,e)}function Oe(){Se(Ce),Se(we),Se(Te)}function ke(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,F(Ee,e)),t=Ce.current;var n=dp(t,e.type);t!==n&&(F(we,e),F(Ce,n))}function Ae(e){we.current===e&&(Se(Ce),Se(we)),Ee.current===e&&(Se(Ee),sh._currentValue=ve)}var je,Me;function Ne(e){if(je===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);je=t&&t[1]||``,Me=-1)`:-1>>=0,e===0?32:31-(nt(e)/rt|0)|0}var at=256,ot=262144,st=4194304;function ct(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function lt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=ct(n))):i=ct(o):i=ct(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=ct(n))):i=ct(o)):i=ct(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function ut(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function dt(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function ht(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function gt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0=mr),_r=` `,vr=!1;function yr(e,t){switch(e){case`keyup`:return fr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function br(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var xr=!1;function Sr(e,t){switch(e){case`compositionend`:return br(t);case`keypress`:return t.which===32?(vr=!0,_r):null;case`textInput`:return e=t.data,e===_r&&vr?null:e;default:return null}}function Cr(e,t){if(xr)return e===`compositionend`||!pr&&yr(e,t)?(e=Fn(),Pn=Nn=Mn=null,xr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Kr(n)}}function Jr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Jr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Yr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Gr(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Gr(e.document)}return t}function Xr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Zr=kn&&`documentMode`in document&&11>=document.documentMode,Qr=null,$r=null,ei=null,ti=!1;function ni(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ti||Qr==null||Qr!==Gr(r)||(r=Qr,`selectionStart`in r&&Xr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ei&&Wr(ei,r)||(ei=r,r=Jf($r,`onSelect`),0>=o,i-=o,Qi=1<<32-tt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),z&&ea(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),z&&ea(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return z&&ea(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),z&&ea(i,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===ee&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case D:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===ee){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),co(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===le&&to(l)===r.type){n(e,r.sibling),c=i(r,o.props),co(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===ee?(c=zi(o.props.children,e.mode,c,o.key),co(c,o),c.return=e,e=c):(c=Ri(o.type,o.key,o.props,null,e.mode,c),co(c,o),c.return=e,e=c)}return s(e);case O:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Hi(o,e.mode,c),c.return=e,e=c}return s(e);case le:return o=to(o),_(e,r,o,c)}if(_e(o))return h(e,r,o,c);if(he(o)){if(l=he(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,so(o),c);if(o.$$typeof===k)return _(e,r,B(e,o),c);lo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=Bi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{oo=0;var i=_(e,t,n,r);return ao=null,i}catch(t){if(t===Ya||t===Za)throw t;var a=Pi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var fo=uo(!0),po=uo(!1),mo=!1;function ho(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function go(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function _o(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function vo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ji(e),Ai(e,null,n),t}return Di(e,r,t,n),ji(e)}function yo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,vt(e,n)}}function bo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var xo=!1;function So(){if(xo){var e=Ba;if(e!==null)throw e}}function V(e,t,n,r){xo=!1;var i=e.updateQueue;mo=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Y&f)===f:(r&f)===f){f!==0&&f===za&&(xo=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=T({},d,f);break a;case 2:mo=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),od|=o,e.lanes=o,e.memoizedState=d}}function Co(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function wo(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=N.T,s={};s.types=o===null?null:o.types,N.T=s,uc(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?lc(e,t,Ua(c,r),jd(e)):lc(e,t,r,jd(e))}catch(n){lc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{P.p=a,o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function $s(){}function ec(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=tc(e).queue;Qs(e,i,t,ve,n===null?$s:function(){return nc(e),n(r)})}function tc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ve,baseState:ve,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:ve},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function nc(e){var t=tc(e);t.next===null&&(t=e.alternate.memoizedState),lc(e,t.next.queue,{},jd())}function rc(){return Ea(sh)}function ic(){return os().memoizedState}function ac(){return os().memoizedState}function oc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=_o(n);var r=vo(t,e,n);r!==null&&(Pd(r,t,n),yo(r,t,n)),t={cache:Ma()},e.payload=t;return}t=t.return}}function sc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},dc(e)?fc(t,n):(n=Oi(e,t,n,r),n!==null&&(Pd(n,e,r),pc(n,t,r)))}function cc(e,t,n){lc(e,t,n,jd())}function lc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(dc(e))fc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Ur(s,o))return Di(e,t,i,0),q===null&&Ei(),!1}catch{}if(n=Oi(e,t,i,r),n!==null)return Pd(n,e,r),pc(n,t,r),!0}return!1}function uc(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},dc(e)){if(t)throw Error(a(479))}else t=Oi(e,n,r,2),t!==null&&Pd(t,e,2)}function dc(e){var t=e.alternate;return e===H||t!==null&&t===H}function fc(e,t){Wo=Uo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function pc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,vt(e,n)}}var mc={readContext:Ea,use:ls,useCallback:Xo,useContext:Xo,useEffect:Xo,useImperativeHandle:Xo,useLayoutEffect:Xo,useInsertionEffect:Xo,useMemo:Xo,useReducer:Xo,useRef:Xo,useState:Xo,useDebugValue:Xo,useDeferredValue:Xo,useTransition:Xo,useSyncExternalStore:Xo,useId:Xo,useHostTransitionStatus:Xo,useFormState:Xo,useActionState:Xo,useOptimistic:Xo,useMemoCache:Xo,useCacheRefresh:Xo,useEffectEvent:Xo},hc={readContext:Ea,use:ls,useCallback:function(e,t){return as().memoizedState=[e,t===void 0?null:t],e},useContext:Ea,useEffect:zs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Ls(4194308,4,Gs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ls(4194308,4,e,t)},useInsertionEffect:function(e,t){Ls(4,2,e,t)},useMemo:function(e,t){var n=as();t=t===void 0?null:t;var r=e();if(Go){et(!0);try{e()}finally{et(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=as();if(n!==void 0){var i=n(t);if(Go){et(!0);try{n(t)}finally{et(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=sc.bind(null,H,e),[r.memoizedState,e]},useRef:function(e){var t=as();return e={current:e},t.memoizedState=e},useState:function(e){e=xs(e);var t=e.queue,n=cc.bind(null,H,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:qs,useDeferredValue:function(e,t){return Xs(as(),e,t)},useTransition:function(){var e=xs(!1);return e=Qs.bind(null,H,e.queue,!0,!1),as().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=H,i=as();if(z){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),q===null)throw Error(a(349));Y&127||gs(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,zs(vs.bind(null,r,o,e),[e]),r.flags|=2048,Fs(9,{destroy:void 0},_s.bind(null,r,o,n,t),null),n},useId:function(){var e=as(),t=q.identifierPrefix;if(z){var n=$i,r=Qi;n=(r&~(1<<32-tt(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Ko++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[Tt]=t,o[I]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&pl(t)}}return W(t),t.subtreeFlags&=-33554433,ml(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&pl(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=Te.current,fa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=aa,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Tt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||la(t,!0)}else e=lp(e).createTextNode(r),e[Tt]=t,t.stateNode=e}return W(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=fa(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[Tt]=t}else pa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;W(t),e=!1}else n=ma(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Io(t),t):(Io(t),null);if(t.flags&128)throw Error(a(558))}return W(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=fa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[Tt]=t}else pa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;W(t),i=!1}else i=ma(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Io(t),t):(Io(t),null)}return Io(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),gl(t,t.updateQueue),W(t),null);case 4:return Oe(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,W(t),null;case 10:return ba(t.type),W(t),null;case 19:if(zo(t),r=t.memoizedState,r===null)return W(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)_l(r,!1);else{if(ad!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Bo(e),o!==null){for(t.flags|=128,_l(r,!1),e=o.updateQueue,t.updateQueue=e,gl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Li(n,e),n=n.sibling;return Ro(t,Lo.current&1|2),z&&ea(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ue()>gd&&(t.flags|=128,i=!0,_l(r,!1),t.lanes=4194304)}}else{if(!i){if(e=Bo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,gl(t,e),_l(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!z)return W(t),null}else 2*Ue()-r.renderingStartTime>gd&&n!==536870912&&(t.flags|=128,i=!0,_l(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ue(),e.sibling=null,o=Lo.current,o=i?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||z?Ro(t,o):(n=o,F(Ao,t),F(Lo,n),jo===null&&(jo=t)),z&&ea(t,r.treeForkCount),e}return W(t),null;case 22:case 23:return Io(t),ko(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(W(t),t.subtreeFlags&6&&(t.flags|=8192)):W(t),n=t.updateQueue,n!==null&&gl(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&Se(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ba(ja),W(t),null;case 25:return null;case 30:return t.flags|=33554432,W(t),null}throw Error(a(156,t.tag))}function yl(e,t){switch(ra(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ba(ja),Oe(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ae(t),null;case 31:if(t.memoizedState!==null){if(Io(t),t.alternate===null)throw Error(a(340));pa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Io(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));pa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return zo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Oe(),null;case 10:return ba(t.type),null;case 22:case 23:return Io(t),ko(),e!==null&&Se(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ba(ja),null;case 25:return null;default:return null}}function bl(e,t){switch(ra(t),t.tag){case 3:ba(ja),Oe();break;case 26:case 27:case 5:Ae(t);break;case 4:Oe();break;case 31:t.memoizedState!==null&&Io(t);break;case 13:Io(t);break;case 19:zo(t);break;case 10:ba(t.type);break;case 22:case 23:Io(t),ko(),e!==null&&Se(Ga);break;case 24:ba(ja)}}function xl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Sl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Cl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{wo(t,n)}catch(t){Z(e,e.return,t)}}}function wl(e,t,n){n.props=Sc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Tl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=yi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);p(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function El(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Dl(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[Tt]=e,Rt(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,i).get(t+(n.href||``))){for(s=0;sg&&(o=g,g=h,h=o);var _=qr(s,h),v=qr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,N.T=null,n=wd,wd=null;var o=bd,s=Sd;if(yd=0,xd=bd=null,Sd=0,K&6)throw Error(a(331));var c=K;if(K|=4,Yu(o.current),Vu(o,o.current,s,n),K=c,Df(0,!1),$e&&typeof $e.onPostCommitFiberRoot==`function`)try{$e.onPostCommitFiberRoot(Qe,o)}catch{}return!0}finally{P.p=i,N.T=r,uf(e,t)}}function pf(e,t,n){t=Wi(n,t),t=Oc(e.stateNode,t,2),e=vo(e,t,2),e!==null&&(ht(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(vd===null||!vd.has(r))){e=Wi(n,e),n=kc(2),r=vo(t,n,2),r!==null&&(Ac(n,r,t,e),ht(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new $u;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(rd=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(ad===4||ad===3&&(Y&62914560)===Y&&300>Ue()-md?K&2?cd|=n:Vd(e,0):cd|=n,ud===Y&&(ud=0)),Ef(e)}function gf(e,t){t===0&&(t=pt()),e=ki(e,t),e!==null&&(ht(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return ze(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-tt(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=Y,a=lt(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||ut(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=Ue(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}yd!==0&&yd!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=an(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),Rt(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+an(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+an(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+an(n.imageSizes)+`"]`)):i+=`[href="`+an(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=T({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Mt]=!0,o.onload=o.onerror=function(){zt(o)}),Rt(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+an(r)+`"][href="`+an(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=T({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),Rt(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Lt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=T({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);Rt(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Lt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Rt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Lt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Rt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var i=(i=Te.current)?bm(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Lt(i).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Lt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(i,e,o,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Lt(i).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Pm(e){return`href="`+an(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return T({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Mt]){r.loading=1;return}}else t=e.createElement(`link`),t[Mt]=!0,t.onload=t.onerror=zt.bind(null,t),np(t,`link`,n),Rt(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+an(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+an(n.href)+`"]`);if(r)return t.instance=r,Rt(r),r;var i=T({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Rt(r),np(r,`style`,i),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Pm(n.href);var o=e.querySelector(Fm(i));if(o)return t.state.loading|=4,t.instance=o,Rt(o),o;r=Im(n),(i=vm.get(i))&&Hm(r,i),o=(e.ownerDocument||e).createElement(`link`),Rt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(i=e.querySelector(zm(o)))?(t.instance=i,Rt(i),i):(r=n,(i=vm.get(o))&&(r=T({},n),Um(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),Rt(i),np(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Rt(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),Rt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ie()})),k=i(t(),1),A=r(),oe=k.createContext(void 0),se=e=>{let t=k.useContext(oe);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},ce=({client:e,children:t})=>(k.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,A.jsx)(oe.Provider,{value:e,children:t})),le={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},ue=new class{#e=le;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function de(e){setTimeout(e,0)}var fe=typeof window>`u`||`Deno`in globalThis;function j(){}function pe(e,t){return typeof e==`function`?e(t):e}function me(e){return typeof e==`number`&&e>=0&&e!==1/0}function he(e,t){return Math.max(e+(t||0)-Date.now(),0)}function M(e,t){return typeof e==`function`?e(t):e}function ge(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==N(o,t.options))return!1}else if(!ve(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function _e(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(P(t.options.mutationKey)!==P(a))return!1}else if(!ve(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function N(e,t){return(t?.queryKeyHashFn||P)(e)}function P(e){return JSON.stringify(e,(e,t)=>F(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ve(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let n=0;n500)return t;let r=Se(e)&&Se(t);if(!r&&!(F(e)&&F(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{ue.setTimeout(t,e)})}function Te(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:be(e,t)}function Ee(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function De(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Oe=Symbol();function ke(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Oe?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Ae(e,t){return typeof e==`function`?e(...t):!!e}function je(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Me=()=>fe,Ne=()=>Me(),Pe=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Fe=new class extends Pe{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},Ie=de;function Le(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Ie,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var Re=Le(),ze=new class extends Pe{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Be(e){return Math.min(1e3*2**e,3e4)}function Ve(e){return(e??`online`)!==`online`||ze.isOnline()}var He=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Ue(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(j);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new He(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>Fe.isFocused()&&(e.networkMode===`always`||ze.isOnline())&&e.canRun(),p=()=>Ve(e.networkMode)&&e.canRun(),m=e=>{c()||(r?.(),i=`resolved`,a(e))},h=e=>{c()||(r?.(),i=`rejected`,o(e))},g=()=>new Promise(t=>{r=e=>{(c()||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,c()||e.onContinue?.()}),_=()=>{if(c())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(m).catch(r=>{if(c())return;let i=e.retry??(Ne()?0:3),a=e.retryDelay??Be,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&nf()?void 0:g()).then(()=>{t?h(r):_()})})};return{promise:s,status:()=>i,cancel:l,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:p,start:()=>(p()?_():g().then(_),s)}}var We=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),me(this.gcTime)&&(this.#e=ue.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ne()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(ue.clearTimeout(this.#e),this.#e=void 0)}};function Ge(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{je(e,()=>t.signal,()=>n=!0)},u=ke(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?De:Ee;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?qe:Ke,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Ke(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function Ke(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function qe(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Je=class extends We{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Ze(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Ze(this.options);e.data!==void 0&&(this.setState(Xe(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Te(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#c({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(j).catch(j):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>M(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Oe||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>M(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!he(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&(this.observers.splice(t,1),this.observers.length||(this.#a&&(this.#s||this.state.fetchStatus===`paused`&&this.state.status===`pending`?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=ke(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?Ge(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta});let o=this.#a=Ue({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof He&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await o.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof He){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.#a===o&&(this.#a=void 0),this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Ye(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Xe(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),Re.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Ye(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ve(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Xe(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Ze(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var Qe=class extends Pe{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),et(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return tt(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return tt(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof M(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!xe(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&nt(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||M(this.options.enabled,this.#t)!==M(t.enabled,this.#t)||M(this.options.staleTime,this.#t)!==M(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||M(this.options.enabled,this.#t)!==M(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return xe(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(j)),t}#h(e){return!Ne()&&M(this.options.enabled,this.#t)!==!1&&me(e)}#g(){this.#b();let e=M(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=he(this.#r.dataUpdatedAt,e)+1;this.#u=ue.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return M(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=ue.setInterval(()=>{(this.options.refetchIntervalInBackground||Fe.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(ue.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(ue.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&et(e,t),o=i&&nt(e,n,t,r);(a||o)&&(l={...l,...Ye(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(m=`success`,d=Te(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h){if(i&&d===a?.data&&t.select===this.#s)d=this.#c;else try{this.#s=t.select,d=t.select(d),d=Te(i?.data,d,t),this.#c=d,this.#o=null}catch(e){this.#o=e}}else d===void 0&&(this.#o=null);this.#o&&(f=this.#o,d=this.#c,p=Date.now(),m=`error`,u=!1);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0;return{status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:rt(e,t),refetch:this.refetch,isEnabled:M(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),xe(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();Re.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function $e(e,t){return M(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||M(t.retryOnMount,e)!==!1)}function et(e,t){return $e(e,t)||e.state.data!==void 0&&tt(e,t,t.refetchOnMount)}function tt(e,t,n){if(M(t.enabled,e)!==!1&&M(t.staleTime,e)!==`static`){let r=M(n,e);return r===`always`||r!==!1&&rt(e,t)}return!1}function nt(e,t,n,r){return(e!==t||M(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&rt(e,n)}function rt(e,t){return M(t.enabled,e)!==!1&&e.isStaleByTime(M(t.staleTime,e))}var it=class extends We{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||at(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=Ue({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),Re.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function at(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var ot=class extends Pe{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new it({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=st(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=st(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=st(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=st(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Re.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>_e(t,e))}findAll(e={}){return this.getAll().filter(t=>_e(e,t))}notify(e){Re.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Re.batch(()=>Promise.all(e.map(e=>e.continue().catch(j))))}};function st(e){return e.options.scope?.id}var ct=class extends Pe{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),xe(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&P(t.mutationKey)!==P(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??at();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){Re.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};function lt(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var ut=class extends Pe{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,Re.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!xe(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(lt(e,n).forEach(e=>{e.destroy()}),lt(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=be(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new Qe(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&Re.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},dt=class extends Pe{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??N(r,t),a=this.get(i);return a||(a=new Je({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){this.#e.get(e.queryHash)===e&&(e.destroy(),this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Re.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ge(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>ge(e,t)):t}notify(e){Re.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Re.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Re.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},ft=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new dt,this.#t=e.mutationCache||new ot,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Fe.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=ze.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(M(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=pe(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Re.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Re.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Re.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=Re.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(j).catch(j)}invalidateQueries(e,t={}){return Re.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Re.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(j)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(j)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(M(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(M(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(j).catch(j)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(j).catch(j)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return ze.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(P(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ve(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(P(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ve(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=N(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===Oe&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},pt=k.createContext(!1),mt=()=>k.useContext(pt);pt.Provider;function ht(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var gt=k.createContext(ht()),_t=()=>k.useContext(gt),vt=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?Ae(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},yt=e=>{k.useEffect(()=>{e.clearReset()},[e])},bt=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Ae(n,[e.error,r])),xt=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},St=(e,t)=>e?.suspense&&t.isPending,Ct=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function wt({queries:e,...t},n){let r=se(n),i=mt(),a=_t(),o=t.subscribed!==!1,s=k.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);s.forEach(e=>{xt(e);let t=r.getQueryCache().get(e.queryHash);vt(e,a,t)}),yt(a);let[c]=k.useState(()=>new ut(r,s,t)),[l,u,d]=c.getOptimisticResult(s,t.combine),f=!i&&o;k.useSyncExternalStore(k.useCallback(e=>f?c.subscribe(Re.batchCalls(e)):j,[c,f]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),k.useEffect(()=>{c.setQueries(s,t)},[s,t,c]);let p=l.some((e,t)=>St(s[t],e))?l.flatMap((e,t)=>{let n=s[t];return n&&St(n,e)?Ct(n,new Qe(r,n),a):[]}):[];if(p.length>0)throw Promise.all(p);let m=l.find((e,t)=>{let n=s[t];return n&&bt({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m)throw m.error;return u(d())}function Tt(e,t,n){let r=mt(),i=_t(),a=se(n),o=a.defaultQueryOptions(e),s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,xt(o),vt(o,i,s),yt(i);let[l]=k.useState(()=>new t(a,o)),u=l.getOptimisticResult(o),d=!r&&c;if(k.useSyncExternalStore(k.useCallback(e=>{let t=d?l.subscribe(Re.batchCalls(e)):j;return l.updateResult(),t},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),k.useEffect(()=>{l.setOptions(o)},[o,l]),St(o,u))throw Ct(o,l,i);if(bt({result:u,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw u.error;return o.notifyOnChangeProps?u:l.trackResult(u)}function I(e,t){return Tt(e,Qe,t)}function Et(e,t){let n=se(t),[r]=k.useState(()=>new ct(n,e));k.useEffect(()=>{r.setOptions(e)},[r,e]);let i=k.useSyncExternalStore(k.useCallback(e=>r.subscribe(Re.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=k.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(j)},[r]);if(i.error&&Ae(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var Dt=k.use,Ot=k.useLayoutEffect;function kt(e){return e.replace(/\/{2,}/g,`/`)}function At(e){return e===`/`?e:e.replace(/^\/+/,``)}function jt(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/+$/,``):e}function Mt(e){return jt(At(e))}function Nt(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function Pt(e,t,n=`never`,r){if(t.includes(`//`)&&(t=kt(t)),t.startsWith(`/`))return t.length===1||n===`preserve`?t:n===`always`?t.endsWith(`/`)?t:`${t}/`:t.endsWith(`/`)?t.slice(0,-1):t;let i=t===`.`,a;if(r){a=i?e:e+`\0`+t;let n=r.get(a);if(n)return n}let o;if(i)o=e.split(`/`);else{for(e.includes(`//`)&&(e=kt(e)),o=e.split(`/`);o.length>1&&d(o)===``;)o.pop();let n=t.split(`/`);for(let e=0,t=n.length;e1?o.pop():o=[``]:r===`.`||o.push(r)}}o.length>1&&(d(o)===``?n===`never`&&o.pop():n===`always`&&o.push(``));let s=o.join(`/`),c=(i?kt(s):s)||`/`;return a&&r&&r.set(a,c),c}function Ft(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=new RegExp([...t.keys()].join(`|`).replace(/[.*()]/g,`\\$&`),`g`);return e=>e.replace(n,e=>t.get(e)??e)}function It(e){return e==null||e===``}function Lt(e,t,n){if(typeof t!=`string`)return``+(t??void 0);let r=e===`_splat`;if(r&&(!t||/^[a-zA-Z0-9\-._~!/]*$/.test(t)))return t;let i=encodeURIComponent(t);return r&&(i=i.replaceAll(`%2F`,`/`)),n?n(i):i}function Rt(e,t,n,r,i){let a=e.endsWith(`/`)?`/`:``,o=``;for(let e of t){if(typeof e==`string`){o+=e;continue}let[t,s,c,l]=e,u=t===2,d=u&&l!==void 0?l+a:l,f=n[s];if(t!==3||f!=null){if(i&&(i[s]=f,u&&(i[`*`]=f)),u&&It(f)){if(c===`/`&&!d)continue;f=``}o+=c+Lt(s,f,r)+(d||``)}}return o+a||`/`}function zt(e){return e?.isNotFound===!0}function Bt(){try{return sessionStorage}catch{return}}var Vt=`tsr-scroll-restoration-v1_3`,Ht=Bt();function Ut(){try{return JSON.parse(Ht?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Wt(){try{Ht?.setItem(Vt,JSON.stringify(Gt))}catch{}}var Gt=Ut(),Kt=`data-scroll-restoration-id`,qt=e=>e.state.__TSR_key||e.href;function L(e){let t=e.getAttribute(Kt);if(t)return`[${Kt}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Jt=!1,Yt=`window`;function Xt(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Zt(e){let t=new Set;for(let n of e){if(n===Yt)continue;let e=Xt(n);e&&t.add(e)}return t}function Qt(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||qt,a=new Set,o=e=>{let t=Gt[e]||={};for(let e of a)e===document?t[Yt]={scrollX,scrollY}:e.isConnected&&(t[L(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Jt=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Jt||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),Wt()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Gt[d];if(e){let t=Gt[u];for(let n in e){if(n===Yt){if(s)continue}else{let e=Xt(n);if(!e||s&&o&&(l??=Zt(o),l.has(e)))continue}t||=Gt[u]={},t[n]??=e[n]}}}Jt=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=Zt(o));let t=e&&i&&c,s=r.restoring?Gt[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Yt){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Xt(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Jt=!1}}))}function $t(e,t=String){let n;for(let r in e){let i=e[r];i!==void 0&&(n||=new URLSearchParams).set(r,t(i))}return n?n.toString():``}function en(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function tn(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=en(r):Array.isArray(t)?t.push(en(r)):n[e]=[t,en(r)]}return n}var nn=/^(?:\s|["[{\d-]|fa|nu|tr)/,rn=on(JSON.parse),an=sn(JSON.stringify,JSON.parse);function on(e){let t=e===JSON.parse;return n=>{n[0]===`?`&&(n=n.substring(1));let r=tn(n);for(let n in r){let i=r[n];if(typeof i==`string`){if(t&&!nn.test(i))continue;try{r[n]=e(i)}catch{}}}return r}}function sn(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!nn.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=$t(e,r);return t?`?${t}`:``}}var cn=`__root__`;function ln(e){e.statusCode=e.statusCode||e.code||307;let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function un(e){return e instanceof Response&&!!e.options}function dn(e){let t=new Map,n,r;return{get(e){let n=t.get(e);if(n)return n.visited=!0,n.value},set(i,a){let o=t.get(i);if(o){o.value=a;return}if(t.size>=e){let e=n?.next().value;for(;!e||e.visited;)e?e.visited=!1:n=t.values(),e=n.next().value;e===r&&(n=void 0),t.delete(e.key)}let s={key:i,value:a,visited:!1};r=s,t.set(i,s)},clear(){t.clear(),n=void 0,r=void 0}}}var fn=4,pn=5;function mn(e){let t=e.names;if(t)return t;let n=[];for(let t of e)typeof t!=`string`&&n.push(t[1]);return e.names=n}function hn(e,t,n){let r=e.substring(t,n);if(r.charCodeAt(0)===36)return r.length===1?[2,`_splat`,``,void 0]:[1,r.substring(1),``,``];let i=r.indexOf(`{`);if(i>=0){let a=r.indexOf(`}`,i),o=r.charCodeAt(i+1)===45,s=i+(o?3:2);if(a>=0&&r.charCodeAt(s-1)===36&&(!o||s!e.parse&&e.caseSensitive===_&&e.prefix===d&&e.suffix===g);if(y)c=y;else{let e=vn(r,t,_,d,g);c=e,v.push(e),v.length===2&&i?.push(v)}}r=c}m&&h=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!r||!_&&(n.caseSensitive?v:y??=v.toLowerCase()).startsWith(r)){if(a){if(_)continue;let e=t.slice(u).join(`/`),i=e.slice(-a.length);if((n.caseSensitive?i:i.toLowerCase())!==a||e.length-a.length=0;t--){let n=i.optional[t];s.push({node:n,index:u,skipped:e,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_)for(let e=i.optional.length-1;e>=0;e--){let t=i.optional[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.pathless[e];s.push({node:t,index:u,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;ee.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===fn)>(e.node.kind===fn)||t.node.kind===fn==(e.node.kind===fn)&&t.node.depth>e.node.depth)))}function Nn(e,t,n){let r=Mt(e),i=`/${r}`,a=t?i:i.toLowerCase(),o=`${a}/`,s={input:({url:e})=>{let n=t?e.pathname:e.pathname.toLowerCase();return n===a?e.pathname=`/`:n.startsWith(o)&&(e.pathname=e.pathname.slice(i.length)),e},output:({url:e})=>(e.pathname=kt(`/${r}${e.pathname}`),e)};return n?{input:({url:e})=>Pn(n,s.input({url:e})),output:({url:e})=>s.output({url:Fn(n,e)})}:s}function Pn(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Fn(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function In(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),c=n(e),l=n(void 0),u=n([]),d=r(()=>u.get().map(e=>a.get(e).get())),f=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:d.get(),location:c.get(),resolvedLocation:l.get()}));function p(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let m={status:o,location:c,resolvedLocation:l,ids:u,matches:d,byRoute:a,__store:f,getMatchStore:p,setMatches:h};function h(e){let t=u.get(),n=e.map(e=>e.routeId);i(()=>{s(t,n)||u.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=p(t.routeId);e.get()!==t&&e.set(t)}})}return m}var Ln=`__TSR_index`,Rn=`popstate`,zn=`beforeunload`,Bn=/^[\x00-\x20]*(?:[\\/][\t\n\r]*){2,}/;function Vn(e){let t=Bn.exec(e);return t?`/`+e.slice(t[0].length):e}function Hn(e){return/[\x00-\x1f\x7f]/.test(e)&&(e=e.replace(/[\x00-\x1f\x7f]/g,e=>` -\r`.includes(e)?``:encodeURIComponent(e))),Vn(e)}function Un(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=Kn(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Ln];i=Wn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Ln];i=Wn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Ln]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function Wn(e,t){let n=qn();return{...t,key:n,__TSR_key:n,[Ln]:e}}function Gn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>Hn(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>Kn(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=qn();t.history.replaceState({[Ln]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=Kn(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[Ln]-l.state[Ln],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Un({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(zn,x,{capture:!0}),t.removeEventListener(Rn,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(zn,x,{capture:!0}),t.addEventListener(Rn,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function Kn(e,t){let n=Hn(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=qn();t={[Ln]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function qn(){return(Math.random()+1).toString(36).substring(7)}function Jn(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function Yn(e){return e.pathname+e.search+e.hash}function Xn(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Zn(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function Qn({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function $n(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function er(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var tr=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Gn()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`;let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&Mt(n)?Nn(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=In(this.latestLocation,e),Qt(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=Cn(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&yn(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:dn(1e3)}},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),s=this.options.stringifySearch(i);return{href:e+s+r,publicHref:e+s+r,pathname:b(e),external:!1,searchStr:s,search:o(t?.search,i),hash:b(r.slice(1)),state:w(t?.state,a)}}let s=Pn(this.rewrite,new URL(i,this.origin)),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:b(Vn(s.pathname)),external:!!this.rewrite&&Jn(s,this.origin),searchStr:l,search:o(t?.search,c),hash:b(s.hash.slice(1)),state:w(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=Sn(jt(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=Kn(n.href,{});n={...n,to:Pn(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=n._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>(t=!0,i??=this.matchRoutesLightweight(r)),s=n.to?`${n.to}`:`.`,c=Pt(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[jt(c)],d=c.includes(`$`),f;if(l)f=l._branch??=En(l);else if(d)f=[];else{let[e,t,n]=this.getMatchedRoutes(c);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}let p=d?l?._interpolation??gn(!1,{fullPath:c},0):void 0,h;for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(h??=or(n.params,e),!u(h))break;h===e&&(h=Object.assign(_(),h));try{Object.assign(h,t(h))}catch{}}}h??=or(n.params,sr(n.params,p)?o()[3]:cr);let g=e.leaveParams?c:Vn(b(p?Rt(c,p,h,this.pathParamsDecoder):c)),v=lr(f,e._includeValidateSearch),y=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,ar(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},x=v.length?ur(v,y(),n):n.search===!0?y():typeof n.search==`function`?n.search(y()):n.search||cr,S=this.options.stringifySearch(x),C=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,w=C?`#${C}`:``,T=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:cr,E=`${g}${S}${w}`,D,O,ee=!1;if(this.rewrite){let e=new URL(E,this.origin),t=e.origin,n=Fn(this.rewrite,e);D=Yn(e),Jn(n,t)?(O=n.href,ee=!0):O=Vn(Yn(n))}else D=m(E),O=D;return{publicHref:O,href:D,pathname:g,search:x,searchStr:S,state:T,hash:C??``,external:ee,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=bn(r.pathname,this.processedTree);if(t){let i=Object.assign(_(),t.rawParams),{from:a,params:o,...s}=t.route,c=or(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&!r.maskedLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return nr(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=jt(this.latestLocation.href)===jt(n.href)&&c(Qn(n.state),Qn(this.latestLocation.state)),o=this._commitPromise,s,l=new Promise(e=>{s=e});if(l.resolve=()=>{s(),o?.resolve()},this._commitPromise=l,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?l(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}let t=!a&&r?r:n;return nr(this,t,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await ni(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Zn(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));let s=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Xn(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(s);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(C.test(n)||(r=l(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:Jn(e,this.origin)||(n=Yn(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=hr,this.preloadRoute=e=>ri(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?Pt(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=xn(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!c(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?c(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=Ft(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??an,parseSearch:e.parseSearch??rn,protocolAllowlist:e.protocolAllowlist??p}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=gn(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,s=!1;(i?i.path!==`/`&&r[`**`]:jt(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:s=!0);let c=s?dr(this.options.notFoundMode,a):void 0,l=Array(a.length),u=this._committed,d=(e,t)=>{let n=u[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?u.find(t=>t.routeId===e.id):void 0},f;for(let n=0;ntypeof t!=`string`&&!v.call(e,t[1]))}var cr=Object.freeze({});function lr(e,t){let n=[];for(let r=0;r{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=ar(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function ur(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=S(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function dr(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return cn}function fr(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function pr(e,t){return e.options[t]?.preload?.()}function mr(e,t){let n=pr(e,`component`),r=pr(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function hr(e,t,n){let r=()=>t===!1?void 0:t?pr(e,t):mr(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function gr(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function wr(e,t){return e.routesById[t.routeId]}function Tr(e,t,n){return un(e)?[br,e]:zt(e)?(e.routeId||=n,[yr,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[vr,e]):[_r,e]}function Er(e,t){let n=Tr(t,!0,e.id);if(n[0]!==vr)return n;try{e.options.onError?.(n[1])}catch(t){n=Tr(t,!0,e.id)}return n}function Dr(e,t,n,r,i){return i[0].signal.aborted?xr:Ur(e,t,n,Er(n,r),i)}async function Or(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;ie.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return Ar(e,r),[i,Dr(e,t,u,a,n)]}if(c.aborted)return[i,xr];let p=r.paramsError??r.searchError;if(p!==void 0)return Ar(e,r),[i,Dr(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Nr(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?Cr(a,c):a);if(c.aborted)return[i,xr];let s=Ur(e,t,u,Tr(o,!1,u.id),n);if(s[0]!==_r)return Ar(e,r),[i,s];r.context={...r.context,...o}}catch(a){return Ar(e,r),[i,Dr(e,t,u,a,n)]}finally{r.status=h,Nr(e,r,!1,n[0])}}i()}function kr(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function Ar(e,t){let n=t._flight;t._flight=void 0,kr(e,t,n)?.abort()}function jr(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=kr(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Mr(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Nr(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Pr(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Fr(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return xr;if(!i)return[_r,void 0];let l=n._flight;Nr(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Pr(e,t,n,r,s,a,!!o[3]))).then(e=>Tr(e,!1,r.id),e=>Tr(e,!0,r.id)).then(t=>(t[0]!==_r&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===vr&&l[2]?Er(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Ur(e,t,r,await Cr(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return Ar(e,n),xr}finally{Nr(e,n,!1,s)}}function Ir(e,t,n){t[0]!==br&&(e.status=`success`,e.error=void 0,t[0]===_r?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Lr(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&Ar(e,r)}function Rr(e,t){return t[0]===vr||t[0]===yr?{...e,status:t[0]===vr?`error`:`notFound`,error:t[1],_flight:void 0}:e}function zr(e,t,n,r,i,a,o){let s=t[1][n],c=wr(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Pr(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=xr)),!p){if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(n){s.invalid=!0,Ar(e,s),p=Dr(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!(!m||!f||s.status!==`success`||l||a[4]||((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)===`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,kr(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Fr(e,t,s,c,g,i,a).then(t=>(Ir(s,t,l),t[0]===_r&&(m&&!a[0].signal.aborted&&Lr(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[_r,s.loaderData]),T=(async()=>{try{let e=hr(c,void 0,C);e&&await Cr(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,Dr(e,t,c,r,a)]}let r=await w;x&&r[0]===_r&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>Rr(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let D=Fr(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,Ir(E,e,!1),e));return(t[2]??=[]).push([n,D,T,E]),D.then(e=>Rr(E,e))}async function Br(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=wr(e,t[n]);try{let e=hr(i,!1);e&&await Cr(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Vr(e,t){t[2]&&=(jr(e,t[2].map(e=>e[3])),void 0)}async function Hr(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=br)throw[a,t];!i&&t[0]!==_r&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===br)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function Ur(e,t,n,r,i,a){for(;r[0]===br;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[br,t]:[br,t,a]}return[br,o,n]}catch(e){r=a?[vr,e]:Er(n,e),a=!0}}return r}async function Wr(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===yr?Br(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=br)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==_r&&t[0]=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=br){let n=s[1];if(n[0]!==br||n[1].options.reloadDocument||n[2])return Vr(e,t),n;c=!0,s=[0,[vr,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===vr?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=wr(e,u);try{await Cr(i?Promise.resolve().then(()=>hr(m,l===vr?`errorComponent`:`notFoundComponent`)):Promise.all([hr(m),hr(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Vr(e,t),xr}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Vr(e,t),jr(e,o),p()):u.status=`success`}return t}async function Gr(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await Br(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l{for(let t=d;t=br&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Wr(e,i,u,r[0],Hr(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Hr(i[2],void 0,void 0,h.then(e=>Sr(e)?0:gr(n).length,()=>0))),o=await h}catch(t){if(Vr(e,i),t===a&&a.aborted)return xr;throw t}return Sr(o)?o:Gr(e,o,a,r[6]===n.length?r[6]:0)}function qr(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a0){i[3]=setTimeout(()=>qr(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function Jr(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function Yr(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!gr(t[3]).some(e=>e.id===n[1]))return;let i;try{await Cr(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function Xr(e,t){e._committed=t,e.stores.setMatches(t)}function Zr(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=gr(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=$n(n);Xr(e,n),jr(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),er(e,i,n,a,l,t)}async function Qr(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function $r(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function ei(e,t,n,r,i){let a=n.map(e=>({...e}));Mr(a);for(let t of r)Ar(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Wr(e,o,r,t[0],i)}catch(t){throw jr(e,a),t}if(Sr(s)){jr(e,a),s[0]===br&&e._tx===t&&e._committed===n&&await $r(e,t,s);return}if(await Gr(e,s,t[0].signal),e._tx!==t||e._committed!==n){jr(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),Ar(e,n))}Xr(e,a),jr(e,n,a)}async function ti(e,t,n,r,i,a){let o=await Kr(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(Sr(o)){let n=o[0]===br&&e._tx===t;if((!n||o[1].options.reloadDocument)&&Jr(e,t),jr(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){Jr(e,t);return}await $r(e,t,o);return}let s=o[1];if(e._tx===t&&await Yr(e,t),e._tx!==t){Jr(e,t),jr(e,s),Vr(e,o);return}let c=t[2],l=Zn(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await Yr(e,t),e._tx!==t){Jr(e,t),jr(e,s),Vr(e,o);return}let n=await e.startTransition(()=>{Jr(e,t),Zr(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Vr(e,o);return}u?.length&&ei(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function ni(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=Zn(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await Qr(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});Mr(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){jr(e,m),await Qr(e,n);return}e._preflight=void 0;let g,_=()=>ti(e,y,f,()=>qr(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>Qr(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Nr(e,t,!1)}n[0].abort(),jr(e,n[3],y[3],!0)}if(e._tx!==y){jr(e,y[3]),y[3]=[],g?.(),await Qr(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&qr(e,y),g?.(_()),await y[5]}async function ri(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),Mr(a),o=(e._preloads??=new Map).set(i,a),s=await Kr(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),jr(e,a)),i.abort()}if(!Sr(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){zt(e)||console.error(e);return}}}var ii=`Error preloading route! ☝️`,ai=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=cn:this.parentRoute||T();let r=n?cn:t?.path;r&&r!==`/`&&(r=At(r));let i=t?.id||r,a=n?cn:kt((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(i??``));r===`__root__`&&(r=`/`);let o=a===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:kt(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=a,this._fullPath=o,this._to=jt(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>ln({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},oi=class extends ai{constructor(e){super(e)}},si=class extends k.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?k.createElement(this.props.errorComponent??ci,{error:e[0],reset:this.reset}):this.props.children}};function ci({error:e}){let[t,n]=k.useState(!1);return(0,A.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,A.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,A.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,A.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,A.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,A.jsx)(`div`,{children:(0,A.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,A.jsx)(`code`,{children:e.message}):null})}):null]})}var li=()=>!0,ui=()=>!1;function di({children:e,fallback:t=null}){return(0,A.jsx)(k.Fragment,{children:fi()?e:t})}function fi(e=!0){return k.useSyncExternalStore(pi,li,e?ui:li)}function pi(){return()=>{}}function mi({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function hi(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var gi=[],_i=0,{link:vi,unlink:yi,propagate:bi,checkDirty:xi,shallowPropagate:Si}=mi({update(e){return e._update()},notify(e){gi[wi++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,Oi(e))}}),Ci=0,wi=0,Ti,Ei=0;function Di(e){try{++Ei,e()}finally{--Ei||ki()}}function Oi(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=yi(n,e)}function ki(){if(!(Ei>0)){for(;Ci{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Ti,o=t?.compare??Object.is;if(n)Ti=i,++_i,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Ti=a,n&&(i.flags&=-5),Oi(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&xi(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Si(e)}}else e&32&&(i.flags=e&-33);return Ti!==void 0&&vi(i,Ti,_i),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(bi(e),Si(e),ki())}},i}function ji(e){let t=()=>{let t=Ti;Ti=n,++_i,n.depsTail=void 0,n.flags=6;try{return e()}finally{Ti=t,n.flags&=-5,Oi(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&xi(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,Oi(this)}};return t(),n}function Mi(e){return O({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Ni(e){let{select:t,...n}=e;return O({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Pi(e){return O({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Fi(e){return O({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Ii(e){let t=g();return k.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Li(e){let t=g(),n=Ii(),r=k.useRef(null);return Ot(()=>{r.current!==e&&(n(e),r.current=e)},[t,e,n]),null}function Ri(e){return O({...e,select:t=>e.select?e.select(t.context):t.context})}function zi(...e){let t=k.useRef(e),n=t.current;return e.forEach((e,t)=>{c(n[t],e,!1,!0)||(n[t]=e)}),t.current}function Bi(e,t){e.preloadRoute(t).catch(e=>{console.warn(e),console.warn(ii)})}var Vi={compare:(e,t)=>e[0]===t[0]&&e[1]===t[1]};function Hi(e,t){let n=typeof e==`string`&&l(e);if(n)return t.has(n)?e:null}function Ui(e,t,n,r,i){let a=Nt(e.pathname,r),o=Nt(t.pathname,r);return(n?.exact?a!==o:!a.startsWith(o)||a.length!==o.length&&a[o.length]!==`/`)||(n?.includeSearch??!0)&&!c(e.search,t.search,!n?.exact,n?.explicitUndefined)?!1:!n?.includeHash||i&&e.hash===t.hash}function Wi(e,t,n){let r=g(),i=k.useRef(null),a=k.useCallback(e=>{if(i.current=e,typeof t==`function`)return t(e);t&&(t.current=e)},[t]),{activeOptions:o,to:s,preload:c,preloadDelay:u,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,ignoreBlocker:_,disabled:v,target:y,onClick:b,onBlur:S,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E}=e,D=fi(!!o?.includeHash),[O,ee,te]=zi(e.search,e.params,o),[ne,re]=k.useMemo(()=>[e,{...e}],[r,e.from,e._fromLocation,e.hash,e.to,O,ee,e.state,e.mask,e.unsafeRelative]),ie=k.useCallback(e=>{let t=Hi(s,r.protocolAllowlist);if(t!==void 0)return[t??void 0];ne._fromLocation||(re._fromLocation=e);let n=r.buildLocation(re),i=$i(n,r,v);return[i,!v&&(!i||l(i))?void 0:Ui(e,n,te,r.basepath,D)]},[te,v,D,ne,re,r,s]),[ae,A]=x(r.stores.location,ie,Vi),oe=A===void 0?ae:void 0,se=v||ae===void 0,ce=k.useRef(!1),le=e.reloadDocument||oe||se?!1:c??r.options.defaultPreload,ue=u??r.options.defaultPreloadDelay??0,de=k.useCallback(e=>{let t=e?.isIntersecting;if(!(t??le===`intent`)){t===!1&&Zi(i);return}if(!ue){Bi(r,ne);return}Xi.has(i)||Xi.set(i,setTimeout(()=>{Xi.delete(i),Bi(r,ne)},ue))},[r,ne,i,le,ue]);k.useEffect(()=>{le===`render`&&!ce.current&&(ce.current=!0,Bi(r,ne));let e;return le===`viewport`&&i.current&&typeof IntersectionObserver==`function`&&(e=new IntersectionObserver(e=>de(e.pop()),{rootMargin:`100px`}),e.observe(i.current)),()=>{e?.disconnect(),Zi(i)}},[r,ne,le,de,i]);let fe=Ji(e,n);if(fe.ref=t?a:i,oe)return fe.href=oe,fe;let j=e=>{let t=y??e.currentTarget.getAttribute(`target`);!se&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(!t||t===`_self`)&&e.button===0&&(e.preventDefault(),r.navigate({...ne,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:_}))},pe=()=>{le===`intent`&&Bi(r,ne)},me=()=>{le===`intent`&&Zi(i)};return fe.onClick=Qi(b,j),fe.onBlur=Qi(S,me),fe.onFocus=Qi(C,de),fe.onMouseEnter=Qi(w,de),fe.onMouseLeave=Qi(T,me),fe.onTouchStart=Qi(E,pe),Yi(fe,e,A,ae,se,n)}var Gi={},Ki={className:`active`},qi=new Set([`to`,`params`,`search`,`hash`,`state`,`mask`,`from`,`unsafeRelative`,`_fromLocation`,`reloadDocument`,`preload`,`preloadDelay`,`preloadIntentProximity`,`hashScrollIntoView`,`replace`,`startTransition`,`resetScroll`,`viewTransition`,`ignoreBlocker`,`activeProps`,`inactiveProps`,`activeOptions`,`_asChild`]);function Ji(e,t){let n={};for(let r in e)qi.has(r)||r===`type`&&t!==void 0||r===`disabled`&&t===`a`||(n[r]=e[r]);return n}function Yi(e,t,n,r,i,a){let{activeProps:o,inactiveProps:s,className:c,style:l,target:u}=t,d=S(n?o:s,{})??(n?Ki:Gi);Object.assign(e,d),e.href=r,a!==`a`&&(e.disabled=i),e.target=u;let f=d.style;(l||f)&&(e.style=l&&f?{...l,...f}:l||f);let p=d.className;return(c||p)&&(e.className=c?p?`${c} ${p}`:c:p),i&&(e.role=`link`,e[`aria-disabled`]=!0),n&&(e[`data-status`]=`active`,e[`aria-current`]=`page`),e}var Xi=new WeakMap,Zi=e=>{clearTimeout(Xi.get(e)),Xi.delete(e)},Qi=(e,t)=>e?n=>n.defaultPrevented||(e(n),n.defaultPrevented||t(n)):t;function $i(e,t,n){if(n)return;let r=e.maskedLocation??e,i=r.external?r.publicHref:t.history.createHref(r.publicHref)||`/`;if(!r.external&&i===r.publicHref||!h(i,t.protocolAllowlist))return i}var ea=k.memo(k.forwardRef((e,t)=>{let n=e._asChild||`a`,r=Wi(e,t,n),i=typeof e.children==`function`?e.children({isActive:r[`data-status`]===`active`}):e.children;return k.createElement(n,r,i)}),ta);function ta(e,t){let n=0;for(let r in t)if(n++,e[r]!==t[r]&&(!qi.has(r)||!c(e[r],t[r],!1,!0)))return!1;for(let t in e)n--;return n===0}var na=class extends ai{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>Ri({...e,from:this.id}),this.useSearch=e=>Fi({...e,from:this.id}),this.useParams=e=>Pi({...e,from:this.id}),this.useLoaderDeps=e=>Ni({...e,from:this.id}),this.useLoaderData=e=>Mi({...e,from:this.id}),this.useNavigate=()=>Ii({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ea,{ref:t,from:this.fullPath,...e}))}};function ra(e){return new na(e)}var ia=class extends oi{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>Ri({...e,from:this.id}),this.useSearch=e=>Fi({...e,from:this.id}),this.useParams=e=>Pi({...e,from:this.id}),this.useLoaderDeps=e=>Ni({...e,from:this.id}),this.useLoaderData=e=>Mi({...e,from:this.id}),this.useNavigate=()=>Ii({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ea,{ref:t,from:this.fullPath,...e}))}};function aa(e){return new ia(e)}function R(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,o.preload=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),o=function(e){if(i){if(f(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r){if(Dt)Dt(a());else throw a()}return k.createElement(r,e)};return o.preload=a,o}function z(e){let t=g(),n=`not-found-${x(t.stores.location,e=>e.pathname)}-${x(t.stores.status)}`;return(0,A.jsx)(si,{getResetKey:()=>n,onCatch:(t,n)=>{if(zt(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(zt(t))return e.fallback?.(t);throw t},children:e.children})}function oa(){return(0,A.jsx)(`p`,{children:`Not Found`})}function sa(e){return(0,A.jsx)(A.Fragment,{children:e.children})}function ca(e,t,n){return t.options.notFoundComponent?(0,A.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,A.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,A.jsx)(oa,{})}function la(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,A.jsx)(n,{}):null}var ua=(e,t)=>e[0]===t[0]&&e[1]===t[1],da=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,fa=k.memo(function({routeId:e}){let t=g();return(0,A.jsx)(pa,{router:t,match:x(t.stores.getMatchStore(e))})});function pa({router:e,match:t}){let n=e.routesById[t.routeId],r=la(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=da(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s))?k.Suspense:sa,l=i?si:sa,u=o?z:sa;return(0,A.jsxs)(n.isRoot?n.options.shellComponent??sa:sa,{children:[(0,A.jsx)(D.Provider,{value:t.routeId,children:(0,A.jsx)(c,{fallback:r,children:(0,A.jsx)(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(zt(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:(0,A.jsx)(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return k.createElement(o,e)},children:s?(0,A.jsx)(di,{fallback:r,children:(0,A.jsx)(ma,{match:t})}):(0,A.jsx)(ma,{match:t})})})})}),null]})}var ma=k.memo(function({match:e}){let t=g(),n=e.routeId,r=t.routesById[n],i=k.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=k.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,A.jsx)(e,{},i):(0,A.jsx)(ha,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!da(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return la(t,r)}if(e.status===`notFound`)return ca(t,r,e.error);if(e.status===`error`)throw e.error;return a}),ha=k.memo(function(){let e=g(),t=k.useContext(D),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=x(a,e=>[!!e._notFound,e.error],{compare:ua}),i=x(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return ca(e,e.routesById[t],r);if(!i)return null;let a=(0,A.jsx)(fa,{routeId:i});return t===`__root__`?(0,A.jsx)(k.Suspense,{fallback:la(e),children:a}):a});function ga(e,t){let n=e[1];e.length=0,n?.(t)}function _a({t:e}){let t=g(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{ga(n,!1),n.push(i,a),e(t),k.startTransition(r)}),Ot(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(jt(r.publicHref)!==jt(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Zn(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function va(){let e=g(),t=e.routesById[cn],n=la(e,t),r=e.ssr?sa:k.Suspense,i=(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(_a,{t:k.useState()[1]}),(0,A.jsx)(r,{fallback:n,children:(0,A.jsx)(ya,{})})]});return e.options.InnerWrap?(0,A.jsx)(e.options.InnerWrap,{children:i}):i}function ya(){let e=g(),t=e._rendered,n=x(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;Ot(()=>{t[0]===n&&ga(t,!0)},[t,n]);let a=i?(0,A.jsx)(fa,{routeId:i}):null;return(0,A.jsx)(D.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,A.jsx)(si,{getResetKey:()=>r,onCatch:void 0,children:a})})}var ba=e=>({createMutableStore:Ai,createReadonlyStore:Ai,batch:Di}),xa=e=>new Sa(e),Sa=class extends tr{constructor(e){super(e,ba)}};function Ca({router:e,children:t,...n}){u(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,A.jsx)(y.Provider,{value:e,children:t});return e.options.Wrap?(0,A.jsx)(e.options.Wrap,{children:r}):r}function wa({router:e,...t}){return(0,A.jsx)(Ca,{router:e,...t,children:(0,A.jsx)(va,{})})}function Ta(e){let t=g({warn:e?.router===void 0}),n=e?.router||t;return x(n.stores.__store,E(e,n))}var Ea=ae(),B=n();function Da(e){let t=(0,B.c)(6),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,A.jsx)(`p`,{className:`schild text-lg text-rot`,children:`Diese Ansicht ist abgestürzt`}),t[0]=r):r=t[0];let i=n instanceof Error?n.message:String(n),a;t[1]===i?a=t[2]:(a=(0,A.jsx)(`p`,{className:`text-[15px]`,children:i}),t[1]=i,t[2]=a);let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,A.jsx)(`button`,{type:`button`,onClick:Oa,className:`schild h-11 rounded-lg border border-rot-rand px-5 text-sm text-foreground hover:bg-[#3a1512]`,children:`Neu laden`}),t[3]=o):o=t[3];let s;return t[4]===a?s=t[5]:(s=(0,A.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-2xl border border-rot-rand bg-rot-grund p-6 text-rot-text`,children:[r,a,o]}),t[4]=a,t[5]=s),s}function Oa(){return window.location.reload()}var ka=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function Aa(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:ka(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var ja=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},Ma=e=>{let t=ja(e);return t.charAt(0).toUpperCase()+t.slice(1)},Na=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Pa={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Fa(e){return e!=null}function Ia(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Pa.width,a=e.size??e.height??Pa.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Na(...c):Na(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Pa[`stroke-width`])*Number(e.size??e.width??Pa.width)/Number(t.size??t.width??Pa.width):t.strokeWidth??Pa[`stroke-width`];return[`svg`,{...Object.entries(Pa).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Fa(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Fa(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Fa(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function La(e,t={}){return Ia(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var Ra=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},za=(0,k.createContext)({}),Ba=()=>(0,k.useContext)(za),Va=(0,k.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:_=`currentColor`,className:v=``}=Ba()??{},y=!!c||Ra(d),[b,x,S=[]]=La(u,{color:e??_,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Na(v,s),hasA11yProp:y,attributes:d});return(0,k.createElement)(b,{ref:f,...x},[...S.map(([e,t])=>(0,k.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function Ha(e,t=[],n=[]){let r=typeof e==`string`?Aa(e,t,n):e,i=(0,k.forwardRef)(({className:e,...t},n)=>(0,k.createElement)(Va,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Ma(r.name)),i}var Ua={name:`activity`,size:24,node:[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]};Ua.node;var Wa=Ha(Ua),Ga={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Ga.node;var Ka=Ha(Ga),qa={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};qa.node;var Ja=Ha(qa),Ya={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Ya.node;var Xa=Ha(Ya),Za={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};Za.node;var Qa=Ha(Za),$a={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};$a.node;var eo=Ha($a),to={name:`gauge`,size:24,node:[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]};to.node;var no=Ha(to),ro={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};ro.node;var io=Ha(ro),ao={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};ao.node;var oo=Ha(ao),so={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};so.node;var co=Ha(so),lo={name:`scroll-text`,size:24,node:[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]};lo.node;var uo=Ha(lo),fo={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};fo.node;var po=Ha(fo),mo={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};mo.node;var ho=Ha(mo),go=[`/api/instanz`,`/api/partner`,`/api/health`],_o=(e,t)=>e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`);function vo(e,t){return!e.startsWith(`/api/`)||go.some(t=>_o(e,t))||(_o(e,`/api/homelab`)?`homelab`:`box`)===t?e:`/api/partner${e.slice(4)}`}var yo=null;function bo(){return yo??=fetch(`/api/instanz`,{headers:{Accept:`application/json`}}).then(e=>e.ok?e.json():Promise.reject(Error(String(e.status)))).then(e=>e.rolle===`homelab`?`homelab`:`box`).catch(()=>(yo=null,`box`)),yo}var xo=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.detail=t,this.name=`ApiFehler`}};function So(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`)return t;if(Array.isArray(t))return t.map(e=>e.msg??String(e)).join(`; `)}return`Die Box antwortet mit Fehler ${t}.`}async function V(e,t={}){let n=vo(e,await bo()),r;try{r=await fetch(n,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}})}catch{throw new xo(0,`MC2 ist nicht erreichbar. Läuft die Box?`)}let i=await r.text(),a=i?Co(i):null;if(!r.ok)throw new xo(r.status,So(a,r.status));if(typeof a==`string`)throw new xo(r.status,`Die Box antwortet nicht mit Daten.`);return a}function Co(e){try{return JSON.parse(e)}catch{return e}}var wo=(e,t)=>V(e,{method:`POST`,body:t===void 0?void 0:JSON.stringify(t)}),To=100,Eo=95,Do=210,Oo=240;function ko(e,t){let n=e*Math.PI/180;return[To+t*Math.cos(n),Eo-t*Math.sin(n)]}var Ao=e=>Math.round(e*100)/100;function jo(e,t,n){let r=Math.max(0,Math.min(1,e)),i=Math.max(r,Math.min(1,t)),[a,o]=ko(Do-Oo*r,n),[s,c]=ko(Do-Oo*i,n),l=+((i-r)*Oo>180);return`M ${Ao(a)} ${Ao(o)} A ${n} ${n} 0 ${l} 1 ${Ao(s)} ${Ao(c)}`}function Mo(e){return e==null?`var(--text-3)`:e>=85?`var(--rot)`:e>=70?`var(--bernstein)`:`var(--gruen)`}var No={ok:`border-gruen-rand bg-gruen-grund text-gruen`,info:`border-cyan-rand bg-cyan-grund text-cyan`,stumm:`border-aus-rand bg-aus-grund text-aus-text`,gelb:`border-2 border-bernstein bg-bernstein-grund text-bernstein-hell lampe-atmet`,rot:`border-2 border-rot bg-rot-grund text-rot shadow-[0_0_32px_rgba(255,90,79,0.3)]`};function Po(e){if(!e.waechter_wach)return{art:`stumm`,oben:`Wächter`,mitte:`SCHWEIGT`,unten:`Seit über 5 Minuten kein Prüflauf`};if(e.update_laeuft)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Hinweise ruhen bis zum Ende`};if(e.anzahl===0)return{art:`ok`,oben:`Alles`,mitte:`IN ORDNUNG`,unten:`Keine offenen Hinweise`};let t=`${e.anzahl} HINWEIS${e.anzahl===1?``:`E`}`;return e.stufe===`rot`?{art:`rot`,oben:`Störung`,mitte:t,unten:`Drücken zum Ansehen`}:{art:`gelb`,oben:`Achtung`,mitte:t,unten:`Drücken zum Ansehen`}}function Fo(e,t){let n=`„${e.titel}“:`;switch(t.id){case`protokoll`:return null;case`neustart`:return e.id.startsWith(`timer:`)?{titel:`${t.label}?`,text:`${n} Der Dienst läuft sofort noch einmal.`,knopf:t.label}:{titel:`${t.label}?`,text:`${n} Der Dienst wird ${/^starten/i.test(t.label)?`gestartet`:`neu gestartet`} und ist dabei kurz nicht erreichbar.`,knopf:t.label};case`job-wiederholen`:return{titel:`Job erneut ausführen?`,text:`${n} Hermes führt den Job sofort noch einmal aus, mit allem, was er sonst auch tut — etwa Nachrichten verschicken.`,knopf:t.label};case`freigeben`:return{titel:`Update freigeben?`,text:`${n} Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`,knopf:t.label};default:return{titel:`${t.label}?`,text:`${n} ${t.label}.`,knopf:t.label}}}function Io(e){return e?.status===`busy`?e.running?`Es läuft schon ein Update („${e.running}“). Warte, bis es fertig ist.`:`Es läuft schon ein Update. Warte, bis es fertig ist.`:e?.detail||e?.err||e?.error||e?.text||`Das hat nicht geklappt.`}var Lo=e=>e.state===`running`||e.state===`queued`;function Ro(e){let t=e.aliases.map(e=>e.toLowerCase());return t.includes(`hermes`)||t.includes(`fast`)?`hirn`:t.includes(`coder`)?`coder`:null}var zo={neu:`Neu`,wartet:`Wartet`,getestet:`Gemessen`,bestanden:`Bestanden`,durchgefallen:`Durchgefallen`,uebernommen:`Übernommen`,verworfen:`Verworfen`};function Bo(e,t=``){if(e==null||e===``)return`–`;let n=typeof e==`number`?e.toLocaleString(`de-DE`,{maximumFractionDigits:+(e<10)}):String(e);return t?`${n} ${t}`:n}var Vo=[],H=1,U=new Set,Ho=()=>U.forEach(e=>e());function Uo(e,t){let n=H++;Vo=[...Vo,{id:n,art:e,text:t}].slice(-4),Ho(),e!==`fehler`&&window.setTimeout(()=>Wo(n),6e3)}function Wo(e){Vo=Vo.filter(t=>t.id!==e),Ho()}var Go=()=>(0,k.useSyncExternalStore)(Ko,qo);function Ko(e){return U.add(e),()=>{U.delete(e)}}function qo(){return Vo}var Jo=2e3,Yo=3e4,Xo=2e4,Zo=`verbinde`,Qo=null,$o=new Set,es=()=>$o.forEach(e=>e());function ts(e){return $o.add(e),()=>{$o.delete(e)}}var ns=()=>Zo===`live`,rs=()=>(0,k.useSyncExternalStore)(ts,ss),is=()=>(0,k.useSyncExternalStore)(ts,cs);function as(e){e!==Zo&&(Zo=e,es())}function os(){let e=se();(0,k.useEffect)(()=>{let t=null,n,r,i=Date.now(),a=Jo,o=!1;function s(){o||(window.clearTimeout(n),n=window.setTimeout(l,a),a=Math.min(a*2,Yo))}function c(){i=Date.now(),window.clearTimeout(r),r=window.setTimeout(()=>{t?.close(),as(`getrennt`),s()},Xo)}function l(){window.clearTimeout(n),window.clearTimeout(r),t?.close();let i=new EventSource(`/api/stream`);t=i,i.onopen=()=>{a=Jo,as(`live`),c(),e.invalidateQueries()},i.onerror=()=>{as(`getrennt`),i.readyState===EventSource.CLOSED&&(window.clearTimeout(r),s())},i.addEventListener(`invalidate`,t=>{c();try{let n=JSON.parse(t.data)?.keys??[];for(let t of n)e.invalidateQueries({queryKey:[t]})}catch{}}),i.addEventListener(`metrik`,e=>{c();try{Qo=JSON.parse(e.data),es()}catch{}})}let u=()=>{o||document.visibilityState!==`visible`||(t?.readyState===EventSource.CLOSED||Date.now()-i>5e3)&&(a=Jo,l())};return l(),window.addEventListener(`online`,u),document.addEventListener(`visibilitychange`,u),()=>{o=!0,window.clearTimeout(n),window.clearTimeout(r),window.removeEventListener(`online`,u),document.removeEventListener(`visibilitychange`,u),t?.close(),as(`getrennt`)}},[e])}function ss(){return Zo}function cs(){return Qo}var ls=`Europe/Berlin`,us=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:ls}),ds=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:ls}),fs=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:ls}),ps=new Intl.DateTimeFormat(`en-CA`,{timeZone:ls});function ms(e){return ps.format(e)}function hs(e,t=new Date){let n=new Date(e);if(Number.isNaN(n.getTime()))return`–`;let r=ms(t),i=ms(new Date(t.getTime()-864e5)),a=ms(new Date(t.getTime()+864e5)),o=ms(n),s=us.format(n);return o===r?`HEUTE ${s}`:o===i?`GESTERN ${s}`:o===a?`MORGEN ${s}`:Math.abs(n.getTime()-t.getTime())<5616e5?`${ds.format(n).replace(`.`,``).toUpperCase()} ${s}`:`${fs.format(n)} ${s}`}function gs(e,t=new Date){let n=new Date(e*1e3);return ms(n)===ms(t)?`seit heute ${us.format(n)}`:`seit ${fs.format(n)}, ${us.format(n)}`}function _s(e,t=Date.now()){let n=Math.max(0,Math.round(t/1e3-e));if(n<60)return`vor ${n} s`;if(n<3600)return`vor ${Math.round(n/60)} min`;if(n<86400)return`vor ${Math.round(n/3600)} h`;let r=Math.round(n/86400);return`vor ${r} ${r===1?`Tag`:`Tagen`}`}function vs(e){return e==null||e<0?null:[Math.floor(e/86400),Math.floor(e%86400/3600)]}var ys=e=>e==null?null:e/1024**3;function bs(e,t=0){let n=ys(e);return n==null?`–`:n>=1e3?`${(n/1024).toFixed(1).replace(`.`,`,`)} TB`:`${n.toFixed(t).replace(`.`,`,`)} GB`}var xs=e=>e.toLocaleString(`de-DE`),Ss=e=>()=>ns()?e*5:e;function Cs(e,t){let n=e.getQueryData([`jobs`])?.jobs??[],r=t.filter(e=>!Lo(e)&&n.some(t=>t.id===e.id&&Lo(t)));if(r.length===0)return;let i=new Set([`start`]);for(let e of r){let t=e.group===`download`||/^download\s/i.test(e.label);for(let e of t?[`models`,`aufraeumen`]:[`update-details`,`updates-verlauf`,`sicherungen`])i.add(e)}for(let t of i)e.invalidateQueries({queryKey:[t]})}var ws=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`start`],queryFn:bc,refetchInterval:xc},e[0]=t):t=e[0],I(t)},Ts=()=>{let e=(0,B.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`models`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:Sc,refetchInterval:Ss(3e4)},e[1]=n):n=e[1],I(n)},Es=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`nutzung`],queryFn:Cc,refetchInterval:6e5},e[0]=t):t=e[0],I(t)},Ds=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`radar`],queryFn:wc,retry:!1,refetchInterval:3e5},e[0]=t):t=e[0],I(t)},Os=()=>{let e=(0,B.c)(3),t=se(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`jobs`],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r={queryKey:n,queryFn:async()=>{let e=await V(`/api/jobs`);return Cs(t,e.jobs),e},refetchInterval:Tc},e[1]=t,e[2]=r),I(r)},ks=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`sicherungen`],queryFn:Ec},e[0]=t):t=e[0],I(t)},As=e=>{let t=(0,B.c)(4),n;t[0]===e?n=t[1]:(n=e.map(Dc),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r={queries:n},t[2]=n,t[3]=r),wt(r)},js=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`updates-verlauf`],queryFn:Oc},e[0]=t):t=e[0],I(t)},Ms=e=>{let t=(0,B.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`protokoll`,e],r=()=>V(`/api/maintenance/logs?service=${encodeURIComponent(e??``)}&lines=200`),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],I(a)},Ns=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`dienste`],queryFn:kc},e[0]=t):t=e[0],I(t)};function Ps(e,t){let n=(0,B.c)(6),r=se(),i;n[0]!==t||n[1]!==r?(i=(e,n)=>{let i=e;i&&i.ok===!1?Uo(`fehler`,t.fehler?.(n,i)??Io(i)):Uo(`erfolg`,t.erfolg(n,e));for(let e of t.neuLaden)r.invalidateQueries({queryKey:[e]})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let a;return n[3]!==e||n[4]!==i?(a={mutationFn:e,onSuccess:i,onError:Fs},n[3]=e,n[4]=i,n[5]=a):a=n[5],Et(a)}function Fs(e){return Uo(`fehler`,e.message)}var Is=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:jc,neuLaden:[`start`]},e[0]=t):t=e[0],Ps(Ac,t)},Ls={alle:`/api/maintenance/update-all`,pruefen:`/api/maintenance/check-updates`,os:`/api/maintenance/os-update`,engine:`/api/maintenance/engine-update`,swap:`/api/maintenance/swap-update`,hermes:`/api/maintenance/hermes-update`},Rs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Nc,neuLaden:[`jobs`,`start`]},e[0]=t):t=e[0],Ps(Mc,t)},zs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Fc,fehler:Ic,neuLaden:[`jobs`]},e[0]=t):t=e[0],Ps(Pc,t)},Bs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Rc,neuLaden:[`jobs`,`models`]},e[0]=t):t=e[0],Ps(Lc,t)},Vs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`aufraeumen`],queryFn:zc,staleTime:6e4},e[0]=t):t=e[0],I(t)},Hs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vc,neuLaden:[`aufraeumen`,`models`,`start`]},e[0]=t):t=e[0],Ps(Bc,t)},Us=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Uc,neuLaden:[`start`]},e[0]=t):t=e[0],Ps(Hc,t)},Ws=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Gc,fehler:Kc,neuLaden:[`sicherungen`,`start`]},e[0]=t):t=e[0],Ps(Wc,t)},Gs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Jc,neuLaden:[`sicherungen`]},e[0]=t):t=e[0],Ps(qc,t)},Ks=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Xc,neuLaden:[`models`,`start`]},e[0]=t):t=e[0],Ps(Yc,t)},qs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Qc,neuLaden:[`radar`,`models`,`start`]},e[0]=t):t=e[0],Ps(Zc,t)},Js=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:el,neuLaden:[`jobs`]},e[0]=t):t=e[0],Ps($c,t)},Ys=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`instanz`],queryFn:tl,staleTime:1/0},e[0]=t):t=e[0],I(t)},Xs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`partner`],queryFn:nl,refetchInterval:3e4},e[0]=t):t=e[0],I(t)},Zs=()=>{let e=(0,B.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`ziele-box`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:rl,refetchInterval:Ss(3e4)},e[1]=n):n=e[1],I(n)},Qs=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:il,enabled:e,refetchInterval:3e4},t[1]=e,t[2]=r),I(r)},$s=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-laeufe`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:al,enabled:e,refetchInterval:sl},t[1]=e,t[2]=r),I(r)},ec=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ll,neuLaden:[`homelab`,`homelab-laeufe`,`ziele-box`,`jobs`,`start`]},e[0]=t):t=e[0],Ps(cl,t)},tc=e=>{let t=(0,B.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-hinweise`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Ss(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:ul,enabled:e,refetchInterval:r},t[2]=e,t[3]=i),I(i)},nc=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:dl,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},rc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:pl,neuLaden:[`einstellungen`,`start`]},e[0]=t):t=e[0],Ps(fl,t)},ic=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:hl,neuLaden:[`einstellungen`,`start`,`radar`]},e[0]=t):t=e[0],Ps(ml,t)},ac=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:_l,neuLaden:[]},e[0]=t):t=e[0],Ps(gl,t)},oc=(e,t)=>{let n=(0,B.c)(9),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`stand`,`hier`],n[0]=r):r=n[0];let i;n[1]===e?i=n[2]:(i={queryKey:r,queryFn:W,enabled:e},n[1]=e,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=[`stand`,`partner`],n[3]=a):a=n[3];let o=e&&t,s;n[4]===o?s=n[5]:(s={queryKey:a,queryFn:vl,enabled:o,retry:!1},n[4]=o,n[5]=s);let c;return n[6]!==i||n[7]!==s?(c={queries:[i,s]},n[6]=i,n[7]=s,n[8]=c):c=n[8],wt(c)},sc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`altreste`],queryFn:yl,staleTime:6e4},e[0]=t):t=e[0],I(t)},cc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:xl,neuLaden:[`altreste`,`start`]},e[0]=t):t=e[0],Ps(bl,t)},lc={"1h":6e4,"24h":3e5,"7d":9e5},uc=(e,t)=>{let n=(0,B.c)(8),r=t===void 0||t,i,a;n[0]===e?(i=n[1],a=n[2]):(i=[`messwerte`,`box`,e],a=()=>V(`/api/messwerte?zeitraum=${e}`),n[0]=e,n[1]=i,n[2]=a);let o=lc[e],s;return n[3]!==r||n[4]!==i||n[5]!==a||n[6]!==o?(s={queryKey:i,queryFn:a,enabled:r,refetchInterval:o,placeholderData:Sl,retry:!1},n[3]=r,n[4]=i,n[5]=a,n[6]=o,n[7]=s):s=n[7],I(s)},dc=(e,t)=>{let n=(0,B.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):(r=[`messwerte`,`homelab`,e],i=()=>V(`/api/homelab/messwerte?zeitraum=${e}`),n[0]=e,n[1]=r,n[2]=i);let a=lc[e],o;return n[3]!==t||n[4]!==r||n[5]!==i||n[6]!==a?(o={queryKey:r,queryFn:i,enabled:t,refetchInterval:a,placeholderData:Cl,retry:!1},n[3]=t,n[4]=r,n[5]=i,n[6]=a,n[7]=o):o=n[7],I(o)},fc=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammelplan`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:wl,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},pc=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammellauf`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Tl,enabled:e,refetchInterval:El,retry:!1},t[1]=e,t[2]=r),I(r)},mc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ol,neuLaden:[`homelab-sammellauf`,`homelab-laeufe`,`homelab`]},e[0]=t):t=e[0],Ps(Dl,t)},hc=(e,t)=>{let n=(0,B.c)(8),r,i;n[0]===t?(r=n[1],i=n[2]):(r=[`homelab-protokoll`,t],i=()=>V(`/api/homelab/protokoll?grenze=300&berichte=${+!!t}`),n[0]=t,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=Ss(3e4),n[3]=a):a=n[3];let o;return n[4]!==e||n[5]!==r||n[6]!==i?(o={queryKey:r,queryFn:i,enabled:e,refetchInterval:a,retry:!1},n[4]=e,n[5]=r,n[6]=i,n[7]=o):o=n[7],I(o)},gc=e=>{let t=(0,B.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-speicher`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Ss(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:kl,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},_c=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Al,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},vc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ml,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Ps(jl,t)},yc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Pl,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Ps(Nl,t)};function bc(){return V(`/api/start`)}function xc(e){return e.state.data&&!e.state.data.updates.gelesen?4e3:Ss(2e4)()}function Sc(){return V(`/api/models`)}function Cc(){return V(`/api/modelle/nutzung`)}function wc(){return V(`/api/radar`)}function Tc(e){return e.state.data?.jobs.some(Lo)?2e3:Ss(3e4)()}function Ec(){return V(`/api/zeitmaschine`)}function Dc(e){return{queryKey:[`update-details`,e],queryFn:()=>V(`/api/maintenance/update-details?kind=${encodeURIComponent(e)}`),staleTime:6e5}}function Oc(){return V(`/api/updates/verlauf`)}function kc(){return V(`/api/system/services`)}function Ac(e){let{hinweis:t,aktion:n}=e;return wo(`/api/hinweise/${encodeURIComponent(t)}/aktion/${n}`)}function jc(e,t){return e.aktion===`freigeben`&&t.text?t.text:`${e.label}: erledigt. Der Wächter prüft in einer Minute nach.`}function Mc(e){return wo(Ls[e])}function Nc(e){return e===`pruefen`?`Die Suche nach Neuem läuft. Den Fortschritt siehst du unten bei den Aufträgen.`:`Das Update läuft. Den Fortschritt siehst du unten bei den Aufträgen.`}function Pc(e){let{id:t}=e;return wo(`/api/jobs/${encodeURIComponent(t)}/cancel`)}function Fc(e){return`${e.titel}: wird abgebrochen.`}function Ic(e){return`${e.titel} lief schon nicht mehr.`}function Lc(e){let{repo:t,quant:n,rolle:r}=e;return wo(`/api/models/install`,{repo:t,quant:n,role:r})}function Rc(e,t){return`${e.repo} (${e.quant}) wird heruntergeladen${t.total_bytes?`, ${bs(t.total_bytes,1)}`:``}. Den Fortschritt siehst du unter Aufträge.`}function zc(){return V(`/api/modelle/aufraeumen`)}function Bc(e){return wo(`/api/modelle/aufraeumen/loeschen`,{art:e.art,name:e.name})}function Vc(e,t){return t.text??`Gelöscht.`}function Hc(e){return wo(`/api/updates/festgehalten/${encodeURIComponent(e)}/freigeben`)}function Uc(e,t){return t.text??`Freigegeben.`}function Wc(){return wo(`/api/system/backup`)}function Gc(e,t){return t.size_mb==null?`Sicherung erstellt.`:`Sicherung erstellt (${t.size_mb.toLocaleString(`de-DE`)} MB).`}function Kc(e,t){return`Die Sicherung ging nicht: ${Io(t)}`}function qc(e){return wo(`/api/zeitmaschine/restore`,{file:e})}function Jc(){return`Zurückspielen läuft. Die Dienste starten gleich neu.`}function Yc(e){return wo(`/api/models/${encodeURIComponent(e)}/load`)}function Xc(e){return`${e} wird geladen.`}function Zc(e){let{id:t,aktion:n}=e;return wo(`/api/radar/${encodeURIComponent(t)}/${n}`)}function Qc(e){return e.aktion===`uebernehmen`?`${e.name} übernommen.`:`${e.name} verworfen.`}function $c(){return wo(`/api/radar/suche`)}function el(e,t){return t.text??`Das Radar sucht jetzt nach neuen Modellen.`}function tl(){return V(`/api/instanz`)}function nl(){return V(`/api/partner`)}function rl(){return V(`/api/ziele`)}function il(){return V(`/api/homelab/ziele`)}function al(){return V(`/api/homelab/laeufe`)}function ol(e){return e.status===`laeuft`}function sl(e){return e.state.data?.laeufe.some(ol)?3e3:3e4}function cl(e){return V(e.pfad,{method:e.methode})}function ll(e){return`${e.label}: gestartet. Das Ergebnis kommt als Meldung.`}function ul(){return V(`/api/homelab/hinweise`)}function dl(){return V(`/api/einstellungen`)}function fl(e){return wo(`/api/einstellungen/update-fenster`,e)}function pl(e,t){return t.text??`Gespeichert.`}function ml(e){return wo(`/api/einstellungen/radar`,{an:e})}function hl(e,t){return t.text??`Geschaltet.`}function gl(e){return wo(e===`homelab`?`/api/homelab/einstellungen/telegram-test`:`/api/einstellungen/telegram-test`)}function _l(e,t){return t.text??`Die Testmeldung ist raus.`}function W(){return V(`/api/instanz`)}function vl(){return V(`/api/partner/instanz`)}function yl(){return V(`/api/aufraeumen/altreste`)}function bl(e){return wo(`/api/aufraeumen/altreste/loeschen`,{id:e.id})}function xl(e,t){return t.text??`Gelöscht.`}function Sl(e){return e}function Cl(e){return e}function wl(){return V(`/api/homelab/alle/plan`)}function Tl(){return V(`/api/homelab/sammellauf`)}function El(e){return e.state.data?.sammellauf?.status===`laeuft`?5e3:6e4}function Dl(){return wo(`/api/homelab/alle`)}function Ol(){return`Alle aktualisieren: gestartet. Die Schritte laufen nacheinander; das Ergebnis kommt als Meldung.`}function kl(){return V(`/api/homelab/speicher`)}function Al(){return V(`/api/homelab/einstellungen`)}function jl(e){return e===null?V(`/api/homelab/einstellungen/arcane-schluessel`,{method:`DELETE`}):wo(`/api/homelab/einstellungen/arcane-schluessel`,{schluessel:e})}function Ml(e,t){return t.text??(e===null?`Arcane-Schlüssel entfernt.`:`Arcane-Schlüssel gespeichert.`)}function Nl(e){return wo(`/api/homelab/einstellungen/arcane-echt`,{an:e})}function Pl(e){return e?`Docker-Updates über Arcane laufen jetzt echt.`:`Docker-Updates über Arcane sind wieder nur ein Probelauf.`}var Fl={"ki-box":`KI-Box`,"proxmox-host":`Proxmox-Host`,container:`Container`,vm:`VM`};function Il(e){let t=e.id.match(/-(\d+)$/)?.[1],n=Fl[e.art]??e.art;return t?`${n} ${t}`:n}var Ll={"Proxmox-Host":`Proxmox`,"AdGuard Home":`AdGuard`,"PVE Scripts Local":`PVE Scripts`,"Proxmox Backup Server":`PBS`,"Arcane (Docker)":`Arcane`},Rl=e=>Ll[e.name]??e.name,zl=new Set([`app`,`arcane`]),Bl=e=>e.bausteine.find(e=>zl.has(e.id))??null,Vl=e=>e.bausteine.find(e=>!zl.has(e.id))??null;function Hl(e){let t=e.flatMap(e=>e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({ziel:e,baustein:t})));return[...t.filter(e=>e.baustein.aktion),...t.filter(e=>!e.baustein.aktion)]}function Ul(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);return t.some(e=>e.aktion)?0:t.length>0?1:e.bausteine.some(e=>e.zustand===`unbekannt`)?2:3}function Wl(e){let t=e.rueckweg_art??Gl(e.rueckweg);return t===`snapshot`?`Snapshot vorher, bei Rot zurück`:t===`sicherung`?`Sicherung vorher, bei Rot zurück`:e.art===`proxmox-host`?`Kein Rückweg, Neustart getrennt`:`Kein automatischer Rückweg`}function Gl(e){let t=(e??``).toLowerCase();return t.startsWith(`snapshot vor`)?`snapshot`:t.startsWith(`sicherung`)?`sicherung`:`keiner`}var Kl=e=>zl.has(e.id),ql=e=>e.replace(/^Image vom /,``);function Jl(e){return Kl(e)&&e.verfuegbar?e.verfuegbar:e.kurz||e.verfuegbar||`neu`}function Yl(e){let t=e.platte;return t&&t.gesamt>0?t.belegt/t.gesamt:null}function Xl(e,t){let n=Rl(e),r=Yl(e);if(e.erreichbar===!1)return{id:e.id,label:n,zustand:`fehler`,wert:`antwortet nicht`};if(r!==null&&r>=.9)return{id:e.id,label:n,zustand:`fehler`,wert:`Platte voll`};if(t)return{id:e.id,label:n,zustand:`info`,wert:`Update läuft`};if(r!==null&&r>=.8)return{id:e.id,label:n,zustand:`warn`,wert:`Platte ${Math.round(r*100)} %`};let i=e.bausteine.filter(e=>e.zustand===`neu`);if(i.length>0){let t=i.find(e=>zl.has(e.id))??i[0];return{id:e.id,label:n,zustand:`info`,wert:zl.has(t.id)&&t.verfuegbar?`→ ${t.verfuegbar}`:Jl(t)}}let a=Bl(e);return{id:e.id,label:n,zustand:`ok`,wert:a?.installiert?ql(a.installiert):`aktuell`}}var Zl=e=>`${e} HINWEIS${e===1?``:`E`}`;function Ql(e,t,n,r){let i=e.ziele.filter(e=>e.erreichbar===!1);if(i.length>0)return{art:`rot`,oben:`Störung`,mitte:i.length===1?`1 GERÄT STUMM`:`${i.length} GERÄTE STUMM`,unten:i.map(Rl).join(`, `),ziel:`geraete`};if(t.some(e=>e.stufe===`rot`))return{art:`rot`,oben:`Störung`,mitte:Zl(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(!e.ausfuehrer.verbunden)return{art:`gelb`,oben:`Achtung`,mitte:`AUSFÜHRER STUMM`,unten:`Die Geräte zeigen den letzten Stand`,ziel:null};if(t.length>0)return{art:`gelb`,oben:`Achtung`,mitte:Zl(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(n>0)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Das Ergebnis kommt als Meldung`,ziel:`updates`};let a=Hl(e.ziele).filter(e=>e.baustein.aktion).length;return a>0?{art:`info`,oben:`Homelab`,mitte:`${a} UPDATE${a===1?``:`S`}`,unten:`Drücken zum Ansehen`,ziel:`updates`}:{art:`ok`,oben:`Homelab`,mitte:`ALLES AKTUELL`,unten:r?`Stand ${r}`:`Keine offenen Updates`,ziel:null}}function $l(e){return e?.match(/vom (\d{2}\.\d{2}\.\d{4})/)?.[1]??null}var eu=[{id:`box`,name:`KI-Box`},{id:`homelab`,name:`Homelab`}],tu=[{to:`/`,label:`Übersicht`,Icon:io,ort:`uebersicht`},{to:`/box`,label:`Cockpit`,Icon:no,ort:`box`},{to:`/box/updates`,label:`Updates`,Icon:co,ort:`box`,zaehlt:!0},{to:`/box/modelle`,label:`Modelle`,Icon:Qa,ort:`box`},{to:`/box/monitoring`,label:`Monitoring`,Icon:Wa,ort:`box`},{to:`/homelab`,label:`Cockpit`,Icon:no,ort:`homelab`},{to:`/homelab/updates`,label:`Updates`,Icon:co,ort:`homelab`,zaehlt:!0},{to:`/homelab/monitoring`,label:`Monitoring`,Icon:Wa,ort:`homelab`},{to:`/homelab/protokoll`,label:`Protokoll`,Icon:uo,ort:`homelab`},{to:`/einstellungen`,label:`Einstellungen`,Icon:po,ort:`system`}],nu={uebersicht:`Auf einen Blick`,box:`KI-Box`,homelab:`Homelab`,system:`Beide Instanzen`};function ru(){let e=(0,B.c)(2),t=Ta({select:iu}).replace(/\/+$/,``)||`/`,n;return e[0]===t?n=e[1]:(n=tu.find(e=>e.to===t)??tu[0],e[0]=t,e[1]=n),n}function iu(e){return e.location.pathname}function G(){let e=(0,B.c)(19),t=Ys(),n=Xs(),r=rs(),i=t.data?.rolle===`homelab`?`homelab`:`box`,a=r===`live`?`online`:r,o=n.data,s=o?o.eingerichtet?o.erreichbar?`online`:`getrennt`:`fehlt`:`verbinde`,c;e[0]!==a||e[1]!==s||e[2]!==i?(c=i===`box`?{box:a,homelab:s}:{box:s,homelab:a},e[0]=a,e[1]=s,e[2]=i,e[3]=c):c=e[3];let l=c,u=Zs(),d=Qs(l.homelab===`online`),f;e[4]===u.data?.ziele?f=e[5]:(f=u.data?.ziele??[],e[4]=u.data?.ziele,e[5]=f);let p;e[6]===f?p=e[7]:(p=f.reduce(ou,0),e[6]=f,e[7]=p);let m=p,h;e[8]===d.data?.ziele?h=e[9]:(h=Hl(d.data?.ziele??[]).filter(au),e[8]=d.data?.ziele,e[9]=h);let g=h.length,_;e[10]!==m||e[11]!==l.box?(_={verbindung:l.box,updates:m},e[10]=m,e[11]=l.box,e[12]=_):_=e[12];let v;e[13]!==g||e[14]!==l.homelab?(v={verbindung:l.homelab,updates:g},e[13]=g,e[14]=l.homelab,e[15]=v):v=e[15];let y;return e[16]!==_||e[17]!==v?(y={box:_,homelab:v},e[16]=_,e[17]=v,e[18]=y):y=e[18],y}function au(e){return e.baustein.aktion}function ou(e,t){return e+t.bausteine.filter(su).length}function su(e){return e.zustand===`neu`&&e.aktion}var cu={erfolg:`border-gruen-rand bg-gruen-grund text-gruen-text`,fehler:`border-rot-rand bg-rot-grund text-rot-text`,info:`border-cyan-rand bg-cyan-grund text-cyan-text`};function lu(){let e=(0,B.c)(4),t=Go(),n;e[0]===t?n=e[1]:(n=t.map(uu),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,A.jsx)(`div`,{"aria-live":`polite`,className:`pointer-events-none fixed right-4 bottom-24 left-4 z-50 flex flex-col items-end gap-2 md:left-auto md:w-[420px] lg:bottom-6`,children:n}),e[2]=n,e[3]=r),r}function uu(e){return(0,A.jsxs)(`div`,{role:e.art===`fehler`?`alert`:`status`,className:a(`pointer-events-auto flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-[15px] shadow-lg`,cu[e.art]),children:[(0,A.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.text}),(0,A.jsx)(`button`,{type:`button`,onClick:()=>Wo(e.id),"aria-label":`Meldung schließen`,className:`-m-2 p-2 opacity-70 hover:opacity-100`,children:(0,A.jsx)(ho,{className:`size-4`})})]},e.id)}var du={online:{punkt:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,text:`online`},verbinde:{punkt:`bg-bernstein`,text:`verbinde`},getrennt:{punkt:`bg-rot`,text:`getrennt`},fehlt:{punkt:`bg-text-3`,text:`nicht eingerichtet`}},fu={uebersicht:{aktiv:`!border-bernstein bg-bernstein-grund`,symbol:`group-data-[status=active]:text-bernstein`},box:{aktiv:`!border-box bg-box-grund`,symbol:`group-data-[status=active]:text-box`},homelab:{aktiv:`!border-lab bg-lab-grund`,symbol:`group-data-[status=active]:text-lab`},system:{aktiv:`!border-text-2 bg-erhaben`,symbol:`group-data-[status=active]:text-foreground`}},pu={box:{text:`text-box-text`,balken:`bg-box`},homelab:{text:`text-lab-text`,balken:`bg-lab`}},mu=`group flex h-11 items-center gap-3 rounded-lg border-l-2 border-transparent pr-3 pl-3 text-[15px] text-text-2 hover:bg-erhaben hover:text-foreground`;function hu(){let e=(0,B.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(`img`,{src:`/favicon.svg`,alt:``,width:36,height:36,className:`size-9 shrink-0`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,A.jsxs)(`div`,{className:`flex items-center gap-3 px-1`,children:[t,(0,A.jsxs)(`span`,{className:`flex flex-col leading-none`,children:[(0,A.jsx)(`span`,{className:`font-anzeige text-[22px] font-bold tracking-[0.06em]`,children:`Homelab`}),(0,A.jsx)(`span`,{className:`schild text-[13px] tracking-[0.22em] text-text-3`,children:`Orchestrator`})]})]}),e[1]=n):n=e[1],n}function gu(e){let t=(0,B.c)(21),{s:n,zahl:r,onGewaehlt:i}=e,o=fu[n.ort],s=n.to,c;t[0]===o.aktiv?c=t[1]:(c=a(o.aktiv,`!text-foreground`),t[0]=o.aktiv,t[1]=c);let l;t[2]===c?l=t[3]:(l={className:c},t[2]=c,t[3]=l);let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u={exact:!0},t[4]=u):u=t[4];let d=n.Icon,f;t[5]===o.symbol?f=t[6]:(f=a(`size-[18px] shrink-0 text-text-3 group-hover:text-text-2`,o.symbol),t[5]=o.symbol,t[6]=f);let p;t[7]!==n.Icon||t[8]!==f?(p=(0,A.jsx)(d,{className:f,"aria-hidden":!0}),t[7]=n.Icon,t[8]=f,t[9]=p):p=t[9];let m;t[10]===n.label?m=t[11]:(m=(0,A.jsx)(`span`,{className:`flex-1`,children:n.label}),t[10]=n.label,t[11]=m);let h;t[12]===r?h=t[13]:(h=!!r&&(0,A.jsxs)(`span`,{className:`ziffern rounded-full border border-cyan-rand bg-cyan-grund px-2 text-xs leading-5 text-cyan`,children:[r,(0,A.jsxs)(`span`,{className:`sr-only`,children:[` `,r===1?`Update`:`Updates`,` bereit`]})]}),t[12]=r,t[13]=h);let g;return t[14]!==i||t[15]!==n.to||t[16]!==l||t[17]!==p||t[18]!==m||t[19]!==h?(g=(0,A.jsxs)(ea,{to:s,onClick:i,className:mu,activeProps:l,activeOptions:u,children:[p,m,h]}),t[14]=i,t[15]=n.to,t[16]=l,t[17]=p,t[18]=m,t[19]=h,t[20]=g):g=t[20],g}function _u(e){let t=(0,B.c)(15),{onDienste:n,onGewaehlt:r}=e,i=G(),o=Ys().data?.rolle!==`homelab`,s=vu,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=s(`/`),t[0]=c):c=t[0];let l;t[1]===r?l=t[2]:(l=(0,A.jsx)(gu,{s:c,onGewaehlt:r}),t[1]=r,t[2]=l);let u;t[3]!==o||t[4]!==n||t[5]!==r||t[6]!==i?(u=eu.map(e=>{let t=du[i[e.id].verbindung],s=pu[e.id];return(0,A.jsxs)(`section`,{"aria-label":e.name,className:`flex flex-col gap-1`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-3 pb-1.5`,children:[(0,A.jsxs)(`h2`,{className:a(`schild flex items-center gap-2.5 text-sm font-bold tracking-[0.24em]`,s.text),children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-4 w-1 rounded-full`,s.balken)}),e.name]}),(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`size-2 rounded-full`,t.punkt)}),t.text]})]}),tu.filter(t=>t.ort===e.id).map(t=>(0,A.jsx)(gu,{s:t,zahl:t.zaehlt?i[e.id].updates:0,onGewaehlt:r},t.to)),e.id===`box`&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`button`,{type:`button`,onClick:()=>{r?.(),n()},className:a(mu,`text-left`),children:[(0,A.jsx)(uo,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Dienste und Protokolle`]}),o&&(0,A.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:mu,children:[(0,A.jsx)(eo,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Hermes-Dashboard`]})]})]},e.id)}),t[3]=o,t[4]=n,t[5]=r,t[6]=i,t[7]=u):u=t[7];let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=s(`/einstellungen`),t[8]=d):d=t[8];let f;t[9]===r?f=t[10]:(f=(0,A.jsx)(`div`,{className:`mt-auto border-t border-linie pt-4`,children:(0,A.jsx)(gu,{s:d,onGewaehlt:r})}),t[9]=r,t[10]=f);let p;return t[11]!==l||t[12]!==u||t[13]!==f?(p=(0,A.jsxs)(`nav`,{"aria-label":`Hauptnavigation`,className:`flex flex-1 flex-col gap-6`,children:[l,u,f]}),t[11]=l,t[12]=u,t[13]=f,t[14]=p):p=t[14],p}function vu(e){return tu.find(t=>t.to===e)}var yu=`modulepreload`,bu=function(e){return`/`+e},xu={},Su=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=bu(t,n),t=s(t),t in xu)return;xu[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:yu,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Cu=(0,k.lazy)(()=>Su(()=>import(`./Dienste-BGWmtSYR.js`).then(e=>({default:e.Dienste})),__vite__mapDeps([0,1,2,3,4]))),wu=(0,k.lazy)(()=>Su(()=>import(`./MenueSchublade-CC8GVOLn.js`).then(e=>({default:e.MenueSchublade})),__vite__mapDeps([5,1,3,2,4]))),Tu=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),Eu=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`});function Du(){let e=(0,B.c)(13),[t,n]=(0,k.useState)(Ou),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.setInterval(()=>n(new Date),2e4);return()=>window.clearInterval(e)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,k.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=Tu.format(t),e[2]=t,e[3]=a);let o;e[4]===a?o=e[5]:(o=(0,A.jsx)(`span`,{className:`ziffern text-2xl font-medium`,children:a}),e[4]=a,e[5]=o);let s;e[6]===t?s=e[7]:(s=Eu.format(t).replace(`,`,``),e[6]=t,e[7]=s);let c;e[8]===s?c=e[9]:(c=(0,A.jsx)(`span`,{className:`schild text-[13px] text-text-3`,children:s}),e[8]=s,e[9]=c);let l;return e[10]!==o||e[11]!==c?(l=(0,A.jsxs)(`div`,{className:`flex flex-col items-end leading-tight`,children:[o,c]}),e[10]=o,e[11]=c,e[12]=l):l=e[12],l}function Ou(){return new Date}function ku(){let e=(0,B.c)(14),t=rs(),n=t===`live`,r=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,i=n?`text-text-3`:`text-bernstein`,o;e[0]===i?o=e[1]:(o=a(`schild flex items-center gap-1.5 text-[13px]`,i),e[0]=i,e[1]=o);let s=n?`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`:`bg-bernstein`,c;e[2]===s?c=e[3]:(c=a(`size-2 rounded-full`,s),e[2]=s,e[3]=c);let l;e[4]===c?l=e[5]:(l=(0,A.jsx)(`span`,{"aria-hidden":!0,className:c}),e[4]=c,e[5]=l);let u=n?`sr-only`:void 0,d=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,f;e[6]!==u||e[7]!==d?(f=(0,A.jsx)(`span`,{className:u,children:d}),e[6]=u,e[7]=d,e[8]=f):f=e[8];let p;return e[9]!==r||e[10]!==o||e[11]!==l||e[12]!==f?(p=(0,A.jsxs)(`span`,{role:`status`,title:r,className:o,children:[l,f]}),e[9]=r,e[10]=o,e[11]=l,e[12]=f,e[13]=p):p=e[13],p}var Au={uebersicht:`text-bernstein`,box:`text-box-text`,homelab:`text-lab-text`,system:`text-text-3`};function ju(){let e=(0,B.c)(32);os();let[t,n]=(0,k.useState)(null),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>n(null),e[0]=r):r=e[0];let i=r,o=ru(),s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,A.jsx)(hu,{}),e[1]=s):s=e[1];let c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsxs)(`aside`,{className:`sticky top-0 hidden h-dvh flex-col gap-8 overflow-y-auto border-r border-linie bg-[#0c0f12] px-4 py-7 lg:flex`,children:[s,(0,A.jsx)(_u,{onDienste:()=>n(`dienste`)})]}),e[2]=c):c=e[2];let l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>n(`menue`),e[3]=l):l=e[3];let u;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,A.jsx)(`button`,{type:`button`,onClick:l,className:`-ml-2 flex size-11 shrink-0 items-center justify-center rounded-lg text-text-2 hover:bg-erhaben hover:text-foreground lg:hidden`,"aria-label":`Menü öffnen`,children:(0,A.jsx)(oo,{className:`size-6`})}),e[4]=u):u=e[4];let d=Au[o.ort],f;e[5]===d?f=e[6]:(f=a(`schild text-[13px] tracking-[0.24em]`,d),e[5]=d,e[6]=f);let p=nu[o.ort],m;e[7]!==f||e[8]!==p?(m=(0,A.jsx)(`span`,{className:f,children:p}),e[7]=f,e[8]=p,e[9]=m):m=e[9];let h;e[10]===o.label?h=e[11]:(h=(0,A.jsx)(`h1`,{className:`font-anzeige text-[26px] leading-none font-bold tracking-[0.04em]`,children:o.label}),e[10]=o.label,e[11]=h);let g;e[12]!==m||e[13]!==h?(g=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[u,(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[m,h]})]}),e[12]=m,e[13]=h,e[14]=g):g=e[14];let _;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,A.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,A.jsx)(`span`,{className:`lg:hidden`,children:(0,A.jsx)(ku,{})}),(0,A.jsx)(Du,{})]}),e[15]=_):_=e[15];let v;e[16]===g?v=e[17]:(v=(0,A.jsxs)(`header`,{className:`flex items-center justify-between gap-4`,children:[g,_]}),e[16]=g,e[17]=v);let y;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,A.jsx)(`main`,{className:`flex min-w-0 flex-col gap-5 md:gap-6`,children:(0,A.jsx)(ha,{})}),e[18]=y):y=e[18];let b;e[19]===v?b=e[20]:(b=(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1320px] min-w-0 flex-col gap-5 px-4 pt-4 pb-10 sm:px-6 md:gap-6 md:px-10 md:pt-8`,children:[v,y]}),e[19]=v,e[20]=b);let x;e[21]===t?x=e[22]:(x=t===`menue`&&(0,A.jsx)(wu,{onDienste:()=>n(`dienste`),onSchliessen:i}),e[21]=t,e[22]=x);let S;e[23]===t?S=e[24]:(S=t===`dienste`&&(0,A.jsx)(Cu,{offen:!0,onSchliessen:i}),e[23]=t,e[24]=S);let C;e[25]!==x||e[26]!==S?(C=(0,A.jsxs)(k.Suspense,{fallback:null,children:[x,S]}),e[25]=x,e[26]=S,e[27]=C):C=e[27];let w;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,A.jsx)(lu,{}),e[28]=w):w=e[28];let T;return e[29]!==b||e[30]!==C?(T=(0,A.jsxs)(`div`,{className:`min-h-dvh lg:grid lg:grid-cols-[272px_minmax(0,1fr)]`,children:[c,b,C,w]}),e[29]=b,e[30]=C,e[31]=T):T=e[31],T}var Mu={gruen:`border-gruen-rand bg-gruen-grund text-gruen`,bernstein:`border-bernstein/60 bg-bernstein-grund text-bernstein`,cyan:`border-cyan-rand bg-cyan-grund text-cyan`,rot:`border-rot-rand bg-rot-grund text-rot-text`,grau:`border-linie bg-erhaben text-text-2`};function Nu(e){let t=(0,B.c)(5),{art:n,children:r}=e,i=Mu[n===void 0?`grau`:n],o;t[0]===i?o=t[1]:(o=a(`schild inline-flex h-7 items-center rounded-full border px-2.5 text-xs whitespace-nowrap`,i),t[0]=i,t[1]=o);let s;return t[2]!==r||t[3]!==o?(s=(0,A.jsx)(`span`,{className:o,children:r}),t[2]=r,t[3]=o,t[4]=s):s=t[4],s}function Pu(e){let t=(0,B.c)(6),{fehler:n,text:r}=e,i=n?`alert`:`status`,o=n?`border-rot-rand bg-rot-grund text-rot-text`:`border-linie bg-panel text-text-2`,s;t[0]===o?s=t[1]:(s=a(`rounded-2xl border px-5 py-8 text-center text-[15px]`,o),t[0]=o,t[1]=s);let c;return t[2]!==i||t[3]!==s||t[4]!==r?(c=(0,A.jsx)(`div`,{role:i,className:s,children:r}),t[2]=i,t[3]=s,t[4]=r,t[5]=c):c=t[5],c}var Fu={erledigt:{text:`Erledigt`,farbe:`text-gruen`},fehler:{text:`Fehler`,farbe:`text-rot`},geplant:{text:`Geplant`,farbe:`text-text-3`}};function Iu(e){let t=(0,B.c)(18),{e:n}=e,r=Fu[n.status]??Fu.geplant,i=n.status===`geplant`&&/update/i.test(n.titel)?`text-cyan`:r.farbe,o;t[0]===n.zeit?o=t[1]:(o=hs(n.zeit),t[0]=n.zeit,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.text?c=t[5]:(c=n.text&&(0,A.jsxs)(`span`,{className:`text-text-3`,children:[`, `,n.text]}),t[4]=n.text,t[5]=c);let l;t[6]!==n.titel||t[7]!==c?(l=(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-base break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:[n.titel,c]}),t[6]=n.titel,t[7]=c,t[8]=l):l=t[8];let u;t[9]===i?u=t[10]:(u=a(`schild col-start-2 row-start-1 justify-self-end text-[13px] @sm:col-start-3`,i),t[9]=i,t[10]=u);let d;t[11]!==r.text||t[12]!==u?(d=(0,A.jsx)(`span`,{className:u,children:r.text}),t[11]=r.text,t[12]=u,t[13]=d):d=t[13];let f;return t[14]!==s||t[15]!==l||t[16]!==d?(f=(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[s,l,d]}),t[14]=s,t[15]=l,t[16]=d,t[17]=f):f=t[17],f}function Lu(e){let t=(0,B.c)(6),{gelaufen:n,geplant:r}=e,i;t[0]!==n||t[1]!==r?(i=[...n,...r.slice(0,5)],t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i;if(a.length===0){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Heute ist noch nichts gelaufen, und nichts ist geplant.`}),t[3]=e):e=t[3],e}let o;return t[4]===a?o=t[5]:(o=(0,A.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:a.map(Ru)}),t[4]=a,t[5]=o),o}function Ru(e){return(0,A.jsx)(Iu,{e},`${e.titel}-${e.zeit}`)}function zu(e){let t=(0,B.c)(11),{titel:n,rechts:r,children:i,className:o,id:s}=e,c;t[0]===o?c=t[1]:(c=a(`flex min-w-0 flex-col gap-4 rounded-2xl border border-linie bg-panel p-5 sm:p-6`,o),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n?(l=(n||r)&&(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n&&(0,A.jsx)(`h2`,{className:`schild text-lg font-bold tracking-[0.22em] text-foreground`,children:n}),r]}),t[2]=r,t[3]=n,t[4]=l):l=t[4];let u;return t[5]!==i||t[6]!==s||t[7]!==c||t[8]!==l||t[9]!==n?(u=(0,A.jsxs)(`section`,{id:s,"aria-label":n,className:c,children:[l,i]}),t[5]=i,t[6]=s,t[7]=c,t[8]=l,t[9]=n,t[10]=u):u=t[10],u}var Bu=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Vu=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0});function Hu(e){return e<1e3?`${Vu.format(e)} B/s`:e<1e6?`${Bu.format(e/1e3)} KB/s`:e<1e9?`${Bu.format(e/1e6)} MB/s`:`${Bu.format(e/1e9)} GB/s`}function Uu(e,t){return e==null||Number.isNaN(e)?`–`:t===`prozent`?`${Vu.format(e)} %`:t===`grad`?`${Vu.format(e)} °C`:t===`bytes_s`?Hu(e):Vu.format(e)}function Wu(e){if(!e)return null;for(let t=e.length-1;t>=0;t--){let n=e[t][1];if(n!==null)return n}return null}function Gu(e,t){if(t===`prozent`)return 100;let n=0;for(let t of e)for(let[,e]of t??[])e!==null&&e>n&&(n=e);if(t===`grad`)return Math.max(60,Math.ceil((n+5)/10)*10);if(n<=0)return 1;let r=10**Math.floor(Math.log10(n));for(let e of[1,2,2.5,5,10])if(e*r>=n)return e*r;return 10*r}function Ku(e,t,n){return e===null?`ruhig`:e>=n?`rot`:e>=t?`gelb`:`ruhig`}var qu=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),Ju=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function Yu(e,t){let n=new Date(e*1e3);return(t?Ju:qu).format(n).replace(`,`,``)}function Xu(e){if(!e||e<0)return`–`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t} T ${n} h`:n>0?`${n} h ${r} min`:`${r} min`}function Zu(e,t,n){let r=``,i=!1;for(let[a,o]of e){if(o===null){i=!1;continue}r+=`${i?`L`:`M`}${t(a).toFixed(1)},${n(o).toFixed(1)}`,i=!0}return r}function Qu(e,t,n,r){let i=``,a=[],o=()=>{a.length>1&&(i+=`M${a[0][0].toFixed(1)},${r}`+a.map(([e,t])=>`L${e.toFixed(1)},${t.toFixed(1)}`).join(``)+`L${a[a.length-1][0].toFixed(1)},${r}Z`),a=[]};for(let[r,i]of e)i===null?o():a.push([t(r),n(i)]);return o(),i}function $u(e){let t=(0,B.c)(22),{punkte:n,max:r,farbe:i,hoehe:a,beschriftung:o}=e,s=i===void 0?`var(--reihe-1)`:i,c=a===void 0?36:a,l=n[0]?.[0]??0,u=n[n.length-1]?.[0]??1,d;t[0]!==l||t[1]!==u?(d=e=>u>l?(e-l)/(u-l)*100:0,t[0]=l,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]!==c||t[4]!==r?(p=e=>c-2-Math.min(e,r)/(r||1)*(c-4),t[3]=c,t[4]=r,t[5]=p):p=t[5];let m=p,h;t[6]===n?h=t[7]:(h=n.some(K),t[6]=n,t[7]=h);let g=h,_=`0 0 100 ${c}`,v;t[8]===c?v=t[9]:(v={height:c},t[8]=c,t[9]=v);let y;t[10]!==s||t[11]!==g||t[12]!==c||t[13]!==n||t[14]!==f||t[15]!==m?(y=g&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`path`,{d:Qu(n,f,m,c),fill:s,opacity:.12}),(0,A.jsx)(`path`,{d:Zu(n,f,m),fill:`none`,stroke:s,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]}),t[10]=s,t[11]=g,t[12]=c,t[13]=n,t[14]=f,t[15]=m,t[16]=y):y=t[16];let b;return t[17]!==o||t[18]!==_||t[19]!==v||t[20]!==y?(b=(0,A.jsx)(`svg`,{role:`img`,"aria-label":o,viewBox:_,preserveAspectRatio:`none`,className:`block w-full`,style:v,children:y}),t[17]=o,t[18]=_,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function K(e){let[,t]=e;return t!==null}var q={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}};function J(e){let t=(0,B.c)(29),{label:n,wert:r,einheit:i,punkte:o,max:s,zustand:c,farbe:l,zeitraumText:u}=e,d=q[c===void 0?`ruhig`:c],f;t[0]===n?f=t[1]:(f=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[0]=n,t[1]=f);let p;t[2]===d.wert?p=t[3]:(p=a(`font-anzeige text-[28px] leading-none font-bold`,d.wert),t[2]=d.wert,t[3]=p);let m;t[4]!==i||t[5]!==r?(m=Uu(r,i),t[4]=i,t[5]=r,t[6]=m):m=t[6];let h;t[7]!==p||t[8]!==m?(h=(0,A.jsx)(`span`,{className:p,children:m}),t[7]=p,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==d.marke||t[11]!==d.wert?(g=d.marke&&(0,A.jsx)(`span`,{className:a(`schild text-[11px]`,d.wert),children:d.marke}),t[10]=d.marke,t[11]=d.wert,t[12]=g):g=t[12];let _;t[13]!==h||t[14]!==g?(_=(0,A.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[h,g]}),t[13]=h,t[14]=g,t[15]=_):_=t[15];let v;t[16]!==l||t[17]!==n||t[18]!==s||t[19]!==o||t[20]!==u?(v=o&&o.length>1&&(0,A.jsx)($u,{punkte:o,max:s,farbe:l,beschriftung:`${n}, ${u}`}),t[16]=l,t[17]=n,t[18]=s,t[19]=o,t[20]=u,t[21]=v):v=t[21];let y;t[22]===o?y=t[23]:(y=o&&o.length<=1&&(0,A.jsx)(`span`,{className:`h-9`,"aria-hidden":!0}),t[22]=o,t[23]=y);let b;return t[24]!==f||t[25]!==_||t[26]!==v||t[27]!==y?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 rounded-xl border border-linie bg-erhaben/50 px-3.5 pt-3 pb-2`,children:[f,_,v,y]}),t[24]=f,t[25]=_,t[26]=v,t[27]=y,t[28]=b):b=t[28],b}function Y(e){if(e.aktion)return null;let t=e.grund??``,n=t.match(/erst ab (\d{2}\.\d{2}\.(?:\d{4})? ?\d{2}:\d{2})/)?.[1];return n?`ab ${n}`:/eigene Oberfläche|eigenen Oberfläche|eigenes Update/i.test(t)?`über die App`:null}function X(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);if(t.length===0)return null;let n=[],r=Bl(e);if(r?.zustand===`neu`){let e=Y(r);n.push(`App → ${r.verfuegbar??`neu`}${e?` (${e})`:``}`)}let i=Vl(e);i?.zustand===`neu`&&n.push(i.kurz||(i.id===`docker`?`Images`:`Pakete`));for(let e of t)e!==r&&e!==i&&n.push(`${e.name}${e.kurz?` · ${e.kurz}`:``}`);return{id:e.id,name:e.name,teile:n,knopf:t.some(e=>!!e.aktion)}}function ed(e){return e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({id:`${e.id}-${t.id}`,name:t.name,teile:[t.kurz||t.verfuegbar||`neu`],knopf:!!t.aktion}))}function td(e){let t=e.flatMap(e=>e.art===`ki-box`?ed(e):[X(e)]).filter(e=>e!==null);return[...t.filter(e=>e.knopf),...t.filter(e=>!e.knopf)]}function nd(e){return e.getrennt.length>0?{stufe:`rot`,titel:`Verbindung weg`,text:`${e.getrennt.join(` und `)} antwortet nicht.`}:e.stumm.length>0||e.hinweiseRot>0?{stufe:`rot`,titel:`Störung`,text:`${e.stumm.length>0?`${e.stumm.join(`, `)} antwortet nicht`:`Ein roter Hinweis wartet`}.`}:e.hinweise>0?{stufe:`gelb`,titel:e.hinweise===1?`1 Hinweis`:`${e.hinweise} Hinweise`,text:`Bei Gelegenheit ansehen.`}:e.updates>0?{stufe:`info`,titel:`Alles läuft`,text:`${e.updates} ${e.updates===1?`Update steht`:`Updates stehen`} bereit.`}:{stufe:`ok`,titel:`Alles läuft`,text:`Keine Hinweise, keine offenen Updates.`}}var rd={ok:{rahmen:`border-gruen-rand bg-gruen-grund`,titel:`text-gruen`,Symbol:Xa},info:{rahmen:`border-cyan-rand bg-cyan-grund`,titel:`text-cyan`,Symbol:co},gelb:{rahmen:`border-bernstein/70 bg-bernstein-grund`,titel:`text-bernstein`,Symbol:Ja},rot:{rahmen:`border-rot bg-rot-grund`,titel:`text-rot`,Symbol:Ja}};function id(e){let t=(0,B.c)(17),{label:n,wert:r,zusatz:i,art:o}=e,s,c,l;t[0]!==o||t[1]!==n?(c=`flex min-w-0 flex-col gap-1 rounded-xl border border-linie bg-panel/70 px-4 py-3`,t[5]===n?l=t[6]:(l=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[5]=n,t[6]=l),s=a(`font-anzeige text-[32px] leading-none font-bold`,{gruen:`text-gruen`,bernstein:`text-bernstein`,cyan:`text-cyan`,rot:`text-rot-text`,grau:`text-foreground`}[o]),t[0]=o,t[1]=n,t[2]=s,t[3]=c,t[4]=l):(s=t[2],c=t[3],l=t[4]);let u;t[7]!==s||t[8]!==r?(u=(0,A.jsx)(`span`,{className:s,children:r}),t[7]=s,t[8]=r,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=i&&(0,A.jsx)(`span`,{className:`truncate text-xs text-text-3`,children:i}),t[10]=i,t[11]=d);let f;return t[12]!==c||t[13]!==l||t[14]!==u||t[15]!==d?(f=(0,A.jsxs)(`div`,{className:c,children:[l,u,d]}),t[12]=c,t[13]=l,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}var ad={online:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,verbinde:`bg-bernstein`,getrennt:`bg-rot`,fehlt:`bg-text-3`},od={online:`online`,verbinde:`verbinde`,getrennt:`getrennt`,fehlt:`nicht eingerichtet`};function sd(e){let t=(0,B.c)(43),{bereich:n,name:r,verbindung:i,cockpit:o,children:s}=e,c,l,u,d,f,p,m,h,g;if(t[0]!==n||t[1]!==o||t[2]!==r){let e=n===`box`?{rand:`border-box-rand`,kopf:`from-box-grund`,text:`text-box-text`,balken:`bg-box`}:{rand:`border-lab-rand`,kopf:`from-lab-grund`,text:`text-lab-text`,balken:`bg-lab`};h=r,g=a(`flex min-w-0 flex-col overflow-hidden rounded-2xl border bg-panel`,e.rand),c=ea,p=o,m=a(`group flex items-center justify-between gap-3 bg-gradient-to-r to-transparent px-5 py-4 sm:px-6`,e.kopf),d=`flex items-center gap-3`,f=(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-7 w-1.5 rounded-full`,e.balken)}),u=`flex flex-col leading-tight`,l=a(`schild text-lg font-bold tracking-[0.22em]`,e.text),t[0]=n,t[1]=o,t[2]=r,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g}else c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11];let _;t[12]!==r||t[13]!==l?(_=(0,A.jsx)(`span`,{className:l,children:r}),t[12]=r,t[13]=l,t[14]=_):_=t[14];let v=ad[i],y;t[15]===v?y=t[16]:(y=a(`size-2 rounded-full`,v),t[15]=v,t[16]=y);let b;t[17]===y?b=t[18]:(b=(0,A.jsx)(`span`,{"aria-hidden":!0,className:y}),t[17]=y,t[18]=b);let x=od[i],S;t[19]!==b||t[20]!==x?(S=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[b,x]}),t[19]=b,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==S||t[23]!==u||t[24]!==_?(C=(0,A.jsxs)(`span`,{className:u,children:[_,S]}),t[22]=S,t[23]=u,t[24]=_,t[25]=C):C=t[25];let w;t[26]!==C||t[27]!==d||t[28]!==f?(w=(0,A.jsxs)(`span`,{className:d,children:[f,C]}),t[26]=C,t[27]=d,t[28]=f,t[29]=w):w=t[29];let T;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-sm text-text-2 group-hover:text-foreground`,children:[`Cockpit `,(0,A.jsx)(Ka,{className:`size-4 transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0})]}),t[30]=T):T=t[30];let E;t[31]!==c||t[32]!==w||t[33]!==p||t[34]!==m?(E=(0,A.jsxs)(c,{to:p,className:m,children:[w,T]}),t[31]=c,t[32]=w,t[33]=p,t[34]=m,t[35]=E):E=t[35];let D;t[36]===s?D=t[37]:(D=(0,A.jsx)(`div`,{className:`flex flex-col gap-5 px-5 pt-1 pb-5 sm:px-6`,children:s}),t[36]=s,t[37]=D);let O;return t[38]!==E||t[39]!==D||t[40]!==h||t[41]!==g?(O=(0,A.jsxs)(`section`,{"aria-label":h,className:g,children:[E,D]}),t[38]=E,t[39]=D,t[40]=h,t[41]=g,t[42]=O):O=t[42],O}function cd(e){let t=(0,B.c)(5),{titel:n,rechts:r}=e,i;t[0]===n?i=t[1]:(i=(0,A.jsx)(`h3`,{className:`schild text-sm tracking-[0.2em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function ld(e){let t=(0,B.c)(13),{zeilen:n,ziel:r,laedt:i,alleAktuell:o}=e,s;t[0]===n?s=t[1]:(s=n.filter(ud),t[0]=n,t[1]=s);let c=s.length,l;t[2]!==c||t[3]!==n.length?(l=(0,A.jsx)(cd,{titel:`Updates`,rechts:c>0?(0,A.jsxs)(Nu,{art:`cyan`,children:[c,` bereit`]}):n.length>0?(0,A.jsx)(Nu,{children:`wartet`}):(0,A.jsx)(Nu,{art:`gruen`,children:`aktuell`})}),t[2]=c,t[3]=n.length,t[4]=l):l=t[4];let u;t[5]!==o||t[6]!==i||t[7]!==n||t[8]!==r?(u=i?(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}):n.length===0?(0,A.jsxs)(`p`,{className:`flex items-center gap-2 text-sm text-gruen-text`,children:[(0,A.jsx)(Xa,{className:`size-4`,"aria-hidden":!0}),o]}):(0,A.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:n.map(e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ea,{to:r,className:`group -mx-2 grid grid-cols-[minmax(0,9rem)_minmax(0,1fr)_auto] items-baseline gap-3 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{className:`truncate text-[15px] font-medium`,children:e.name}),(0,A.jsx)(`span`,{className:a(`min-w-0 text-sm`,e.knopf?`text-cyan`:`text-text-3`),children:e.teile.join(` · `)}),(0,A.jsx)(Ka,{className:`size-3.5 self-center text-text-3 opacity-0 group-hover:opacity-100`,"aria-hidden":!0})]})},e.id))}),t[5]=o,t[6]=i,t[7]=n,t[8]=r,t[9]=u):u=t[9];let d;return t[10]!==l||t[11]!==u?(d=(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function ud(e){return e.knopf}function dd(e){let t=(0,B.c)(18),{hinweise:n,ziel:r}=e;if(n.length===0)return null;let i,o,s,c;if(t[0]!==n||t[1]!==r){let e=[...n].sort(pd);s=`flex flex-col gap-2`;let l=n.some(fd)?`rot`:`bernstein`;t[6]!==n.length||t[7]!==l?(c=(0,A.jsx)(cd,{titel:`Hinweise`,rechts:(0,A.jsx)(Nu,{art:l,children:n.length})}),t[6]=n.length,t[7]=l,t[8]=c):c=t[8],i=`m-0 flex list-none flex-col gap-1 p-0`;let u;t[9]===r?u=t[10]:(u=e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ea,{to:r,className:`-mx-2 flex items-start gap-2 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`mt-1.5 size-2 shrink-0 rounded-full`,e.stufe===`rot`?`bg-rot`:`bg-bernstein`)}),(0,A.jsx)(`span`,{className:a(`text-sm`,e.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:e.titel})]})},e.id),t[9]=r,t[10]=u),o=e.slice(0,3).map(u),t[0]=n,t[1]=r,t[2]=i,t[3]=o,t[4]=s,t[5]=c}else i=t[2],o=t[3],s=t[4],c=t[5];let l;t[11]!==i||t[12]!==o?(l=(0,A.jsx)(`ul`,{className:i,children:o}),t[11]=i,t[12]=o,t[13]=l):l=t[13];let u;return t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,A.jsxs)(`div`,{className:s,children:[c,l]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function fd(e){return e.stufe===`rot`}function pd(e,t){return Number(t.stufe===`rot`)-Number(e.stufe===`rot`)}function md(e){let t=(0,B.c)(4),{werte:n}=e,r;t[0]===n?r=t[1]:(r=n.map(hd),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,A.jsx)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4 xl:grid-cols-2 2xl:grid-cols-4`,children:r}),t[2]=r,t[3]=i),i}function hd(e){return(0,A.jsx)(J,{label:e.label,wert:e.wert,einheit:e.einheit,punkte:e.punkte,max:(e.einheit,100),zustand:Ku(e.wert??null,e.gelb,e.rot),zeitraumText:`letzte Stunde`},e.label)}function gd(e){let t=(0,B.c)(33),{verbindung:n}=e,r=ws(),i=Zs(),a=uc(`1h`),o=is(),s=a.data?.reihen,c=r.data?.box,l=o?.ram??(c?.ram_used&&c.ram_total?c.ram_used/c.ram_total*100:null),u=o?.cpu??a.data?.aktuell.cpu,d=s?.cpu,f;t[0]!==u||t[1]!==d?(f={label:`CPU`,wert:u,einheit:`prozent`,punkte:d,gelb:85,rot:95},t[0]=u,t[1]=d,t[2]=f):f=t[2];let p=s?.ram,m;t[3]!==l||t[4]!==p?(m={label:`Speicher`,wert:l,einheit:`prozent`,punkte:p,gelb:85,rot:95},t[3]=l,t[4]=p,t[5]=m):m=t[5];let h=o?.temp_cpu??c?.temp_cpu,g=s?.temp_cpu,_;t[6]!==h||t[7]!==g?(_={label:`Temperatur`,wert:h,einheit:`grad`,punkte:g,gelb:80,rot:90},t[6]=h,t[7]=g,t[8]=_):_=t[8];let v=o?.disk??c?.platte?.percent,y=s?.platte,b;t[9]!==y||t[10]!==v?(b={label:`Platte`,wert:v,einheit:`prozent`,punkte:y,gelb:80,rot:90},t[9]=y,t[10]=v,t[11]=b):b=t[11];let x;t[12]!==b||t[13]!==f||t[14]!==m||t[15]!==_?(x=(0,A.jsx)(md,{werte:[f,m,_,b]}),t[12]=b,t[13]=f,t[14]=m,t[15]=_,t[16]=x):x=t[16];let S;t[17]===i.data?.ziele?S=t[18]:(S=i.data?.ziele??[],t[17]=i.data?.ziele,t[18]=S);let C;t[19]===S?C=t[20]:(C=td(S),t[19]=S,t[20]=C);let w;t[21]!==C||t[22]!==i.isPending?(w=(0,A.jsx)(ld,{zeilen:C,ziel:`/box/updates`,laedt:i.isPending,alleAktuell:`Betriebssystem, Motor, llama-swap und Hermes sind aktuell.`}),t[21]=C,t[22]=i.isPending,t[23]=w):w=t[23];let T;t[24]===r.data?.hinweise?T=t[25]:(T=r.data?.hinweise??[],t[24]=r.data?.hinweise,t[25]=T);let E;t[26]===T?E=t[27]:(E=(0,A.jsx)(dd,{hinweise:T,ziel:`/box`}),t[26]=T,t[27]=E);let D;return t[28]!==x||t[29]!==w||t[30]!==E||t[31]!==n?(D=(0,A.jsxs)(sd,{bereich:`box`,name:`KI-Box`,verbindung:n,cockpit:`/box`,children:[x,w,E]}),t[28]=x,t[29]=w,t[30]=E,t[31]=n,t[32]=D):D=t[32],D}function _d(e){let t=(0,B.c)(14),{verbindung:n}=e,r=n===`online`,i=Qs(r),a=tc(r),o=dc(`1h`,r),s;t[0]===o.data?.geraete?s=t[1]:(s=o.data?.geraete.find(vd),t[0]=o.data?.geraete,t[1]=s);let c=s,l;t[2]===i.data?.ziele?l=t[3]:(l=i.data?.ziele??[],t[2]=i.data?.ziele,t[3]=l);let u=l,d;t[4]!==r||t[5]!==a||t[6]!==i.isPending||t[7]!==c?.aktuell||t[8]!==c?.reihen||t[9]!==u?(d=r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(cd,{titel:`Proxmox-Host`}),(0,A.jsx)(md,{werte:[{label:`CPU`,wert:c?.aktuell.cpu,einheit:`prozent`,punkte:c?.reihen.cpu,gelb:85,rot:95},{label:`Speicher`,wert:c?.aktuell.ram,einheit:`prozent`,punkte:c?.reihen.ram,gelb:90,rot:95},{label:`Temperatur`,wert:c?.aktuell.temp_cpu,einheit:`grad`,punkte:c?.reihen.temp_cpu,gelb:80,rot:90},{label:`Platte`,wert:c?.aktuell.platte,einheit:`prozent`,punkte:c?.reihen.platte,gelb:80,rot:90}]})]}),(0,A.jsx)(ld,{zeilen:td(u),ziel:`/homelab/updates`,laedt:i.isPending,alleAktuell:`Alle Geräte sind aktuell.`}),(0,A.jsx)(dd,{hinweise:a.data?.hinweise??[],ziel:`/homelab`})]}):(0,A.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; die Karte zeigt nichts Veraltetes.`}),t[4]=r,t[5]=a,t[6]=i.isPending,t[7]=c?.aktuell,t[8]=c?.reihen,t[9]=u,t[10]=d):d=t[10];let f;return t[11]!==d||t[12]!==n?(f=(0,A.jsx)(sd,{bereich:`homelab`,name:`Homelab`,verbindung:n,cockpit:`/homelab`,children:d}),t[11]=d,t[12]=n,t[13]=f):f=t[13],f}function vd(e){return e.art===`proxmox-host`}var yd={eingespielt:`gruen`,gruen:`gruen`,zurueckgerollt:`bernstein`,gelb:`bernstein`,fehler:`rot`,rot:`rot`,neustart:`cyan`,info:`cyan`,aufgeraeumt:`gruen`};function bd(e){let t=(0,B.c)(9),{homelabAktiv:n}=e,r=js(),i=$s(n),a,o,s;if(t[0]!==r.data?.laeufe||t[1]!==i.data?.laeufe){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=[...(r.data?.laeufe??[]).slice(0,6).map(Td),...(i.data?.laeufe??[]).filter(wd).slice(0,6).map(Cd)].sort(Sd).slice(0,6);if(e.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Updates aufgezeichnet.`}),t[5]=e):e=t[5],s=e;break bb0}a=`@container m-0 flex list-none flex-col p-0`,o=e.map(xd)}t[0]=r.data?.laeufe,t[1]=i.data?.laeufe,t[2]=a,t[3]=o,t[4]=s}else a=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;return t[6]!==a||t[7]!==o?(c=(0,A.jsx)(`ol`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function xd(e){return(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 first:border-t-0 @md:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:hs(new Date(e.zeit).toISOString())}),(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] @md:col-span-1 @md:col-start-2 @md:row-start-1`,children:[(0,A.jsx)(`span`,{className:a(`schild mr-2 text-[11px]`,e.bereich===`KI-Box`?`text-box-text`:`text-lab-text`),children:e.bereich}),e.titel]}),(0,A.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @md:col-start-3`,children:(0,A.jsx)(Nu,{art:e.art,children:e.chip})})]},`${e.bereich}-${e.zeit}-${e.titel}`)}function Sd(e,t){return t.zeit-e.zeit}function Cd(e){return{zeit:e.start*1e3,bereich:`Homelab`,titel:e.name,chip:e.ergebnis??`unterbrochen`,art:(e.ergebnis?yd[e.ergebnis]:`grau`)??`grau`}}function wd(e){return e.status!==`laeuft`}function Td(e){return{zeit:new Date(e.start).getTime(),bereich:`KI-Box`,titel:e.anlass,chip:e.titel,art:yd[e.stufe]??`grau`}}function Ed(){let e=(0,B.c)(92),t=G(),n=ws(),r=t.homelab.verbindung===`online`,i=Qs(r),o=tc(r);if(n.isPending&&!n.data){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(Pu,{text:`Die Übersicht sammelt sich gleich …`}),e[0]=t):t=e[0],t}let s,c,l;if(e[1]!==i.data?.ziele||e[2]!==o.data?.hinweise||e[3]!==t.box.updates||e[4]!==t.box.verbindung||e[5]!==t.homelab.updates||e[6]!==t.homelab.verbindung||e[7]!==n.data?.hinweise||e[8]!==n.isError){let r=[...t.box.verbindung===`getrennt`&&n.isError?[`Die KI-Box`]:[],...t.homelab.verbindung===`getrennt`?[`Der Homelab-Teil`]:[]],a=(i.data?.ziele??[]).filter(jd).map(Ad),u;e[12]===n.data?.hinweise?u=e[13]:(u=n.data?.hinweise??[],e[12]=n.data?.hinweise,e[13]=u);let d;e[14]===o.data?.hinweise?d=e[15]:(d=o.data?.hinweise??[],e[14]=o.data?.hinweise,e[15]=d);let f;e[16]!==u||e[17]!==d?(f=[...u,...d],e[16]=u,e[17]=d,e[18]=f):f=e[18],s=f,l=t.box.updates+t.homelab.updates;let p;e[19]===s?p=e[20]:(p=s.filter(kd),e[19]=s,e[20]=p),c=nd({getrennt:r,stumm:a,hinweiseRot:p.length,hinweise:s.length,updates:l}),e[1]=i.data?.ziele,e[2]=o.data?.hinweise,e[3]=t.box.updates,e[4]=t.box.verbindung,e[5]=t.homelab.updates,e[6]=t.homelab.verbindung,e[7]=n.data?.hinweise,e[8]=n.isError,e[9]=s,e[10]=c,e[11]=l}else s=e[9],c=e[10],l=e[11];let u=c,d=rd[u.stufe],f;e[21]===i.data?.ziele?f=e[22]:(f=i.data?.ziele??[],e[21]=i.data?.ziele,e[22]=f);let p=f,m;e[23]===p?m=e[24]:(m=p.filter(Od),e[23]=p,e[24]=m);let h=m.length+ +(t.box.verbindung===`online`),g=p.length+1,_=n.data?.flugplan.geplant[0],v;e[25]===d.rahmen?v=e[26]:(v=a(`grid gap-4 rounded-2xl border p-4 sm:p-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.6fr)] lg:items-center`,d.rahmen),e[25]=d.rahmen,e[26]=v);let y=d.Symbol,b;e[27]===d.titel?b=e[28]:(b=a(`size-10 shrink-0`,d.titel),e[27]=d.titel,e[28]=b);let x;e[29]!==d.Symbol||e[30]!==b?(x=(0,A.jsx)(y,{className:b,"aria-hidden":!0}),e[29]=d.Symbol,e[30]=b,e[31]=x):x=e[31];let S;e[32]===d.titel?S=e[33]:(S=a(`font-anzeige text-[34px] leading-none font-bold tracking-[0.02em]`,d.titel),e[32]=d.titel,e[33]=S);let C;e[34]!==u.titel||e[35]!==S?(C=(0,A.jsx)(`span`,{className:S,children:u.titel}),e[34]=u.titel,e[35]=S,e[36]=C):C=e[36];let w;e[37]===u.text?w=e[38]:(w=(0,A.jsx)(`span`,{className:`text-[15px] text-text-2`,children:u.text}),e[37]=u.text,e[38]=w);let T;e[39]!==C||e[40]!==w?(T=(0,A.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[C,w]}),e[39]=C,e[40]=w,e[41]=T):T=e[41];let E;e[42]!==x||e[43]!==T?(E=(0,A.jsxs)(`div`,{className:`flex items-center gap-4 px-1`,children:[x,T]}),e[42]=x,e[43]=T,e[44]=E):E=e[44];let D=String(l),O=l?`cyan`:`gruen`,ee=`KI-Box ${t.box.updates} · Homelab ${t.homelab.updates}`,te;e[45]!==D||e[46]!==O||e[47]!==ee?(te=(0,A.jsx)(id,{label:`Updates bereit`,wert:D,art:O,zusatz:ee}),e[45]=D,e[46]=O,e[47]=ee,e[48]=te):te=e[48];let ne=String(s.length),re=s.some(Dd)?`rot`:s.length?`bernstein`:`gruen`,ie;e[49]!==ne||e[50]!==re?(ie=(0,A.jsx)(id,{label:`Hinweise`,wert:ne,art:re}),e[49]=ne,e[50]=re,e[51]=ie):ie=e[51];let ae=`${h}/${g}`,k=h(0,A.jsx)(Li,{to:`/`})}),Nd=ra({getParentRoute:()=>Md,path:`/`,component:Ed}),Pd=ra({getParentRoute:()=>Md,path:`/box`,component:R(()=>Su(()=>import(`./Start-DEaEpevw.js`),__vite__mapDeps([6,1,2,7])),`StartSeite`)}),Fd=ra({getParentRoute:()=>Md,path:`/box/updates`,component:R(()=>Su(()=>import(`./Updates-DhRqQqvO.js`),__vite__mapDeps([8,1,9,2,10,4,11])),`UpdatesSeite`)}),Id=ra({getParentRoute:()=>Md,path:`/box/modelle`,component:R(()=>Su(()=>import(`./Modelle-CuuF8BGB.js`),__vite__mapDeps([12,1,13,14,9,15,2,3,4,10,11])),`ModelleSeite`)}),Ld=ra({getParentRoute:()=>Md,path:`/box/monitoring`,component:R(()=>Su(()=>import(`./Monitoring-Dh_DGery.js`),__vite__mapDeps([16,1])),`BoxMonitoringSeite`)}),Rd=ra({getParentRoute:()=>Md,path:`/homelab`,component:R(()=>Su(()=>import(`./Homelab-Ba-06aFa.js`),__vite__mapDeps([17,1,9,15,2,10,4,7])),`HomelabSeite`)}),zd=ra({getParentRoute:()=>Md,path:`/homelab/updates`,component:R(()=>Su(()=>import(`./Homelab-Ba-06aFa.js`),__vite__mapDeps([17,1,9,15,2,10,4,7])),`HomelabUpdatesSeite`)}),Bd=ra({getParentRoute:()=>Md,path:`/homelab/monitoring`,component:R(()=>Su(()=>import(`./Monitoring-Dh_DGery.js`),__vite__mapDeps([16,1])),`HomelabMonitoringSeite`)}),Vd=ra({getParentRoute:()=>Md,path:`/homelab/protokoll`,component:R(()=>Su(()=>import(`./HomelabProtokoll-NgNeh7ai.js`),__vite__mapDeps([18,1,9,15])),`HomelabProtokollSeite`)}),Hd=ra({getParentRoute:()=>Md,path:`/einstellungen`,component:R(()=>Su(()=>import(`./Einstellungen-B5hDXuZV.js`),__vite__mapDeps([19,1,2,10,4])),`EinstellungenSeite`)}),Ud=ra({getParentRoute:()=>Md,path:`/updates`,beforeLoad:()=>{throw ln({to:`/box/updates`})}}),Wd=ra({getParentRoute:()=>Md,path:`/modelle`,beforeLoad:({location:e})=>{throw ln({to:`/box/modelle`,hash:e.hash||void 0})}}),Gd=xa({routeTree:Md.addChildren([Nd,Pd,Fd,Id,Ld,Rd,zd,Bd,Vd,Hd,Ud,Wd]),defaultPreload:`intent`,defaultErrorComponent:Da}),Kd=`mc_neuladen_wegen_version`;function qd(){window.addEventListener(`vite:preloadError`,e=>{sessionStorage.getItem(Kd)||(e.preventDefault(),sessionStorage.setItem(Kd,`1`),window.location.reload())}),window.addEventListener(`load`,()=>{window.setTimeout(()=>sessionStorage.removeItem(Kd),5e3)})}qd();var Jd=new ft({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});(0,Ea.createRoot)(document.getElementById(`root`)).render((0,A.jsx)(k.StrictMode,{children:(0,A.jsx)(ce,{client:Jd,children:(0,A.jsx)(wa,{router:Gd})})}));export{Ts as $,sc as A,jo as At,Qs as B,wo as Bt,Yl as C,gs as Ct,ql as D,Uo as Dt,Ul as E,is as Et,uc as F,Bo as Ft,hc as G,Ka as Gt,tc as H,co as Ht,Ns as I,Ro as It,Ys as J,ea as Jt,gc as K,Ha as Kt,nc as L,Mo as Lt,vc as M,Po as Mt,Vs as N,Fo as Nt,mc as O,No as Ot,Hs as P,Lo as Pt,Ks as Q,re as Qt,Us as R,xo as Rt,Hl as S,vs as St,Vl as T,xs as Tt,$s as U,eo as Ut,_c as V,ho as Vt,dc as W,Xa as Wt,zs as X,I as Xt,Ws as Y,Ii as Yt,Os as Z,se as Zt,Bl as _,ec as _t,Wu as a,ic as at,Xl as b,ys as bt,Yu as c,pc as ct,Lu as d,ws as dt,Es as et,Nu as f,ac as ft,_u as g,js as gt,hu as h,Rs as ht,Xu as i,qs as it,yc as j,Io as jt,cc as k,zo as kt,Ku as l,ks as lt,Su as m,rc as mt,Qu as n,Ms as nt,Gu as o,Js as ot,Pu as p,As as pt,Bs as q,Ta as qt,Zu as r,Ds as rt,Uu as s,fc as st,J as t,Xs as tt,zu as u,oc as ut,Il as v,Gs as vt,Wl as w,_s as wt,$l as x,bs as xt,Ql as y,hs as yt,Is as z,V as zt}; \ No newline at end of file +\r`.includes(e)?``:encodeURIComponent(e))),Vn(e)}function Un(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=Kn(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Ln];i=Wn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Ln];i=Wn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Ln]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function Wn(e,t){let n=qn();return{...t,key:n,__TSR_key:n,[Ln]:e}}function Gn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>Hn(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>Kn(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=qn();t.history.replaceState({[Ln]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=Kn(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[Ln]-l.state[Ln],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Un({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(zn,x,{capture:!0}),t.removeEventListener(Rn,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(zn,x,{capture:!0}),t.addEventListener(Rn,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function Kn(e,t){let n=Hn(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=qn();t={[Ln]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function qn(){return(Math.random()+1).toString(36).substring(7)}function Jn(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function Yn(e){return e.pathname+e.search+e.hash}function Xn(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Zn(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function Qn({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function $n(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function er(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var tr=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Gn()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`;let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&Mt(n)?Nn(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=In(this.latestLocation,e),Qt(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=Cn(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&yn(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:dn(1e3)}},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),s=this.options.stringifySearch(i);return{href:e+s+r,publicHref:e+s+r,pathname:b(e),external:!1,searchStr:s,search:o(t?.search,i),hash:b(r.slice(1)),state:w(t?.state,a)}}let s=Pn(this.rewrite,new URL(i,this.origin)),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:b(Vn(s.pathname)),external:!!this.rewrite&&Jn(s,this.origin),searchStr:l,search:o(t?.search,c),hash:b(s.hash.slice(1)),state:w(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=Sn(jt(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=Kn(n.href,{});n={...n,to:Pn(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=n._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>(t=!0,i??=this.matchRoutesLightweight(r)),s=n.to?`${n.to}`:`.`,c=Pt(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[jt(c)],d=c.includes(`$`),f;if(l)f=l._branch??=En(l);else if(d)f=[];else{let[e,t,n]=this.getMatchedRoutes(c);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}let p=d?l?._interpolation??gn(!1,{fullPath:c},0):void 0,h;for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(h??=or(n.params,e),!u(h))break;h===e&&(h=Object.assign(_(),h));try{Object.assign(h,t(h))}catch{}}}h??=or(n.params,sr(n.params,p)?o()[3]:cr);let g=e.leaveParams?c:Vn(b(p?Rt(c,p,h,this.pathParamsDecoder):c)),v=lr(f,e._includeValidateSearch),y=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,ar(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},x=v.length?ur(v,y(),n):n.search===!0?y():typeof n.search==`function`?n.search(y()):n.search||cr,S=this.options.stringifySearch(x),C=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,w=C?`#${C}`:``,T=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:cr,E=`${g}${S}${w}`,D,O,ee=!1;if(this.rewrite){let e=new URL(E,this.origin),t=e.origin,n=Fn(this.rewrite,e);D=Yn(e),Jn(n,t)?(O=n.href,ee=!0):O=Vn(Yn(n))}else D=m(E),O=D;return{publicHref:O,href:D,pathname:g,search:x,searchStr:S,state:T,hash:C??``,external:ee,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=bn(r.pathname,this.processedTree);if(t){let i=Object.assign(_(),t.rawParams),{from:a,params:o,...s}=t.route,c=or(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&!r.maskedLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return nr(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=jt(this.latestLocation.href)===jt(n.href)&&c(Qn(n.state),Qn(this.latestLocation.state)),o=this._commitPromise,s,l=new Promise(e=>{s=e});if(l.resolve=()=>{s(),o?.resolve()},this._commitPromise=l,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?l(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}let t=!a&&r?r:n;return nr(this,t,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await ni(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Zn(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));let s=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Xn(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(s);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(C.test(n)||(r=l(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:Jn(e,this.origin)||(n=Yn(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=hr,this.preloadRoute=e=>ri(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?Pt(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=xn(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!c(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?c(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=Ft(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??an,parseSearch:e.parseSearch??rn,protocolAllowlist:e.protocolAllowlist??p}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=gn(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,s=!1;(i?i.path!==`/`&&r[`**`]:jt(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:s=!0);let c=s?dr(this.options.notFoundMode,a):void 0,l=Array(a.length),u=this._committed,d=(e,t)=>{let n=u[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?u.find(t=>t.routeId===e.id):void 0},f;for(let n=0;ntypeof t!=`string`&&!v.call(e,t[1]))}var cr=Object.freeze({});function lr(e,t){let n=[];for(let r=0;r{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=ar(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function ur(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=S(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function dr(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return cn}function fr(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function pr(e,t){return e.options[t]?.preload?.()}function mr(e,t){let n=pr(e,`component`),r=pr(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function hr(e,t,n){let r=()=>t===!1?void 0:t?pr(e,t):mr(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function gr(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function wr(e,t){return e.routesById[t.routeId]}function Tr(e,t,n){return un(e)?[br,e]:zt(e)?(e.routeId||=n,[yr,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[vr,e]):[_r,e]}function Er(e,t){let n=Tr(t,!0,e.id);if(n[0]!==vr)return n;try{e.options.onError?.(n[1])}catch(t){n=Tr(t,!0,e.id)}return n}function Dr(e,t,n,r,i){return i[0].signal.aborted?xr:Ur(e,t,n,Er(n,r),i)}async function Or(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;ie.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return Ar(e,r),[i,Dr(e,t,u,a,n)]}if(c.aborted)return[i,xr];let p=r.paramsError??r.searchError;if(p!==void 0)return Ar(e,r),[i,Dr(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Nr(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?Cr(a,c):a);if(c.aborted)return[i,xr];let s=Ur(e,t,u,Tr(o,!1,u.id),n);if(s[0]!==_r)return Ar(e,r),[i,s];r.context={...r.context,...o}}catch(a){return Ar(e,r),[i,Dr(e,t,u,a,n)]}finally{r.status=h,Nr(e,r,!1,n[0])}}i()}function kr(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function Ar(e,t){let n=t._flight;t._flight=void 0,kr(e,t,n)?.abort()}function jr(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=kr(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Mr(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Nr(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Pr(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Fr(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return xr;if(!i)return[_r,void 0];let l=n._flight;Nr(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Pr(e,t,n,r,s,a,!!o[3]))).then(e=>Tr(e,!1,r.id),e=>Tr(e,!0,r.id)).then(t=>(t[0]!==_r&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===vr&&l[2]?Er(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Ur(e,t,r,await Cr(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return Ar(e,n),xr}finally{Nr(e,n,!1,s)}}function Ir(e,t,n){t[0]!==br&&(e.status=`success`,e.error=void 0,t[0]===_r?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Lr(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&Ar(e,r)}function Rr(e,t){return t[0]===vr||t[0]===yr?{...e,status:t[0]===vr?`error`:`notFound`,error:t[1],_flight:void 0}:e}function zr(e,t,n,r,i,a,o){let s=t[1][n],c=wr(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Pr(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=xr)),!p){if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(n){s.invalid=!0,Ar(e,s),p=Dr(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!(!m||!f||s.status!==`success`||l||a[4]||((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)===`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,kr(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Fr(e,t,s,c,g,i,a).then(t=>(Ir(s,t,l),t[0]===_r&&(m&&!a[0].signal.aborted&&Lr(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[_r,s.loaderData]),T=(async()=>{try{let e=hr(c,void 0,C);e&&await Cr(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,Dr(e,t,c,r,a)]}let r=await w;x&&r[0]===_r&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>Rr(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let D=Fr(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,Ir(E,e,!1),e));return(t[2]??=[]).push([n,D,T,E]),D.then(e=>Rr(E,e))}async function Br(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=wr(e,t[n]);try{let e=hr(i,!1);e&&await Cr(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Vr(e,t){t[2]&&=(jr(e,t[2].map(e=>e[3])),void 0)}async function Hr(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=br)throw[a,t];!i&&t[0]!==_r&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===br)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function Ur(e,t,n,r,i,a){for(;r[0]===br;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[br,t]:[br,t,a]}return[br,o,n]}catch(e){r=a?[vr,e]:Er(n,e),a=!0}}return r}async function Wr(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===yr?Br(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=br)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==_r&&t[0]=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=br){let n=s[1];if(n[0]!==br||n[1].options.reloadDocument||n[2])return Vr(e,t),n;c=!0,s=[0,[vr,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===vr?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=wr(e,u);try{await Cr(i?Promise.resolve().then(()=>hr(m,l===vr?`errorComponent`:`notFoundComponent`)):Promise.all([hr(m),hr(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Vr(e,t),xr}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Vr(e,t),jr(e,o),p()):u.status=`success`}return t}async function Gr(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await Br(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l{for(let t=d;t=br&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Wr(e,i,u,r[0],Hr(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Hr(i[2],void 0,void 0,h.then(e=>Sr(e)?0:gr(n).length,()=>0))),o=await h}catch(t){if(Vr(e,i),t===a&&a.aborted)return xr;throw t}return Sr(o)?o:Gr(e,o,a,r[6]===n.length?r[6]:0)}function qr(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a0){i[3]=setTimeout(()=>qr(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function Jr(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function Yr(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!gr(t[3]).some(e=>e.id===n[1]))return;let i;try{await Cr(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function Xr(e,t){e._committed=t,e.stores.setMatches(t)}function Zr(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=gr(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=$n(n);Xr(e,n),jr(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),er(e,i,n,a,l,t)}async function Qr(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function $r(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function ei(e,t,n,r,i){let a=n.map(e=>({...e}));Mr(a);for(let t of r)Ar(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Wr(e,o,r,t[0],i)}catch(t){throw jr(e,a),t}if(Sr(s)){jr(e,a),s[0]===br&&e._tx===t&&e._committed===n&&await $r(e,t,s);return}if(await Gr(e,s,t[0].signal),e._tx!==t||e._committed!==n){jr(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),Ar(e,n))}Xr(e,a),jr(e,n,a)}async function ti(e,t,n,r,i,a){let o=await Kr(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(Sr(o)){let n=o[0]===br&&e._tx===t;if((!n||o[1].options.reloadDocument)&&Jr(e,t),jr(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){Jr(e,t);return}await $r(e,t,o);return}let s=o[1];if(e._tx===t&&await Yr(e,t),e._tx!==t){Jr(e,t),jr(e,s),Vr(e,o);return}let c=t[2],l=Zn(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await Yr(e,t),e._tx!==t){Jr(e,t),jr(e,s),Vr(e,o);return}let n=await e.startTransition(()=>{Jr(e,t),Zr(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Vr(e,o);return}u?.length&&ei(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function ni(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=Zn(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await Qr(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});Mr(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){jr(e,m),await Qr(e,n);return}e._preflight=void 0;let g,_=()=>ti(e,y,f,()=>qr(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>Qr(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Nr(e,t,!1)}n[0].abort(),jr(e,n[3],y[3],!0)}if(e._tx!==y){jr(e,y[3]),y[3]=[],g?.(),await Qr(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&qr(e,y),g?.(_()),await y[5]}async function ri(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),Mr(a),o=(e._preloads??=new Map).set(i,a),s=await Kr(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),jr(e,a)),i.abort()}if(!Sr(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){zt(e)||console.error(e);return}}}var ii=`Error preloading route! ☝️`,ai=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=cn:this.parentRoute||T();let r=n?cn:t?.path;r&&r!==`/`&&(r=At(r));let i=t?.id||r,a=n?cn:kt((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(i??``));r===`__root__`&&(r=`/`);let o=a===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:kt(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=a,this._fullPath=o,this._to=jt(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>ln({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},oi=class extends ai{constructor(e){super(e)}},si=class extends k.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?k.createElement(this.props.errorComponent??ci,{error:e[0],reset:this.reset}):this.props.children}};function ci({error:e}){let[t,n]=k.useState(!1);return(0,A.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,A.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,A.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,A.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,A.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,A.jsx)(`div`,{children:(0,A.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,A.jsx)(`code`,{children:e.message}):null})}):null]})}var li=()=>!0,ui=()=>!1;function di({children:e,fallback:t=null}){return(0,A.jsx)(k.Fragment,{children:fi()?e:t})}function fi(e=!0){return k.useSyncExternalStore(pi,li,e?ui:li)}function pi(){return()=>{}}function mi({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function hi(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var gi=[],_i=0,{link:vi,unlink:yi,propagate:bi,checkDirty:xi,shallowPropagate:Si}=mi({update(e){return e._update()},notify(e){gi[wi++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,Oi(e))}}),Ci=0,wi=0,Ti,Ei=0;function Di(e){try{++Ei,e()}finally{--Ei||ki()}}function Oi(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=yi(n,e)}function ki(){if(!(Ei>0)){for(;Ci{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Ti,o=t?.compare??Object.is;if(n)Ti=i,++_i,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Ti=a,n&&(i.flags&=-5),Oi(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&xi(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Si(e)}}else e&32&&(i.flags=e&-33);return Ti!==void 0&&vi(i,Ti,_i),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(bi(e),Si(e),ki())}},i}function ji(e){let t=()=>{let t=Ti;Ti=n,++_i,n.depsTail=void 0,n.flags=6;try{return e()}finally{Ti=t,n.flags&=-5,Oi(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&xi(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,Oi(this)}};return t(),n}function Mi(e){return O({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Ni(e){let{select:t,...n}=e;return O({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Pi(e){return O({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Fi(e){return O({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Ii(e){let t=g();return k.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Li(e){let t=g(),n=Ii(),r=k.useRef(null);return Ot(()=>{r.current!==e&&(n(e),r.current=e)},[t,e,n]),null}function Ri(e){return O({...e,select:t=>e.select?e.select(t.context):t.context})}function zi(...e){let t=k.useRef(e),n=t.current;return e.forEach((e,t)=>{c(n[t],e,!1,!0)||(n[t]=e)}),t.current}function Bi(e,t){e.preloadRoute(t).catch(e=>{console.warn(e),console.warn(ii)})}var Vi={compare:(e,t)=>e[0]===t[0]&&e[1]===t[1]};function Hi(e,t){let n=typeof e==`string`&&l(e);if(n)return t.has(n)?e:null}function Ui(e,t,n,r,i){let a=Nt(e.pathname,r),o=Nt(t.pathname,r);return(n?.exact?a!==o:!a.startsWith(o)||a.length!==o.length&&a[o.length]!==`/`)||(n?.includeSearch??!0)&&!c(e.search,t.search,!n?.exact,n?.explicitUndefined)?!1:!n?.includeHash||i&&e.hash===t.hash}function Wi(e,t,n){let r=g(),i=k.useRef(null),a=k.useCallback(e=>{if(i.current=e,typeof t==`function`)return t(e);t&&(t.current=e)},[t]),{activeOptions:o,to:s,preload:c,preloadDelay:u,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,ignoreBlocker:_,disabled:v,target:y,onClick:b,onBlur:S,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E}=e,D=fi(!!o?.includeHash),[O,ee,te]=zi(e.search,e.params,o),[ne,re]=k.useMemo(()=>[e,{...e}],[r,e.from,e._fromLocation,e.hash,e.to,O,ee,e.state,e.mask,e.unsafeRelative]),ie=k.useCallback(e=>{let t=Hi(s,r.protocolAllowlist);if(t!==void 0)return[t??void 0];ne._fromLocation||(re._fromLocation=e);let n=r.buildLocation(re),i=$i(n,r,v);return[i,!v&&(!i||l(i))?void 0:Ui(e,n,te,r.basepath,D)]},[te,v,D,ne,re,r,s]),[ae,A]=x(r.stores.location,ie,Vi),oe=A===void 0?ae:void 0,se=v||ae===void 0,ce=k.useRef(!1),le=e.reloadDocument||oe||se?!1:c??r.options.defaultPreload,ue=u??r.options.defaultPreloadDelay??0,de=k.useCallback(e=>{let t=e?.isIntersecting;if(!(t??le===`intent`)){t===!1&&Zi(i);return}if(!ue){Bi(r,ne);return}Xi.has(i)||Xi.set(i,setTimeout(()=>{Xi.delete(i),Bi(r,ne)},ue))},[r,ne,i,le,ue]);k.useEffect(()=>{le===`render`&&!ce.current&&(ce.current=!0,Bi(r,ne));let e;return le===`viewport`&&i.current&&typeof IntersectionObserver==`function`&&(e=new IntersectionObserver(e=>de(e.pop()),{rootMargin:`100px`}),e.observe(i.current)),()=>{e?.disconnect(),Zi(i)}},[r,ne,le,de,i]);let fe=Ji(e,n);if(fe.ref=t?a:i,oe)return fe.href=oe,fe;let j=e=>{let t=y??e.currentTarget.getAttribute(`target`);!se&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(!t||t===`_self`)&&e.button===0&&(e.preventDefault(),r.navigate({...ne,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:_}))},pe=()=>{le===`intent`&&Bi(r,ne)},me=()=>{le===`intent`&&Zi(i)};return fe.onClick=Qi(b,j),fe.onBlur=Qi(S,me),fe.onFocus=Qi(C,de),fe.onMouseEnter=Qi(w,de),fe.onMouseLeave=Qi(T,me),fe.onTouchStart=Qi(E,pe),Yi(fe,e,A,ae,se,n)}var Gi={},Ki={className:`active`},qi=new Set([`to`,`params`,`search`,`hash`,`state`,`mask`,`from`,`unsafeRelative`,`_fromLocation`,`reloadDocument`,`preload`,`preloadDelay`,`preloadIntentProximity`,`hashScrollIntoView`,`replace`,`startTransition`,`resetScroll`,`viewTransition`,`ignoreBlocker`,`activeProps`,`inactiveProps`,`activeOptions`,`_asChild`]);function Ji(e,t){let n={};for(let r in e)qi.has(r)||r===`type`&&t!==void 0||r===`disabled`&&t===`a`||(n[r]=e[r]);return n}function Yi(e,t,n,r,i,a){let{activeProps:o,inactiveProps:s,className:c,style:l,target:u}=t,d=S(n?o:s,{})??(n?Ki:Gi);Object.assign(e,d),e.href=r,a!==`a`&&(e.disabled=i),e.target=u;let f=d.style;(l||f)&&(e.style=l&&f?{...l,...f}:l||f);let p=d.className;return(c||p)&&(e.className=c?p?`${c} ${p}`:c:p),i&&(e.role=`link`,e[`aria-disabled`]=!0),n&&(e[`data-status`]=`active`,e[`aria-current`]=`page`),e}var Xi=new WeakMap,Zi=e=>{clearTimeout(Xi.get(e)),Xi.delete(e)},Qi=(e,t)=>e?n=>n.defaultPrevented||(e(n),n.defaultPrevented||t(n)):t;function $i(e,t,n){if(n)return;let r=e.maskedLocation??e,i=r.external?r.publicHref:t.history.createHref(r.publicHref)||`/`;if(!r.external&&i===r.publicHref||!h(i,t.protocolAllowlist))return i}var ea=k.memo(k.forwardRef((e,t)=>{let n=e._asChild||`a`,r=Wi(e,t,n),i=typeof e.children==`function`?e.children({isActive:r[`data-status`]===`active`}):e.children;return k.createElement(n,r,i)}),ta);function ta(e,t){let n=0;for(let r in t)if(n++,e[r]!==t[r]&&(!qi.has(r)||!c(e[r],t[r],!1,!0)))return!1;for(let t in e)n--;return n===0}var na=class extends ai{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>Ri({...e,from:this.id}),this.useSearch=e=>Fi({...e,from:this.id}),this.useParams=e=>Pi({...e,from:this.id}),this.useLoaderDeps=e=>Ni({...e,from:this.id}),this.useLoaderData=e=>Mi({...e,from:this.id}),this.useNavigate=()=>Ii({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ea,{ref:t,from:this.fullPath,...e}))}};function ra(e){return new na(e)}var ia=class extends oi{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>Ri({...e,from:this.id}),this.useSearch=e=>Fi({...e,from:this.id}),this.useParams=e=>Pi({...e,from:this.id}),this.useLoaderDeps=e=>Ni({...e,from:this.id}),this.useLoaderData=e=>Mi({...e,from:this.id}),this.useNavigate=()=>Ii({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ea,{ref:t,from:this.fullPath,...e}))}};function aa(e){return new ia(e)}function R(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,o.preload=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),o=function(e){if(i){if(f(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r){if(Dt)Dt(a());else throw a()}return k.createElement(r,e)};return o.preload=a,o}function z(e){let t=g(),n=`not-found-${x(t.stores.location,e=>e.pathname)}-${x(t.stores.status)}`;return(0,A.jsx)(si,{getResetKey:()=>n,onCatch:(t,n)=>{if(zt(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(zt(t))return e.fallback?.(t);throw t},children:e.children})}function oa(){return(0,A.jsx)(`p`,{children:`Not Found`})}function sa(e){return(0,A.jsx)(A.Fragment,{children:e.children})}function ca(e,t,n){return t.options.notFoundComponent?(0,A.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,A.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,A.jsx)(oa,{})}function la(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,A.jsx)(n,{}):null}var ua=(e,t)=>e[0]===t[0]&&e[1]===t[1],da=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,fa=k.memo(function({routeId:e}){let t=g();return(0,A.jsx)(pa,{router:t,match:x(t.stores.getMatchStore(e))})});function pa({router:e,match:t}){let n=e.routesById[t.routeId],r=la(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=da(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s))?k.Suspense:sa,l=i?si:sa,u=o?z:sa;return(0,A.jsxs)(n.isRoot?n.options.shellComponent??sa:sa,{children:[(0,A.jsx)(D.Provider,{value:t.routeId,children:(0,A.jsx)(c,{fallback:r,children:(0,A.jsx)(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(zt(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:(0,A.jsx)(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return k.createElement(o,e)},children:s?(0,A.jsx)(di,{fallback:r,children:(0,A.jsx)(ma,{match:t})}):(0,A.jsx)(ma,{match:t})})})})}),null]})}var ma=k.memo(function({match:e}){let t=g(),n=e.routeId,r=t.routesById[n],i=k.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=k.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,A.jsx)(e,{},i):(0,A.jsx)(ha,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!da(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return la(t,r)}if(e.status===`notFound`)return ca(t,r,e.error);if(e.status===`error`)throw e.error;return a}),ha=k.memo(function(){let e=g(),t=k.useContext(D),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=x(a,e=>[!!e._notFound,e.error],{compare:ua}),i=x(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return ca(e,e.routesById[t],r);if(!i)return null;let a=(0,A.jsx)(fa,{routeId:i});return t===`__root__`?(0,A.jsx)(k.Suspense,{fallback:la(e),children:a}):a});function ga(e,t){let n=e[1];e.length=0,n?.(t)}function _a({t:e}){let t=g(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{ga(n,!1),n.push(i,a),e(t),k.startTransition(r)}),Ot(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(jt(r.publicHref)!==jt(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Zn(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function va(){let e=g(),t=e.routesById[cn],n=la(e,t),r=e.ssr?sa:k.Suspense,i=(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(_a,{t:k.useState()[1]}),(0,A.jsx)(r,{fallback:n,children:(0,A.jsx)(ya,{})})]});return e.options.InnerWrap?(0,A.jsx)(e.options.InnerWrap,{children:i}):i}function ya(){let e=g(),t=e._rendered,n=x(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;Ot(()=>{t[0]===n&&ga(t,!0)},[t,n]);let a=i?(0,A.jsx)(fa,{routeId:i}):null;return(0,A.jsx)(D.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,A.jsx)(si,{getResetKey:()=>r,onCatch:void 0,children:a})})}var ba=e=>({createMutableStore:Ai,createReadonlyStore:Ai,batch:Di}),xa=e=>new Sa(e),Sa=class extends tr{constructor(e){super(e,ba)}};function Ca({router:e,children:t,...n}){u(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,A.jsx)(y.Provider,{value:e,children:t});return e.options.Wrap?(0,A.jsx)(e.options.Wrap,{children:r}):r}function wa({router:e,...t}){return(0,A.jsx)(Ca,{router:e,...t,children:(0,A.jsx)(va,{})})}function Ta(e){let t=g({warn:e?.router===void 0}),n=e?.router||t;return x(n.stores.__store,E(e,n))}var Ea=ae(),B=n();function Da(e){let t=(0,B.c)(6),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,A.jsx)(`p`,{className:`schild text-lg text-rot`,children:`Diese Ansicht ist abgestürzt`}),t[0]=r):r=t[0];let i=n instanceof Error?n.message:String(n),a;t[1]===i?a=t[2]:(a=(0,A.jsx)(`p`,{className:`text-[15px]`,children:i}),t[1]=i,t[2]=a);let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,A.jsx)(`button`,{type:`button`,onClick:Oa,className:`schild h-11 rounded-lg border border-rot-rand px-5 text-sm text-foreground hover:bg-[#3a1512]`,children:`Neu laden`}),t[3]=o):o=t[3];let s;return t[4]===a?s=t[5]:(s=(0,A.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-2xl border border-rot-rand bg-rot-grund p-6 text-rot-text`,children:[r,a,o]}),t[4]=a,t[5]=s),s}function Oa(){return window.location.reload()}var ka=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function Aa(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:ka(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var ja=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},Ma=e=>{let t=ja(e);return t.charAt(0).toUpperCase()+t.slice(1)},Na=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Pa={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Fa(e){return e!=null}function Ia(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Pa.width,a=e.size??e.height??Pa.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Na(...c):Na(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Pa[`stroke-width`])*Number(e.size??e.width??Pa.width)/Number(t.size??t.width??Pa.width):t.strokeWidth??Pa[`stroke-width`];return[`svg`,{...Object.entries(Pa).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Fa(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Fa(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Fa(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function La(e,t={}){return Ia(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var Ra=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},za=(0,k.createContext)({}),Ba=()=>(0,k.useContext)(za),Va=(0,k.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:_=`currentColor`,className:v=``}=Ba()??{},y=!!c||Ra(d),[b,x,S=[]]=La(u,{color:e??_,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Na(v,s),hasA11yProp:y,attributes:d});return(0,k.createElement)(b,{ref:f,...x},[...S.map(([e,t])=>(0,k.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function Ha(e,t=[],n=[]){let r=typeof e==`string`?Aa(e,t,n):e,i=(0,k.forwardRef)(({className:e,...t},n)=>(0,k.createElement)(Va,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Ma(r.name)),i}var Ua={name:`activity`,size:24,node:[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]};Ua.node;var Wa=Ha(Ua),Ga={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Ga.node;var Ka=Ha(Ga),qa={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};qa.node;var Ja=Ha(qa),Ya={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Ya.node;var Xa=Ha(Ya),Za={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};Za.node;var Qa=Ha(Za),$a={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};$a.node;var eo=Ha($a),to={name:`gauge`,size:24,node:[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]};to.node;var no=Ha(to),ro={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};ro.node;var io=Ha(ro),ao={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};ao.node;var oo=Ha(ao),so={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};so.node;var co=Ha(so),lo={name:`scroll-text`,size:24,node:[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]};lo.node;var uo=Ha(lo),fo={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};fo.node;var po=Ha(fo),mo={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};mo.node;var ho=Ha(mo),go=[`/api/instanz`,`/api/partner`,`/api/health`],_o=(e,t)=>e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`);function vo(e,t){return!e.startsWith(`/api/`)||go.some(t=>_o(e,t))||(_o(e,`/api/homelab`)?`homelab`:`box`)===t?e:`/api/partner${e.slice(4)}`}var yo=null;function bo(){return yo??=fetch(`/api/instanz`,{headers:{Accept:`application/json`}}).then(e=>e.ok?e.json():Promise.reject(Error(String(e.status)))).then(e=>e.rolle===`homelab`?`homelab`:`box`).catch(()=>(yo=null,`box`)),yo}var xo=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.detail=t,this.name=`ApiFehler`}};function So(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`)return t;if(Array.isArray(t))return t.map(e=>e.msg??String(e)).join(`; `)}return`Die Box antwortet mit Fehler ${t}.`}async function V(e,t={}){let n=vo(e,await bo()),r;try{r=await fetch(n,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}})}catch{throw new xo(0,`MC2 ist nicht erreichbar. Läuft die Box?`)}let i=await r.text(),a=i?Co(i):null;if(!r.ok)throw new xo(r.status,So(a,r.status));if(typeof a==`string`)throw new xo(r.status,`Die Box antwortet nicht mit Daten.`);return a}function Co(e){try{return JSON.parse(e)}catch{return e}}var wo=(e,t)=>V(e,{method:`POST`,body:t===void 0?void 0:JSON.stringify(t)}),To=100,Eo=95,Do=210,Oo=240;function ko(e,t){let n=e*Math.PI/180;return[To+t*Math.cos(n),Eo-t*Math.sin(n)]}var Ao=e=>Math.round(e*100)/100;function jo(e,t,n){let r=Math.max(0,Math.min(1,e)),i=Math.max(r,Math.min(1,t)),[a,o]=ko(Do-Oo*r,n),[s,c]=ko(Do-Oo*i,n),l=+((i-r)*Oo>180);return`M ${Ao(a)} ${Ao(o)} A ${n} ${n} 0 ${l} 1 ${Ao(s)} ${Ao(c)}`}function Mo(e){return e==null?`var(--text-3)`:e>=85?`var(--rot)`:e>=70?`var(--bernstein)`:`var(--gruen)`}var No={ok:`border-gruen-rand bg-gruen-grund text-gruen`,info:`border-cyan-rand bg-cyan-grund text-cyan`,stumm:`border-aus-rand bg-aus-grund text-aus-text`,gelb:`border-2 border-bernstein bg-bernstein-grund text-bernstein-hell lampe-atmet`,rot:`border-2 border-rot bg-rot-grund text-rot shadow-[0_0_32px_rgba(255,90,79,0.3)]`};function Po(e){if(!e.waechter_wach)return{art:`stumm`,oben:`Wächter`,mitte:`SCHWEIGT`,unten:`Seit über 5 Minuten kein Prüflauf`};if(e.update_laeuft)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Hinweise ruhen bis zum Ende`};if(e.anzahl===0)return{art:`ok`,oben:`Alles`,mitte:`IN ORDNUNG`,unten:`Keine offenen Hinweise`};let t=`${e.anzahl} HINWEIS${e.anzahl===1?``:`E`}`;return e.stufe===`rot`?{art:`rot`,oben:`Störung`,mitte:t,unten:`Drücken zum Ansehen`}:{art:`gelb`,oben:`Achtung`,mitte:t,unten:`Drücken zum Ansehen`}}function Fo(e,t){let n=`„${e.titel}“:`;switch(t.id){case`protokoll`:return null;case`neustart`:return e.id.startsWith(`timer:`)?{titel:`${t.label}?`,text:`${n} Der Dienst läuft sofort noch einmal.`,knopf:t.label}:{titel:`${t.label}?`,text:`${n} Der Dienst wird ${/^starten/i.test(t.label)?`gestartet`:`neu gestartet`} und ist dabei kurz nicht erreichbar.`,knopf:t.label};case`job-wiederholen`:return{titel:`Job erneut ausführen?`,text:`${n} Hermes führt den Job sofort noch einmal aus, mit allem, was er sonst auch tut — etwa Nachrichten verschicken.`,knopf:t.label};case`freigeben`:return{titel:`Update freigeben?`,text:`${n} Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`,knopf:t.label};default:return{titel:`${t.label}?`,text:`${n} ${t.label}.`,knopf:t.label}}}function Io(e){return e?.status===`busy`?e.running?`Es läuft schon ein Update („${e.running}“). Warte, bis es fertig ist.`:`Es läuft schon ein Update. Warte, bis es fertig ist.`:e?.detail||e?.err||e?.error||e?.text||`Das hat nicht geklappt.`}var Lo=e=>e.state===`running`||e.state===`queued`;function Ro(e){let t=e.aliases.map(e=>e.toLowerCase());return t.includes(`hermes`)||t.includes(`fast`)?`hirn`:t.includes(`coder`)?`coder`:null}var zo={neu:`Neu`,wartet:`Wartet`,getestet:`Gemessen`,bestanden:`Bestanden`,durchgefallen:`Durchgefallen`,uebernommen:`Übernommen`,verworfen:`Verworfen`};function Bo(e,t=``){if(e==null||e===``)return`–`;let n=typeof e==`number`?e.toLocaleString(`de-DE`,{maximumFractionDigits:+(e<10)}):String(e);return t?`${n} ${t}`:n}var Vo=[],H=1,U=new Set,Ho=()=>U.forEach(e=>e());function Uo(e,t){let n=H++;Vo=[...Vo,{id:n,art:e,text:t}].slice(-4),Ho(),e!==`fehler`&&window.setTimeout(()=>Wo(n),6e3)}function Wo(e){Vo=Vo.filter(t=>t.id!==e),Ho()}var Go=()=>(0,k.useSyncExternalStore)(Ko,qo);function Ko(e){return U.add(e),()=>{U.delete(e)}}function qo(){return Vo}var Jo=2e3,Yo=3e4,Xo=2e4,Zo=`verbinde`,Qo=null,$o=new Set,es=()=>$o.forEach(e=>e());function ts(e){return $o.add(e),()=>{$o.delete(e)}}var ns=()=>Zo===`live`,rs=()=>(0,k.useSyncExternalStore)(ts,ss),is=()=>(0,k.useSyncExternalStore)(ts,cs);function as(e){e!==Zo&&(Zo=e,es())}function os(){let e=se();(0,k.useEffect)(()=>{let t=null,n,r,i=Date.now(),a=Jo,o=!1;function s(){o||(window.clearTimeout(n),n=window.setTimeout(l,a),a=Math.min(a*2,Yo))}function c(){i=Date.now(),window.clearTimeout(r),r=window.setTimeout(()=>{t?.close(),as(`getrennt`),s()},Xo)}function l(){window.clearTimeout(n),window.clearTimeout(r),t?.close();let i=new EventSource(`/api/stream`);t=i,i.onopen=()=>{a=Jo,as(`live`),c(),e.invalidateQueries()},i.onerror=()=>{as(`getrennt`),i.readyState===EventSource.CLOSED&&(window.clearTimeout(r),s())},i.addEventListener(`invalidate`,t=>{c();try{let n=JSON.parse(t.data)?.keys??[];for(let t of n)e.invalidateQueries({queryKey:[t]})}catch{}}),i.addEventListener(`metrik`,e=>{c();try{Qo=JSON.parse(e.data),es()}catch{}})}let u=()=>{o||document.visibilityState!==`visible`||(t?.readyState===EventSource.CLOSED||Date.now()-i>5e3)&&(a=Jo,l())};return l(),window.addEventListener(`online`,u),document.addEventListener(`visibilitychange`,u),()=>{o=!0,window.clearTimeout(n),window.clearTimeout(r),window.removeEventListener(`online`,u),document.removeEventListener(`visibilitychange`,u),t?.close(),as(`getrennt`)}},[e])}function ss(){return Zo}function cs(){return Qo}var ls=`Europe/Berlin`,us=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:ls}),ds=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:ls}),fs=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:ls}),ps=new Intl.DateTimeFormat(`en-CA`,{timeZone:ls});function ms(e){return ps.format(e)}function hs(e,t=new Date){let n=new Date(e);if(Number.isNaN(n.getTime()))return`–`;let r=ms(t),i=ms(new Date(t.getTime()-864e5)),a=ms(new Date(t.getTime()+864e5)),o=ms(n),s=us.format(n);return o===r?`HEUTE ${s}`:o===i?`GESTERN ${s}`:o===a?`MORGEN ${s}`:Math.abs(n.getTime()-t.getTime())<5616e5?`${ds.format(n).replace(`.`,``).toUpperCase()} ${s}`:`${fs.format(n)} ${s}`}function gs(e,t=new Date){let n=new Date(e*1e3);return ms(n)===ms(t)?`seit heute ${us.format(n)}`:`seit ${fs.format(n)}, ${us.format(n)}`}function _s(e,t=Date.now()){let n=Math.max(0,Math.round(t/1e3-e));if(n<60)return`vor ${n} s`;if(n<3600)return`vor ${Math.round(n/60)} min`;if(n<86400)return`vor ${Math.round(n/3600)} h`;let r=Math.round(n/86400);return`vor ${r} ${r===1?`Tag`:`Tagen`}`}function vs(e){return e==null||e<0?null:[Math.floor(e/86400),Math.floor(e%86400/3600)]}var ys=e=>e==null?null:e/1024**3;function bs(e,t=0){let n=ys(e);return n==null?`–`:n>=1e3?`${(n/1024).toFixed(1).replace(`.`,`,`)} TB`:`${n.toFixed(t).replace(`.`,`,`)} GB`}var xs=e=>e.toLocaleString(`de-DE`),Ss=e=>()=>ns()?e*5:e;function Cs(e,t){let n=e.getQueryData([`jobs`])?.jobs??[],r=t.filter(e=>!Lo(e)&&n.some(t=>t.id===e.id&&Lo(t)));if(r.length===0)return;let i=new Set([`start`]);for(let e of r){let t=e.group===`download`||/^download\s/i.test(e.label);for(let e of t?[`models`,`aufraeumen`]:[`update-details`,`updates-verlauf`,`sicherungen`])i.add(e)}for(let t of i)e.invalidateQueries({queryKey:[t]})}var ws=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`start`],queryFn:bc,refetchInterval:xc},e[0]=t):t=e[0],I(t)},Ts=()=>{let e=(0,B.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`models`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:Sc,refetchInterval:Ss(3e4)},e[1]=n):n=e[1],I(n)},Es=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`nutzung`],queryFn:Cc,refetchInterval:6e5},e[0]=t):t=e[0],I(t)},Ds=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`radar`],queryFn:wc,retry:!1,refetchInterval:3e5},e[0]=t):t=e[0],I(t)},Os=()=>{let e=(0,B.c)(3),t=se(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`jobs`],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r={queryKey:n,queryFn:async()=>{let e=await V(`/api/jobs`);return Cs(t,e.jobs),e},refetchInterval:Tc},e[1]=t,e[2]=r),I(r)},ks=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`sicherungen`],queryFn:Ec},e[0]=t):t=e[0],I(t)},As=e=>{let t=(0,B.c)(4),n;t[0]===e?n=t[1]:(n=e.map(Dc),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r={queries:n},t[2]=n,t[3]=r),wt(r)},js=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`updates-verlauf`],queryFn:Oc},e[0]=t):t=e[0],I(t)},Ms=e=>{let t=(0,B.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`protokoll`,e],r=()=>V(`/api/maintenance/logs?service=${encodeURIComponent(e??``)}&lines=200`),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],I(a)},Ns=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`dienste`],queryFn:kc},e[0]=t):t=e[0],I(t)};function Ps(e,t){let n=(0,B.c)(6),r=se(),i;n[0]!==t||n[1]!==r?(i=(e,n)=>{let i=e;i&&i.ok===!1?Uo(`fehler`,t.fehler?.(n,i)??Io(i)):Uo(`erfolg`,t.erfolg(n,e));for(let e of t.neuLaden)r.invalidateQueries({queryKey:[e]})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let a;return n[3]!==e||n[4]!==i?(a={mutationFn:e,onSuccess:i,onError:Fs},n[3]=e,n[4]=i,n[5]=a):a=n[5],Et(a)}function Fs(e){return Uo(`fehler`,e.message)}var Is=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:jc,neuLaden:[`start`]},e[0]=t):t=e[0],Ps(Ac,t)},Ls={alle:`/api/maintenance/update-all`,pruefen:`/api/maintenance/check-updates`,os:`/api/maintenance/os-update`,engine:`/api/maintenance/engine-update`,swap:`/api/maintenance/swap-update`,hermes:`/api/maintenance/hermes-update`},Rs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Nc,neuLaden:[`jobs`,`start`]},e[0]=t):t=e[0],Ps(Mc,t)},zs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Fc,fehler:Ic,neuLaden:[`jobs`]},e[0]=t):t=e[0],Ps(Pc,t)},Bs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Rc,neuLaden:[`jobs`,`models`]},e[0]=t):t=e[0],Ps(Lc,t)},Vs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`aufraeumen`],queryFn:zc,staleTime:6e4},e[0]=t):t=e[0],I(t)},Hs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vc,neuLaden:[`aufraeumen`,`models`,`start`]},e[0]=t):t=e[0],Ps(Bc,t)},Us=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Uc,neuLaden:[`start`]},e[0]=t):t=e[0],Ps(Hc,t)},Ws=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Gc,fehler:Kc,neuLaden:[`sicherungen`,`start`]},e[0]=t):t=e[0],Ps(Wc,t)},Gs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Jc,neuLaden:[`sicherungen`]},e[0]=t):t=e[0],Ps(qc,t)},Ks=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Xc,neuLaden:[`models`,`start`]},e[0]=t):t=e[0],Ps(Yc,t)},qs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Qc,neuLaden:[`radar`,`models`,`start`]},e[0]=t):t=e[0],Ps(Zc,t)},Js=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:el,neuLaden:[`jobs`]},e[0]=t):t=e[0],Ps($c,t)},Ys=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`instanz`],queryFn:tl,staleTime:1/0},e[0]=t):t=e[0],I(t)},Xs=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`partner`],queryFn:nl,refetchInterval:3e4},e[0]=t):t=e[0],I(t)},Zs=()=>{let e=(0,B.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`ziele-box`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:rl,refetchInterval:Ss(3e4)},e[1]=n):n=e[1],I(n)},Qs=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:il,enabled:e,refetchInterval:3e4},t[1]=e,t[2]=r),I(r)},$s=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-laeufe`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:al,enabled:e,refetchInterval:sl},t[1]=e,t[2]=r),I(r)},ec=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ll,neuLaden:[`homelab`,`homelab-laeufe`,`ziele-box`,`jobs`,`start`]},e[0]=t):t=e[0],Ps(cl,t)},tc=e=>{let t=(0,B.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-hinweise`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Ss(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:ul,enabled:e,refetchInterval:r},t[2]=e,t[3]=i),I(i)},nc=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:dl,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},rc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:pl,neuLaden:[`einstellungen`,`start`]},e[0]=t):t=e[0],Ps(fl,t)},ic=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:hl,neuLaden:[`einstellungen`,`start`,`radar`]},e[0]=t):t=e[0],Ps(ml,t)},ac=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:_l,neuLaden:[]},e[0]=t):t=e[0],Ps(gl,t)},oc=(e,t)=>{let n=(0,B.c)(9),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`stand`,`hier`],n[0]=r):r=n[0];let i;n[1]===e?i=n[2]:(i={queryKey:r,queryFn:W,enabled:e},n[1]=e,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=[`stand`,`partner`],n[3]=a):a=n[3];let o=e&&t,s;n[4]===o?s=n[5]:(s={queryKey:a,queryFn:vl,enabled:o,retry:!1},n[4]=o,n[5]=s);let c;return n[6]!==i||n[7]!==s?(c={queries:[i,s]},n[6]=i,n[7]=s,n[8]=c):c=n[8],wt(c)},sc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`altreste`],queryFn:yl,staleTime:6e4},e[0]=t):t=e[0],I(t)},cc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:xl,neuLaden:[`altreste`,`start`]},e[0]=t):t=e[0],Ps(bl,t)},lc={"1h":6e4,"24h":3e5,"7d":9e5},uc=(e,t)=>{let n=(0,B.c)(8),r=t===void 0||t,i,a;n[0]===e?(i=n[1],a=n[2]):(i=[`messwerte`,`box`,e],a=()=>V(`/api/messwerte?zeitraum=${e}`),n[0]=e,n[1]=i,n[2]=a);let o=lc[e],s;return n[3]!==r||n[4]!==i||n[5]!==a||n[6]!==o?(s={queryKey:i,queryFn:a,enabled:r,refetchInterval:o,placeholderData:Sl,retry:!1},n[3]=r,n[4]=i,n[5]=a,n[6]=o,n[7]=s):s=n[7],I(s)},dc=(e,t)=>{let n=(0,B.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):(r=[`messwerte`,`homelab`,e],i=()=>V(`/api/homelab/messwerte?zeitraum=${e}`),n[0]=e,n[1]=r,n[2]=i);let a=lc[e],o;return n[3]!==t||n[4]!==r||n[5]!==i||n[6]!==a?(o={queryKey:r,queryFn:i,enabled:t,refetchInterval:a,placeholderData:Cl,retry:!1},n[3]=t,n[4]=r,n[5]=i,n[6]=a,n[7]=o):o=n[7],I(o)},fc=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammelplan`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:wl,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},pc=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammellauf`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Tl,enabled:e,refetchInterval:El,retry:!1},t[1]=e,t[2]=r),I(r)},mc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ol,neuLaden:[`homelab-sammellauf`,`homelab-laeufe`,`homelab`]},e[0]=t):t=e[0],Ps(Dl,t)},hc=(e,t)=>{let n=(0,B.c)(8),r,i;n[0]===t?(r=n[1],i=n[2]):(r=[`homelab-protokoll`,t],i=()=>V(`/api/homelab/protokoll?grenze=300&berichte=${+!!t}`),n[0]=t,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=Ss(3e4),n[3]=a):a=n[3];let o;return n[4]!==e||n[5]!==r||n[6]!==i?(o={queryKey:r,queryFn:i,enabled:e,refetchInterval:a,retry:!1},n[4]=e,n[5]=r,n[6]=i,n[7]=o):o=n[7],I(o)},gc=e=>{let t=(0,B.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-speicher`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Ss(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:kl,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},_c=e=>{let t=(0,B.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Al,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},vc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ml,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Ps(jl,t)},yc=()=>{let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Pl,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Ps(Nl,t)};function bc(){return V(`/api/start`)}function xc(e){return e.state.data&&!e.state.data.updates.gelesen?4e3:Ss(2e4)()}function Sc(){return V(`/api/models`)}function Cc(){return V(`/api/modelle/nutzung`)}function wc(){return V(`/api/radar`)}function Tc(e){return e.state.data?.jobs.some(Lo)?2e3:Ss(3e4)()}function Ec(){return V(`/api/zeitmaschine`)}function Dc(e){return{queryKey:[`update-details`,e],queryFn:()=>V(`/api/maintenance/update-details?kind=${encodeURIComponent(e)}`),staleTime:6e5}}function Oc(){return V(`/api/updates/verlauf`)}function kc(){return V(`/api/system/services`)}function Ac(e){let{hinweis:t,aktion:n}=e;return wo(`/api/hinweise/${encodeURIComponent(t)}/aktion/${n}`)}function jc(e,t){return e.aktion===`freigeben`&&t.text?t.text:`${e.label}: erledigt. Der Wächter prüft in einer Minute nach.`}function Mc(e){return wo(Ls[e])}function Nc(e){return e===`pruefen`?`Die Suche nach Neuem läuft. Den Fortschritt siehst du unten bei den Aufträgen.`:`Das Update läuft. Den Fortschritt siehst du unten bei den Aufträgen.`}function Pc(e){let{id:t}=e;return wo(`/api/jobs/${encodeURIComponent(t)}/cancel`)}function Fc(e){return`${e.titel}: wird abgebrochen.`}function Ic(e){return`${e.titel} lief schon nicht mehr.`}function Lc(e){let{repo:t,quant:n,rolle:r}=e;return wo(`/api/models/install`,{repo:t,quant:n,role:r})}function Rc(e,t){return`${e.repo} (${e.quant}) wird heruntergeladen${t.total_bytes?`, ${bs(t.total_bytes,1)}`:``}. Den Fortschritt siehst du unter Aufträge.`}function zc(){return V(`/api/modelle/aufraeumen`)}function Bc(e){return wo(`/api/modelle/aufraeumen/loeschen`,{art:e.art,name:e.name})}function Vc(e,t){return t.text??`Gelöscht.`}function Hc(e){return wo(`/api/updates/festgehalten/${encodeURIComponent(e)}/freigeben`)}function Uc(e,t){return t.text??`Freigegeben.`}function Wc(){return wo(`/api/system/backup`)}function Gc(e,t){return t.size_mb==null?`Sicherung erstellt.`:`Sicherung erstellt (${t.size_mb.toLocaleString(`de-DE`)} MB).`}function Kc(e,t){return`Die Sicherung ging nicht: ${Io(t)}`}function qc(e){return wo(`/api/zeitmaschine/restore`,{file:e})}function Jc(){return`Zurückspielen läuft. Die Dienste starten gleich neu.`}function Yc(e){return wo(`/api/models/${encodeURIComponent(e)}/load`)}function Xc(e){return`${e} wird geladen.`}function Zc(e){let{id:t,aktion:n}=e;return wo(`/api/radar/${encodeURIComponent(t)}/${n}`)}function Qc(e){return e.aktion===`uebernehmen`?`${e.name} übernommen.`:`${e.name} verworfen.`}function $c(){return wo(`/api/radar/suche`)}function el(e,t){return t.text??`Das Radar sucht jetzt nach neuen Modellen.`}function tl(){return V(`/api/instanz`)}function nl(){return V(`/api/partner`)}function rl(){return V(`/api/ziele`)}function il(){return V(`/api/homelab/ziele`)}function al(){return V(`/api/homelab/laeufe`)}function ol(e){return e.status===`laeuft`}function sl(e){return e.state.data?.laeufe.some(ol)?3e3:3e4}function cl(e){return V(e.pfad,{method:e.methode})}function ll(e){return`${e.label}: gestartet. Das Ergebnis kommt als Meldung.`}function ul(){return V(`/api/homelab/hinweise`)}function dl(){return V(`/api/einstellungen`)}function fl(e){return wo(`/api/einstellungen/update-fenster`,e)}function pl(e,t){return t.text??`Gespeichert.`}function ml(e){return wo(`/api/einstellungen/radar`,{an:e})}function hl(e,t){return t.text??`Geschaltet.`}function gl(e){return wo(e===`homelab`?`/api/homelab/einstellungen/telegram-test`:`/api/einstellungen/telegram-test`)}function _l(e,t){return t.text??`Die Testmeldung ist raus.`}function W(){return V(`/api/instanz`)}function vl(){return V(`/api/partner/instanz`)}function yl(){return V(`/api/aufraeumen/altreste`)}function bl(e){return wo(`/api/aufraeumen/altreste/loeschen`,{id:e.id})}function xl(e,t){return t.text??`Gelöscht.`}function Sl(e){return e}function Cl(e){return e}function wl(){return V(`/api/homelab/alle/plan`)}function Tl(){return V(`/api/homelab/sammellauf`)}function El(e){return e.state.data?.sammellauf?.status===`laeuft`?5e3:6e4}function Dl(){return wo(`/api/homelab/alle`)}function Ol(){return`Alle aktualisieren: gestartet. Die Schritte laufen nacheinander; das Ergebnis kommt als Meldung.`}function kl(){return V(`/api/homelab/speicher`)}function Al(){return V(`/api/homelab/einstellungen`)}function jl(e){return e===null?V(`/api/homelab/einstellungen/arcane-schluessel`,{method:`DELETE`}):wo(`/api/homelab/einstellungen/arcane-schluessel`,{schluessel:e})}function Ml(e,t){return t.text??(e===null?`Arcane-Schlüssel entfernt.`:`Arcane-Schlüssel gespeichert.`)}function Nl(e){return wo(`/api/homelab/einstellungen/arcane-echt`,{an:e})}function Pl(e){return e?`Docker-Updates über Arcane laufen jetzt echt.`:`Docker-Updates über Arcane sind wieder nur ein Probelauf.`}var Fl={"ki-box":`KI-Box`,"proxmox-host":`Proxmox-Host`,container:`Container`,vm:`VM`};function Il(e){let t=e.id.match(/-(\d+)$/)?.[1],n=Fl[e.art]??e.art;return t?`${n} ${t}`:n}var Ll={"Proxmox-Host":`Proxmox`,"AdGuard Home":`AdGuard`,"PVE Scripts Local":`PVE Scripts`,"Proxmox Backup Server":`PBS`,"Arcane (Docker)":`Arcane`},Rl=e=>Ll[e.name]??e.name,zl=new Set([`app`,`arcane`]),Bl=e=>e.bausteine.find(e=>zl.has(e.id))??null,Vl=e=>e.bausteine.find(e=>!zl.has(e.id))??null;function Hl(e){let t=e.flatMap(e=>e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({ziel:e,baustein:t})));return[...t.filter(e=>e.baustein.aktion),...t.filter(e=>!e.baustein.aktion)]}function Ul(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);return t.some(e=>e.aktion)?0:t.length>0?1:e.bausteine.some(e=>e.zustand===`unbekannt`)?2:3}function Wl(e){let t=e.rueckweg_art??Gl(e.rueckweg);return t===`snapshot`?`Snapshot vorher, bei Rot zurück`:t===`sicherung`?`Sicherung vorher, bei Rot zurück`:e.art===`proxmox-host`?`Kein Rückweg, Neustart getrennt`:`Kein automatischer Rückweg`}function Gl(e){let t=(e??``).toLowerCase();return t.startsWith(`snapshot vor`)?`snapshot`:t.startsWith(`sicherung`)?`sicherung`:`keiner`}var Kl=e=>zl.has(e.id),ql=e=>e.replace(/^Image vom /,``);function Jl(e){return Kl(e)&&e.verfuegbar?e.verfuegbar:e.kurz||e.verfuegbar||`neu`}function Yl(e){let t=e.platte;return t&&t.gesamt>0?t.belegt/t.gesamt:null}function Xl(e,t){let n=Rl(e),r=Yl(e);if(e.erreichbar===!1)return{id:e.id,label:n,zustand:`fehler`,wert:`antwortet nicht`};if(r!==null&&r>=.9)return{id:e.id,label:n,zustand:`fehler`,wert:`Platte voll`};if(t)return{id:e.id,label:n,zustand:`info`,wert:`Update läuft`};if(r!==null&&r>=.8)return{id:e.id,label:n,zustand:`warn`,wert:`Platte ${Math.round(r*100)} %`};let i=e.bausteine.filter(e=>e.zustand===`neu`);if(i.length>0){let t=i.find(e=>zl.has(e.id))??i[0];return{id:e.id,label:n,zustand:`info`,wert:zl.has(t.id)&&t.verfuegbar?`→ ${t.verfuegbar}`:Jl(t)}}let a=Bl(e);return{id:e.id,label:n,zustand:`ok`,wert:a?.installiert?ql(a.installiert):`aktuell`}}var Zl=e=>`${e} HINWEIS${e===1?``:`E`}`;function Ql(e,t,n,r){let i=e.ziele.filter(e=>e.erreichbar===!1);if(i.length>0)return{art:`rot`,oben:`Störung`,mitte:i.length===1?`1 GERÄT STUMM`:`${i.length} GERÄTE STUMM`,unten:i.map(Rl).join(`, `),ziel:`geraete`};if(t.some(e=>e.stufe===`rot`))return{art:`rot`,oben:`Störung`,mitte:Zl(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(!e.ausfuehrer.verbunden)return{art:`gelb`,oben:`Achtung`,mitte:`AUSFÜHRER STUMM`,unten:`Die Geräte zeigen den letzten Stand`,ziel:null};if(t.length>0)return{art:`gelb`,oben:`Achtung`,mitte:Zl(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(n>0)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Das Ergebnis kommt als Meldung`,ziel:`updates`};let a=Hl(e.ziele).filter(e=>e.baustein.aktion).length;return a>0?{art:`info`,oben:`Homelab`,mitte:`${a} UPDATE${a===1?``:`S`}`,unten:`Drücken zum Ansehen`,ziel:`updates`}:{art:`ok`,oben:`Homelab`,mitte:`ALLES AKTUELL`,unten:r?`Stand ${r}`:`Keine offenen Updates`,ziel:null}}function $l(e){return e?.match(/vom (\d{2}\.\d{2}\.\d{4})/)?.[1]??null}var eu=[{id:`box`,name:`KI-Box`},{id:`homelab`,name:`Homelab`}],tu=[{to:`/`,label:`Übersicht`,Icon:io,ort:`uebersicht`},{to:`/box`,label:`Cockpit`,Icon:no,ort:`box`},{to:`/box/updates`,label:`Updates`,Icon:co,ort:`box`,zaehlt:!0},{to:`/box/modelle`,label:`Modelle`,Icon:Qa,ort:`box`},{to:`/box/monitoring`,label:`Monitoring`,Icon:Wa,ort:`box`},{to:`/homelab`,label:`Cockpit`,Icon:no,ort:`homelab`},{to:`/homelab/updates`,label:`Updates`,Icon:co,ort:`homelab`,zaehlt:!0},{to:`/homelab/monitoring`,label:`Monitoring`,Icon:Wa,ort:`homelab`},{to:`/homelab/protokoll`,label:`Protokoll`,Icon:uo,ort:`homelab`},{to:`/einstellungen`,label:`Einstellungen`,Icon:po,ort:`system`}],nu={uebersicht:`Auf einen Blick`,box:`KI-Box`,homelab:`Homelab`,system:`Beide Instanzen`};function ru(){let e=(0,B.c)(2),t=Ta({select:iu}).replace(/\/+$/,``)||`/`,n;return e[0]===t?n=e[1]:(n=tu.find(e=>e.to===t)??tu[0],e[0]=t,e[1]=n),n}function iu(e){return e.location.pathname}function G(){let e=(0,B.c)(19),t=Ys(),n=Xs(),r=rs(),i=t.data?.rolle===`homelab`?`homelab`:`box`,a=r===`live`?`online`:r,o=n.data,s=o?o.eingerichtet?o.erreichbar?`online`:`getrennt`:`fehlt`:`verbinde`,c;e[0]!==a||e[1]!==s||e[2]!==i?(c=i===`box`?{box:a,homelab:s}:{box:s,homelab:a},e[0]=a,e[1]=s,e[2]=i,e[3]=c):c=e[3];let l=c,u=Zs(),d=Qs(l.homelab===`online`),f;e[4]===u.data?.ziele?f=e[5]:(f=u.data?.ziele??[],e[4]=u.data?.ziele,e[5]=f);let p;e[6]===f?p=e[7]:(p=f.reduce(ou,0),e[6]=f,e[7]=p);let m=p,h;e[8]===d.data?.ziele?h=e[9]:(h=Hl(d.data?.ziele??[]).filter(au),e[8]=d.data?.ziele,e[9]=h);let g=h.length,_;e[10]!==m||e[11]!==l.box?(_={verbindung:l.box,updates:m},e[10]=m,e[11]=l.box,e[12]=_):_=e[12];let v;e[13]!==g||e[14]!==l.homelab?(v={verbindung:l.homelab,updates:g},e[13]=g,e[14]=l.homelab,e[15]=v):v=e[15];let y;return e[16]!==_||e[17]!==v?(y={box:_,homelab:v},e[16]=_,e[17]=v,e[18]=y):y=e[18],y}function au(e){return e.baustein.aktion}function ou(e,t){return e+t.bausteine.filter(su).length}function su(e){return e.zustand===`neu`&&e.aktion}var cu={erfolg:`border-gruen-rand bg-gruen-grund text-gruen-text`,fehler:`border-rot-rand bg-rot-grund text-rot-text`,info:`border-cyan-rand bg-cyan-grund text-cyan-text`};function lu(){let e=(0,B.c)(4),t=Go(),n;e[0]===t?n=e[1]:(n=t.map(uu),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,A.jsx)(`div`,{"aria-live":`polite`,className:`pointer-events-none fixed right-4 bottom-24 left-4 z-50 flex flex-col items-end gap-2 md:left-auto md:w-[420px] lg:bottom-6`,children:n}),e[2]=n,e[3]=r),r}function uu(e){return(0,A.jsxs)(`div`,{role:e.art===`fehler`?`alert`:`status`,className:a(`pointer-events-auto flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-[15px] shadow-lg`,cu[e.art]),children:[(0,A.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.text}),(0,A.jsx)(`button`,{type:`button`,onClick:()=>Wo(e.id),"aria-label":`Meldung schließen`,className:`-m-2 p-2 opacity-70 hover:opacity-100`,children:(0,A.jsx)(ho,{className:`size-4`})})]},e.id)}var du={online:{punkt:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,text:`online`},verbinde:{punkt:`bg-bernstein`,text:`verbinde`},getrennt:{punkt:`bg-rot`,text:`getrennt`},fehlt:{punkt:`bg-text-3`,text:`nicht eingerichtet`}},fu={uebersicht:{aktiv:`!border-bernstein bg-bernstein-grund`,symbol:`group-data-[status=active]:text-bernstein`},box:{aktiv:`!border-box bg-box-grund`,symbol:`group-data-[status=active]:text-box`},homelab:{aktiv:`!border-lab bg-lab-grund`,symbol:`group-data-[status=active]:text-lab`},system:{aktiv:`!border-text-2 bg-erhaben`,symbol:`group-data-[status=active]:text-foreground`}},pu={box:{text:`text-box-text`,balken:`bg-box`},homelab:{text:`text-lab-text`,balken:`bg-lab`}},mu=`group flex h-11 items-center gap-3 rounded-lg border-l-2 border-transparent pr-3 pl-3 text-[15px] text-text-2 hover:bg-erhaben hover:text-foreground`;function hu(){let e=(0,B.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(`img`,{src:`/favicon.svg`,alt:``,width:36,height:36,className:`size-9 shrink-0`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,A.jsxs)(`div`,{className:`flex items-center gap-3 px-1`,children:[t,(0,A.jsxs)(`span`,{className:`flex flex-col leading-none`,children:[(0,A.jsx)(`span`,{className:`font-anzeige text-[22px] font-bold tracking-[0.06em]`,children:`Homelab`}),(0,A.jsx)(`span`,{className:`schild text-[13px] tracking-[0.22em] text-text-3`,children:`Orchestrator`})]})]}),e[1]=n):n=e[1],n}function gu(e){let t=(0,B.c)(21),{s:n,zahl:r,onGewaehlt:i}=e,o=fu[n.ort],s=n.to,c;t[0]===o.aktiv?c=t[1]:(c=a(o.aktiv,`!text-foreground`),t[0]=o.aktiv,t[1]=c);let l;t[2]===c?l=t[3]:(l={className:c},t[2]=c,t[3]=l);let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u={exact:!0},t[4]=u):u=t[4];let d=n.Icon,f;t[5]===o.symbol?f=t[6]:(f=a(`size-[18px] shrink-0 text-text-3 group-hover:text-text-2`,o.symbol),t[5]=o.symbol,t[6]=f);let p;t[7]!==n.Icon||t[8]!==f?(p=(0,A.jsx)(d,{className:f,"aria-hidden":!0}),t[7]=n.Icon,t[8]=f,t[9]=p):p=t[9];let m;t[10]===n.label?m=t[11]:(m=(0,A.jsx)(`span`,{className:`flex-1`,children:n.label}),t[10]=n.label,t[11]=m);let h;t[12]===r?h=t[13]:(h=!!r&&(0,A.jsxs)(`span`,{className:`ziffern rounded-full border border-cyan-rand bg-cyan-grund px-2 text-xs leading-5 text-cyan`,children:[r,(0,A.jsxs)(`span`,{className:`sr-only`,children:[` `,r===1?`Update`:`Updates`,` bereit`]})]}),t[12]=r,t[13]=h);let g;return t[14]!==i||t[15]!==n.to||t[16]!==l||t[17]!==p||t[18]!==m||t[19]!==h?(g=(0,A.jsxs)(ea,{to:s,onClick:i,className:mu,activeProps:l,activeOptions:u,children:[p,m,h]}),t[14]=i,t[15]=n.to,t[16]=l,t[17]=p,t[18]=m,t[19]=h,t[20]=g):g=t[20],g}function _u(e){let t=(0,B.c)(15),{onDienste:n,onGewaehlt:r}=e,i=G(),o=Ys().data?.rolle!==`homelab`,s=vu,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=s(`/`),t[0]=c):c=t[0];let l;t[1]===r?l=t[2]:(l=(0,A.jsx)(gu,{s:c,onGewaehlt:r}),t[1]=r,t[2]=l);let u;t[3]!==o||t[4]!==n||t[5]!==r||t[6]!==i?(u=eu.map(e=>{let t=du[i[e.id].verbindung],s=pu[e.id];return(0,A.jsxs)(`section`,{"aria-label":e.name,className:`flex flex-col gap-1`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-3 pb-1.5`,children:[(0,A.jsxs)(`h2`,{className:a(`schild flex items-center gap-2.5 text-sm font-bold tracking-[0.24em]`,s.text),children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-4 w-1 rounded-full`,s.balken)}),e.name]}),(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`size-2 rounded-full`,t.punkt)}),t.text]})]}),tu.filter(t=>t.ort===e.id).map(t=>(0,A.jsx)(gu,{s:t,zahl:t.zaehlt?i[e.id].updates:0,onGewaehlt:r},t.to)),e.id===`box`&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`button`,{type:`button`,onClick:()=>{r?.(),n()},className:a(mu,`text-left`),children:[(0,A.jsx)(uo,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Dienste und Protokolle`]}),o&&(0,A.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:mu,children:[(0,A.jsx)(eo,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Hermes-Dashboard`]})]})]},e.id)}),t[3]=o,t[4]=n,t[5]=r,t[6]=i,t[7]=u):u=t[7];let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=s(`/einstellungen`),t[8]=d):d=t[8];let f;t[9]===r?f=t[10]:(f=(0,A.jsx)(`div`,{className:`mt-auto border-t border-linie pt-4`,children:(0,A.jsx)(gu,{s:d,onGewaehlt:r})}),t[9]=r,t[10]=f);let p;return t[11]!==l||t[12]!==u||t[13]!==f?(p=(0,A.jsxs)(`nav`,{"aria-label":`Hauptnavigation`,className:`flex flex-1 flex-col gap-6`,children:[l,u,f]}),t[11]=l,t[12]=u,t[13]=f,t[14]=p):p=t[14],p}function vu(e){return tu.find(t=>t.to===e)}var yu=`modulepreload`,bu=function(e){return`/`+e},xu={},Su=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=bu(t,n),t=s(t),t in xu)return;xu[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:yu,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Cu=(0,k.lazy)(()=>Su(()=>import(`./Dienste-R9X0M5PO.js`).then(e=>({default:e.Dienste})),__vite__mapDeps([0,1,2,3,4]))),wu=(0,k.lazy)(()=>Su(()=>import(`./MenueSchublade-CsyS-c2a.js`).then(e=>({default:e.MenueSchublade})),__vite__mapDeps([5,1,3,2,4]))),Tu=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),Eu=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`});function Du(){let e=(0,B.c)(13),[t,n]=(0,k.useState)(Ou),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.setInterval(()=>n(new Date),2e4);return()=>window.clearInterval(e)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,k.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=Tu.format(t),e[2]=t,e[3]=a);let o;e[4]===a?o=e[5]:(o=(0,A.jsx)(`span`,{className:`ziffern text-2xl font-medium`,children:a}),e[4]=a,e[5]=o);let s;e[6]===t?s=e[7]:(s=Eu.format(t).replace(`,`,``),e[6]=t,e[7]=s);let c;e[8]===s?c=e[9]:(c=(0,A.jsx)(`span`,{className:`schild text-[13px] text-text-3`,children:s}),e[8]=s,e[9]=c);let l;return e[10]!==o||e[11]!==c?(l=(0,A.jsxs)(`div`,{className:`flex flex-col items-end leading-tight`,children:[o,c]}),e[10]=o,e[11]=c,e[12]=l):l=e[12],l}function Ou(){return new Date}function ku(){let e=(0,B.c)(14),t=rs(),n=t===`live`,r=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,i=n?`text-text-3`:`text-bernstein`,o;e[0]===i?o=e[1]:(o=a(`schild flex items-center gap-1.5 text-[13px]`,i),e[0]=i,e[1]=o);let s=n?`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`:`bg-bernstein`,c;e[2]===s?c=e[3]:(c=a(`size-2 rounded-full`,s),e[2]=s,e[3]=c);let l;e[4]===c?l=e[5]:(l=(0,A.jsx)(`span`,{"aria-hidden":!0,className:c}),e[4]=c,e[5]=l);let u=n?`sr-only`:void 0,d=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,f;e[6]!==u||e[7]!==d?(f=(0,A.jsx)(`span`,{className:u,children:d}),e[6]=u,e[7]=d,e[8]=f):f=e[8];let p;return e[9]!==r||e[10]!==o||e[11]!==l||e[12]!==f?(p=(0,A.jsxs)(`span`,{role:`status`,title:r,className:o,children:[l,f]}),e[9]=r,e[10]=o,e[11]=l,e[12]=f,e[13]=p):p=e[13],p}var Au={uebersicht:`text-bernstein`,box:`text-box-text`,homelab:`text-lab-text`,system:`text-text-3`};function ju(){let e=(0,B.c)(32);os();let[t,n]=(0,k.useState)(null),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>n(null),e[0]=r):r=e[0];let i=r,o=ru(),s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,A.jsx)(hu,{}),e[1]=s):s=e[1];let c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsxs)(`aside`,{className:`sticky top-0 hidden h-dvh flex-col gap-8 overflow-y-auto border-r border-linie bg-[#0c0f12] px-4 py-7 lg:flex`,children:[s,(0,A.jsx)(_u,{onDienste:()=>n(`dienste`)})]}),e[2]=c):c=e[2];let l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>n(`menue`),e[3]=l):l=e[3];let u;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,A.jsx)(`button`,{type:`button`,onClick:l,className:`-ml-2 flex size-11 shrink-0 items-center justify-center rounded-lg text-text-2 hover:bg-erhaben hover:text-foreground lg:hidden`,"aria-label":`Menü öffnen`,children:(0,A.jsx)(oo,{className:`size-6`})}),e[4]=u):u=e[4];let d=Au[o.ort],f;e[5]===d?f=e[6]:(f=a(`schild text-[13px] tracking-[0.24em]`,d),e[5]=d,e[6]=f);let p=nu[o.ort],m;e[7]!==f||e[8]!==p?(m=(0,A.jsx)(`span`,{className:f,children:p}),e[7]=f,e[8]=p,e[9]=m):m=e[9];let h;e[10]===o.label?h=e[11]:(h=(0,A.jsx)(`h1`,{className:`font-anzeige text-[26px] leading-none font-bold tracking-[0.04em]`,children:o.label}),e[10]=o.label,e[11]=h);let g;e[12]!==m||e[13]!==h?(g=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[u,(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[m,h]})]}),e[12]=m,e[13]=h,e[14]=g):g=e[14];let _;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,A.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,A.jsx)(`span`,{className:`lg:hidden`,children:(0,A.jsx)(ku,{})}),(0,A.jsx)(Du,{})]}),e[15]=_):_=e[15];let v;e[16]===g?v=e[17]:(v=(0,A.jsxs)(`header`,{className:`flex items-center justify-between gap-4`,children:[g,_]}),e[16]=g,e[17]=v);let y;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,A.jsx)(`main`,{className:`flex min-w-0 flex-col gap-5 md:gap-6`,children:(0,A.jsx)(ha,{})}),e[18]=y):y=e[18];let b;e[19]===v?b=e[20]:(b=(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1320px] min-w-0 flex-col gap-5 px-4 pt-4 pb-10 sm:px-6 md:gap-6 md:px-10 md:pt-8`,children:[v,y]}),e[19]=v,e[20]=b);let x;e[21]===t?x=e[22]:(x=t===`menue`&&(0,A.jsx)(wu,{onDienste:()=>n(`dienste`),onSchliessen:i}),e[21]=t,e[22]=x);let S;e[23]===t?S=e[24]:(S=t===`dienste`&&(0,A.jsx)(Cu,{offen:!0,onSchliessen:i}),e[23]=t,e[24]=S);let C;e[25]!==x||e[26]!==S?(C=(0,A.jsxs)(k.Suspense,{fallback:null,children:[x,S]}),e[25]=x,e[26]=S,e[27]=C):C=e[27];let w;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,A.jsx)(lu,{}),e[28]=w):w=e[28];let T;return e[29]!==b||e[30]!==C?(T=(0,A.jsxs)(`div`,{className:`min-h-dvh lg:grid lg:grid-cols-[272px_minmax(0,1fr)]`,children:[c,b,C,w]}),e[29]=b,e[30]=C,e[31]=T):T=e[31],T}var Mu={gruen:`border-gruen-rand bg-gruen-grund text-gruen`,bernstein:`border-bernstein/60 bg-bernstein-grund text-bernstein`,cyan:`border-cyan-rand bg-cyan-grund text-cyan`,rot:`border-rot-rand bg-rot-grund text-rot-text`,grau:`border-linie bg-erhaben text-text-2`};function Nu(e){let t=(0,B.c)(5),{art:n,children:r}=e,i=Mu[n===void 0?`grau`:n],o;t[0]===i?o=t[1]:(o=a(`schild inline-flex h-7 items-center rounded-full border px-2.5 text-xs whitespace-nowrap`,i),t[0]=i,t[1]=o);let s;return t[2]!==r||t[3]!==o?(s=(0,A.jsx)(`span`,{className:o,children:r}),t[2]=r,t[3]=o,t[4]=s):s=t[4],s}function Pu(e){let t=(0,B.c)(6),{fehler:n,text:r}=e,i=n?`alert`:`status`,o=n?`border-rot-rand bg-rot-grund text-rot-text`:`border-linie bg-panel text-text-2`,s;t[0]===o?s=t[1]:(s=a(`rounded-2xl border px-5 py-8 text-center text-[15px]`,o),t[0]=o,t[1]=s);let c;return t[2]!==i||t[3]!==s||t[4]!==r?(c=(0,A.jsx)(`div`,{role:i,className:s,children:r}),t[2]=i,t[3]=s,t[4]=r,t[5]=c):c=t[5],c}var Fu={erledigt:{text:`Erledigt`,farbe:`text-gruen`},fehler:{text:`Fehler`,farbe:`text-rot`},geplant:{text:`Geplant`,farbe:`text-text-3`}};function Iu(e){let t=(0,B.c)(18),{e:n}=e,r=Fu[n.status]??Fu.geplant,i=n.status===`geplant`&&/update/i.test(n.titel)?`text-cyan`:r.farbe,o;t[0]===n.zeit?o=t[1]:(o=hs(n.zeit),t[0]=n.zeit,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.text?c=t[5]:(c=n.text&&(0,A.jsxs)(`span`,{className:`text-text-3`,children:[`, `,n.text]}),t[4]=n.text,t[5]=c);let l;t[6]!==n.titel||t[7]!==c?(l=(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-base break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:[n.titel,c]}),t[6]=n.titel,t[7]=c,t[8]=l):l=t[8];let u;t[9]===i?u=t[10]:(u=a(`schild col-start-2 row-start-1 justify-self-end text-[13px] @sm:col-start-3`,i),t[9]=i,t[10]=u);let d;t[11]!==r.text||t[12]!==u?(d=(0,A.jsx)(`span`,{className:u,children:r.text}),t[11]=r.text,t[12]=u,t[13]=d):d=t[13];let f;return t[14]!==s||t[15]!==l||t[16]!==d?(f=(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[s,l,d]}),t[14]=s,t[15]=l,t[16]=d,t[17]=f):f=t[17],f}function Lu(e){let t=(0,B.c)(6),{gelaufen:n,geplant:r}=e,i;t[0]!==n||t[1]!==r?(i=[...n,...r.slice(0,5)],t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i;if(a.length===0){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Heute ist noch nichts gelaufen, und nichts ist geplant.`}),t[3]=e):e=t[3],e}let o;return t[4]===a?o=t[5]:(o=(0,A.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:a.map(Ru)}),t[4]=a,t[5]=o),o}function Ru(e){return(0,A.jsx)(Iu,{e},`${e.titel}-${e.zeit}`)}function zu(e){let t=(0,B.c)(11),{titel:n,rechts:r,children:i,className:o,id:s}=e,c;t[0]===o?c=t[1]:(c=a(`flex min-w-0 flex-col gap-4 rounded-2xl border border-linie bg-panel p-5 sm:p-6`,o),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n?(l=(n||r)&&(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n&&(0,A.jsx)(`h2`,{className:`schild text-lg font-bold tracking-[0.22em] text-foreground`,children:n}),r]}),t[2]=r,t[3]=n,t[4]=l):l=t[4];let u;return t[5]!==i||t[6]!==s||t[7]!==c||t[8]!==l||t[9]!==n?(u=(0,A.jsxs)(`section`,{id:s,"aria-label":n,className:c,children:[l,i]}),t[5]=i,t[6]=s,t[7]=c,t[8]=l,t[9]=n,t[10]=u):u=t[10],u}var Bu=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Vu=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0});function Hu(e){return e<1e3?`${Vu.format(e)} B/s`:e<1e6?`${Bu.format(e/1e3)} KB/s`:e<1e9?`${Bu.format(e/1e6)} MB/s`:`${Bu.format(e/1e9)} GB/s`}function Uu(e,t){return e==null||Number.isNaN(e)?`–`:t===`prozent`?`${Vu.format(e)} %`:t===`grad`?`${Vu.format(e)} °C`:t===`bytes_s`?Hu(e):Vu.format(e)}function Wu(e){if(!e)return null;for(let t=e.length-1;t>=0;t--){let n=e[t][1];if(n!==null)return n}return null}function Gu(e,t){if(t===`prozent`)return 100;let n=0;for(let t of e)for(let[,e]of t??[])e!==null&&e>n&&(n=e);if(t===`grad`)return Math.max(60,Math.ceil((n+5)/10)*10);if(n<=0)return 1;let r=10**Math.floor(Math.log10(n));for(let e of[1,2,2.5,5,10])if(e*r>=n)return e*r;return 10*r}function Ku(e,t,n){return e===null?`ruhig`:e>=n?`rot`:e>=t?`gelb`:`ruhig`}var qu=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),Ju=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function Yu(e,t){let n=new Date(e*1e3);return(t?Ju:qu).format(n).replace(`,`,``)}function Xu(e){if(!e||e<0)return`–`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t} T ${n} h`:n>0?`${n} h ${r} min`:`${r} min`}function Zu(e,t,n){let r=``,i=!1;for(let[a,o]of e){if(o===null){i=!1;continue}r+=`${i?`L`:`M`}${t(a).toFixed(1)},${n(o).toFixed(1)}`,i=!0}return r}function Qu(e,t,n,r){let i=``,a=[],o=()=>{a.length>1&&(i+=`M${a[0][0].toFixed(1)},${r}`+a.map(([e,t])=>`L${e.toFixed(1)},${t.toFixed(1)}`).join(``)+`L${a[a.length-1][0].toFixed(1)},${r}Z`),a=[]};for(let[r,i]of e)i===null?o():a.push([t(r),n(i)]);return o(),i}function $u(e){let t=(0,B.c)(22),{punkte:n,max:r,farbe:i,hoehe:a,beschriftung:o}=e,s=i===void 0?`var(--reihe-1)`:i,c=a===void 0?36:a,l=n[0]?.[0]??0,u=n[n.length-1]?.[0]??1,d;t[0]!==l||t[1]!==u?(d=e=>u>l?(e-l)/(u-l)*100:0,t[0]=l,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]!==c||t[4]!==r?(p=e=>c-2-Math.min(e,r)/(r||1)*(c-4),t[3]=c,t[4]=r,t[5]=p):p=t[5];let m=p,h;t[6]===n?h=t[7]:(h=n.some(K),t[6]=n,t[7]=h);let g=h,_=`0 0 100 ${c}`,v;t[8]===c?v=t[9]:(v={height:c},t[8]=c,t[9]=v);let y;t[10]!==s||t[11]!==g||t[12]!==c||t[13]!==n||t[14]!==f||t[15]!==m?(y=g&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`path`,{d:Qu(n,f,m,c),fill:s,opacity:.12}),(0,A.jsx)(`path`,{d:Zu(n,f,m),fill:`none`,stroke:s,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]}),t[10]=s,t[11]=g,t[12]=c,t[13]=n,t[14]=f,t[15]=m,t[16]=y):y=t[16];let b;return t[17]!==o||t[18]!==_||t[19]!==v||t[20]!==y?(b=(0,A.jsx)(`svg`,{role:`img`,"aria-label":o,viewBox:_,preserveAspectRatio:`none`,className:`block w-full`,style:v,children:y}),t[17]=o,t[18]=_,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function K(e){let[,t]=e;return t!==null}var q={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}};function J(e){let t=(0,B.c)(29),{label:n,wert:r,einheit:i,punkte:o,max:s,zustand:c,farbe:l,zeitraumText:u}=e,d=q[c===void 0?`ruhig`:c],f;t[0]===n?f=t[1]:(f=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[0]=n,t[1]=f);let p;t[2]===d.wert?p=t[3]:(p=a(`font-anzeige text-[28px] leading-none font-bold`,d.wert),t[2]=d.wert,t[3]=p);let m;t[4]!==i||t[5]!==r?(m=Uu(r,i),t[4]=i,t[5]=r,t[6]=m):m=t[6];let h;t[7]!==p||t[8]!==m?(h=(0,A.jsx)(`span`,{className:p,children:m}),t[7]=p,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==d.marke||t[11]!==d.wert?(g=d.marke&&(0,A.jsx)(`span`,{className:a(`schild text-[11px]`,d.wert),children:d.marke}),t[10]=d.marke,t[11]=d.wert,t[12]=g):g=t[12];let _;t[13]!==h||t[14]!==g?(_=(0,A.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[h,g]}),t[13]=h,t[14]=g,t[15]=_):_=t[15];let v;t[16]!==l||t[17]!==n||t[18]!==s||t[19]!==o||t[20]!==u?(v=o&&o.length>1&&(0,A.jsx)($u,{punkte:o,max:s,farbe:l,beschriftung:`${n}, ${u}`}),t[16]=l,t[17]=n,t[18]=s,t[19]=o,t[20]=u,t[21]=v):v=t[21];let y;t[22]===o?y=t[23]:(y=o&&o.length<=1&&(0,A.jsx)(`span`,{className:`h-9`,"aria-hidden":!0}),t[22]=o,t[23]=y);let b;return t[24]!==f||t[25]!==_||t[26]!==v||t[27]!==y?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 rounded-xl border border-linie bg-erhaben/50 px-3.5 pt-3 pb-2`,children:[f,_,v,y]}),t[24]=f,t[25]=_,t[26]=v,t[27]=y,t[28]=b):b=t[28],b}function Y(e){if(e.aktion)return null;let t=e.grund??``,n=t.match(/erst ab (\d{2}\.\d{2}\.(?:\d{4})? ?\d{2}:\d{2})/)?.[1];return n?`ab ${n}`:/eigene Oberfläche|eigenen Oberfläche|eigenes Update/i.test(t)?`über die App`:null}function X(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);if(t.length===0)return null;let n=[],r=Bl(e);if(r?.zustand===`neu`){let e=Y(r);n.push(`App → ${r.verfuegbar??`neu`}${e?` (${e})`:``}`)}let i=Vl(e);i?.zustand===`neu`&&n.push(i.kurz||(i.id===`docker`?`Images`:`Pakete`));for(let e of t)e!==r&&e!==i&&n.push(`${e.name}${e.kurz?` · ${e.kurz}`:``}`);return{id:e.id,name:e.name,teile:n,knopf:t.some(e=>!!e.aktion)}}function ed(e){return e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({id:`${e.id}-${t.id}`,name:t.name,teile:[t.kurz||t.verfuegbar||`neu`],knopf:!!t.aktion}))}function td(e){let t=e.flatMap(e=>e.art===`ki-box`?ed(e):[X(e)]).filter(e=>e!==null);return[...t.filter(e=>e.knopf),...t.filter(e=>!e.knopf)]}function nd(e){return e.getrennt.length>0?{stufe:`rot`,titel:`Verbindung weg`,text:`${e.getrennt.join(` und `)} antwortet nicht.`}:e.stumm.length>0||e.hinweiseRot>0?{stufe:`rot`,titel:`Störung`,text:`${e.stumm.length>0?`${e.stumm.join(`, `)} antwortet nicht`:`Ein roter Hinweis wartet`}.`}:e.hinweise>0?{stufe:`gelb`,titel:e.hinweise===1?`1 Hinweis`:`${e.hinweise} Hinweise`,text:`Bei Gelegenheit ansehen.`}:e.updates>0?{stufe:`info`,titel:`Alles läuft`,text:`${e.updates} ${e.updates===1?`Update steht`:`Updates stehen`} bereit.`}:{stufe:`ok`,titel:`Alles läuft`,text:`Keine Hinweise, keine offenen Updates.`}}var rd={ok:{rahmen:`border-gruen-rand bg-gruen-grund`,titel:`text-gruen`,Symbol:Xa},info:{rahmen:`border-cyan-rand bg-cyan-grund`,titel:`text-cyan`,Symbol:co},gelb:{rahmen:`border-bernstein/70 bg-bernstein-grund`,titel:`text-bernstein`,Symbol:Ja},rot:{rahmen:`border-rot bg-rot-grund`,titel:`text-rot`,Symbol:Ja}};function id(e){let t=(0,B.c)(17),{label:n,wert:r,zusatz:i,art:o}=e,s,c,l;t[0]!==o||t[1]!==n?(c=`flex min-w-0 flex-col gap-1 rounded-xl border border-linie bg-panel/70 px-4 py-3`,t[5]===n?l=t[6]:(l=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[5]=n,t[6]=l),s=a(`font-anzeige text-[32px] leading-none font-bold`,{gruen:`text-gruen`,bernstein:`text-bernstein`,cyan:`text-cyan`,rot:`text-rot-text`,grau:`text-foreground`}[o]),t[0]=o,t[1]=n,t[2]=s,t[3]=c,t[4]=l):(s=t[2],c=t[3],l=t[4]);let u;t[7]!==s||t[8]!==r?(u=(0,A.jsx)(`span`,{className:s,children:r}),t[7]=s,t[8]=r,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=i&&(0,A.jsx)(`span`,{className:`truncate text-xs text-text-3`,children:i}),t[10]=i,t[11]=d);let f;return t[12]!==c||t[13]!==l||t[14]!==u||t[15]!==d?(f=(0,A.jsxs)(`div`,{className:c,children:[l,u,d]}),t[12]=c,t[13]=l,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}var ad={online:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,verbinde:`bg-bernstein`,getrennt:`bg-rot`,fehlt:`bg-text-3`},od={online:`online`,verbinde:`verbinde`,getrennt:`getrennt`,fehlt:`nicht eingerichtet`};function sd(e){let t=(0,B.c)(43),{bereich:n,name:r,verbindung:i,cockpit:o,children:s}=e,c,l,u,d,f,p,m,h,g;if(t[0]!==n||t[1]!==o||t[2]!==r){let e=n===`box`?{rand:`border-box-rand`,kopf:`from-box-grund`,text:`text-box-text`,balken:`bg-box`}:{rand:`border-lab-rand`,kopf:`from-lab-grund`,text:`text-lab-text`,balken:`bg-lab`};h=r,g=a(`flex min-w-0 flex-col overflow-hidden rounded-2xl border bg-panel`,e.rand),c=ea,p=o,m=a(`group flex items-center justify-between gap-3 bg-gradient-to-r to-transparent px-5 py-4 sm:px-6`,e.kopf),d=`flex items-center gap-3`,f=(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-7 w-1.5 rounded-full`,e.balken)}),u=`flex flex-col leading-tight`,l=a(`schild text-lg font-bold tracking-[0.22em]`,e.text),t[0]=n,t[1]=o,t[2]=r,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g}else c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11];let _;t[12]!==r||t[13]!==l?(_=(0,A.jsx)(`span`,{className:l,children:r}),t[12]=r,t[13]=l,t[14]=_):_=t[14];let v=ad[i],y;t[15]===v?y=t[16]:(y=a(`size-2 rounded-full`,v),t[15]=v,t[16]=y);let b;t[17]===y?b=t[18]:(b=(0,A.jsx)(`span`,{"aria-hidden":!0,className:y}),t[17]=y,t[18]=b);let x=od[i],S;t[19]!==b||t[20]!==x?(S=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[b,x]}),t[19]=b,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==S||t[23]!==u||t[24]!==_?(C=(0,A.jsxs)(`span`,{className:u,children:[_,S]}),t[22]=S,t[23]=u,t[24]=_,t[25]=C):C=t[25];let w;t[26]!==C||t[27]!==d||t[28]!==f?(w=(0,A.jsxs)(`span`,{className:d,children:[f,C]}),t[26]=C,t[27]=d,t[28]=f,t[29]=w):w=t[29];let T;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-sm text-text-2 group-hover:text-foreground`,children:[`Cockpit `,(0,A.jsx)(Ka,{className:`size-4 transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0})]}),t[30]=T):T=t[30];let E;t[31]!==c||t[32]!==w||t[33]!==p||t[34]!==m?(E=(0,A.jsxs)(c,{to:p,className:m,children:[w,T]}),t[31]=c,t[32]=w,t[33]=p,t[34]=m,t[35]=E):E=t[35];let D;t[36]===s?D=t[37]:(D=(0,A.jsx)(`div`,{className:`flex flex-col gap-5 px-5 pt-1 pb-5 sm:px-6`,children:s}),t[36]=s,t[37]=D);let O;return t[38]!==E||t[39]!==D||t[40]!==h||t[41]!==g?(O=(0,A.jsxs)(`section`,{"aria-label":h,className:g,children:[E,D]}),t[38]=E,t[39]=D,t[40]=h,t[41]=g,t[42]=O):O=t[42],O}function cd(e){let t=(0,B.c)(5),{titel:n,rechts:r}=e,i;t[0]===n?i=t[1]:(i=(0,A.jsx)(`h3`,{className:`schild text-sm tracking-[0.2em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function ld(e){let t=(0,B.c)(13),{zeilen:n,ziel:r,laedt:i,alleAktuell:o}=e,s;t[0]===n?s=t[1]:(s=n.filter(ud),t[0]=n,t[1]=s);let c=s.length,l;t[2]!==c||t[3]!==n.length?(l=(0,A.jsx)(cd,{titel:`Updates`,rechts:c>0?(0,A.jsxs)(Nu,{art:`cyan`,children:[c,` bereit`]}):n.length>0?(0,A.jsx)(Nu,{children:`wartet`}):(0,A.jsx)(Nu,{art:`gruen`,children:`aktuell`})}),t[2]=c,t[3]=n.length,t[4]=l):l=t[4];let u;t[5]!==o||t[6]!==i||t[7]!==n||t[8]!==r?(u=i?(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}):n.length===0?(0,A.jsxs)(`p`,{className:`flex items-center gap-2 text-sm text-gruen-text`,children:[(0,A.jsx)(Xa,{className:`size-4`,"aria-hidden":!0}),o]}):(0,A.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:n.map(e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ea,{to:r,className:`group -mx-2 grid grid-cols-[minmax(0,9rem)_minmax(0,1fr)_auto] items-baseline gap-3 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{className:`truncate text-[15px] font-medium`,children:e.name}),(0,A.jsx)(`span`,{className:a(`min-w-0 text-sm`,e.knopf?`text-cyan`:`text-text-3`),children:e.teile.join(` · `)}),(0,A.jsx)(Ka,{className:`size-3.5 self-center text-text-3 opacity-0 group-hover:opacity-100`,"aria-hidden":!0})]})},e.id))}),t[5]=o,t[6]=i,t[7]=n,t[8]=r,t[9]=u):u=t[9];let d;return t[10]!==l||t[11]!==u?(d=(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function ud(e){return e.knopf}function dd(e){let t=(0,B.c)(18),{hinweise:n,ziel:r}=e;if(n.length===0)return null;let i,o,s,c;if(t[0]!==n||t[1]!==r){let e=[...n].sort(pd);s=`flex flex-col gap-2`;let l=n.some(fd)?`rot`:`bernstein`;t[6]!==n.length||t[7]!==l?(c=(0,A.jsx)(cd,{titel:`Hinweise`,rechts:(0,A.jsx)(Nu,{art:l,children:n.length})}),t[6]=n.length,t[7]=l,t[8]=c):c=t[8],i=`m-0 flex list-none flex-col gap-1 p-0`;let u;t[9]===r?u=t[10]:(u=e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ea,{to:r,className:`-mx-2 flex items-start gap-2 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`mt-1.5 size-2 shrink-0 rounded-full`,e.stufe===`rot`?`bg-rot`:`bg-bernstein`)}),(0,A.jsx)(`span`,{className:a(`text-sm`,e.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:e.titel})]})},e.id),t[9]=r,t[10]=u),o=e.slice(0,3).map(u),t[0]=n,t[1]=r,t[2]=i,t[3]=o,t[4]=s,t[5]=c}else i=t[2],o=t[3],s=t[4],c=t[5];let l;t[11]!==i||t[12]!==o?(l=(0,A.jsx)(`ul`,{className:i,children:o}),t[11]=i,t[12]=o,t[13]=l):l=t[13];let u;return t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,A.jsxs)(`div`,{className:s,children:[c,l]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function fd(e){return e.stufe===`rot`}function pd(e,t){return Number(t.stufe===`rot`)-Number(e.stufe===`rot`)}function md(e){let t=(0,B.c)(4),{werte:n}=e,r;t[0]===n?r=t[1]:(r=n.map(hd),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,A.jsx)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4 xl:grid-cols-2 2xl:grid-cols-4`,children:r}),t[2]=r,t[3]=i),i}function hd(e){return(0,A.jsx)(J,{label:e.label,wert:e.wert,einheit:e.einheit,punkte:e.punkte,max:(e.einheit,100),zustand:Ku(e.wert??null,e.gelb,e.rot),zeitraumText:`letzte Stunde`},e.label)}function gd(e){let t=(0,B.c)(33),{verbindung:n}=e,r=ws(),i=Zs(),a=uc(`1h`),o=is(),s=a.data?.reihen,c=r.data?.box,l=o?.ram??(c?.ram_used&&c.ram_total?c.ram_used/c.ram_total*100:null),u=o?.cpu??a.data?.aktuell.cpu,d=s?.cpu,f;t[0]!==u||t[1]!==d?(f={label:`CPU`,wert:u,einheit:`prozent`,punkte:d,gelb:85,rot:95},t[0]=u,t[1]=d,t[2]=f):f=t[2];let p=s?.ram,m;t[3]!==l||t[4]!==p?(m={label:`Speicher`,wert:l,einheit:`prozent`,punkte:p,gelb:85,rot:95},t[3]=l,t[4]=p,t[5]=m):m=t[5];let h=o?.temp_cpu??c?.temp_cpu,g=s?.temp_cpu,_;t[6]!==h||t[7]!==g?(_={label:`Temperatur`,wert:h,einheit:`grad`,punkte:g,gelb:80,rot:90},t[6]=h,t[7]=g,t[8]=_):_=t[8];let v=o?.disk??c?.platte?.percent,y=s?.platte,b;t[9]!==y||t[10]!==v?(b={label:`Platte`,wert:v,einheit:`prozent`,punkte:y,gelb:80,rot:90},t[9]=y,t[10]=v,t[11]=b):b=t[11];let x;t[12]!==b||t[13]!==f||t[14]!==m||t[15]!==_?(x=(0,A.jsx)(md,{werte:[f,m,_,b]}),t[12]=b,t[13]=f,t[14]=m,t[15]=_,t[16]=x):x=t[16];let S;t[17]===i.data?.ziele?S=t[18]:(S=i.data?.ziele??[],t[17]=i.data?.ziele,t[18]=S);let C;t[19]===S?C=t[20]:(C=td(S),t[19]=S,t[20]=C);let w;t[21]!==C||t[22]!==i.isPending?(w=(0,A.jsx)(ld,{zeilen:C,ziel:`/box/updates`,laedt:i.isPending,alleAktuell:`Betriebssystem, Motor, llama-swap und Hermes sind aktuell.`}),t[21]=C,t[22]=i.isPending,t[23]=w):w=t[23];let T;t[24]===r.data?.hinweise?T=t[25]:(T=r.data?.hinweise??[],t[24]=r.data?.hinweise,t[25]=T);let E;t[26]===T?E=t[27]:(E=(0,A.jsx)(dd,{hinweise:T,ziel:`/box`}),t[26]=T,t[27]=E);let D;return t[28]!==x||t[29]!==w||t[30]!==E||t[31]!==n?(D=(0,A.jsxs)(sd,{bereich:`box`,name:`KI-Box`,verbindung:n,cockpit:`/box`,children:[x,w,E]}),t[28]=x,t[29]=w,t[30]=E,t[31]=n,t[32]=D):D=t[32],D}function _d(e){let t=(0,B.c)(14),{verbindung:n}=e,r=n===`online`,i=Qs(r),a=tc(r),o=dc(`1h`,r),s;t[0]===o.data?.geraete?s=t[1]:(s=o.data?.geraete.find(vd),t[0]=o.data?.geraete,t[1]=s);let c=s,l;t[2]===i.data?.ziele?l=t[3]:(l=i.data?.ziele??[],t[2]=i.data?.ziele,t[3]=l);let u=l,d;t[4]!==r||t[5]!==a||t[6]!==i.isPending||t[7]!==c?.aktuell||t[8]!==c?.reihen||t[9]!==u?(d=r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(cd,{titel:`Proxmox-Host`}),(0,A.jsx)(md,{werte:[{label:`CPU`,wert:c?.aktuell.cpu,einheit:`prozent`,punkte:c?.reihen.cpu,gelb:85,rot:95},{label:`Speicher`,wert:c?.aktuell.ram,einheit:`prozent`,punkte:c?.reihen.ram,gelb:90,rot:95},{label:`Temperatur`,wert:c?.aktuell.temp_cpu,einheit:`grad`,punkte:c?.reihen.temp_cpu,gelb:80,rot:90},{label:`Platte`,wert:c?.aktuell.platte,einheit:`prozent`,punkte:c?.reihen.platte,gelb:80,rot:90}]})]}),(0,A.jsx)(ld,{zeilen:td(u),ziel:`/homelab/updates`,laedt:i.isPending,alleAktuell:`Alle Geräte sind aktuell.`}),(0,A.jsx)(dd,{hinweise:a.data?.hinweise??[],ziel:`/homelab`})]}):(0,A.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; die Karte zeigt nichts Veraltetes.`}),t[4]=r,t[5]=a,t[6]=i.isPending,t[7]=c?.aktuell,t[8]=c?.reihen,t[9]=u,t[10]=d):d=t[10];let f;return t[11]!==d||t[12]!==n?(f=(0,A.jsx)(sd,{bereich:`homelab`,name:`Homelab`,verbindung:n,cockpit:`/homelab`,children:d}),t[11]=d,t[12]=n,t[13]=f):f=t[13],f}function vd(e){return e.art===`proxmox-host`}var yd={eingespielt:`gruen`,gruen:`gruen`,zurueckgerollt:`bernstein`,gelb:`bernstein`,fehler:`rot`,rot:`rot`,neustart:`cyan`,info:`cyan`,aufgeraeumt:`gruen`};function bd(e){let t=(0,B.c)(9),{homelabAktiv:n}=e,r=js(),i=$s(n),a,o,s;if(t[0]!==r.data?.laeufe||t[1]!==i.data?.laeufe){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=[...(r.data?.laeufe??[]).slice(0,6).map(Td),...(i.data?.laeufe??[]).filter(wd).slice(0,6).map(Cd)].sort(Sd).slice(0,6);if(e.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Updates aufgezeichnet.`}),t[5]=e):e=t[5],s=e;break bb0}a=`@container m-0 flex list-none flex-col p-0`,o=e.map(xd)}t[0]=r.data?.laeufe,t[1]=i.data?.laeufe,t[2]=a,t[3]=o,t[4]=s}else a=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;return t[6]!==a||t[7]!==o?(c=(0,A.jsx)(`ol`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function xd(e){return(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 first:border-t-0 @md:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:hs(new Date(e.zeit).toISOString())}),(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] @md:col-span-1 @md:col-start-2 @md:row-start-1`,children:[(0,A.jsx)(`span`,{className:a(`schild mr-2 text-[11px]`,e.bereich===`KI-Box`?`text-box-text`:`text-lab-text`),children:e.bereich}),e.titel]}),(0,A.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @md:col-start-3`,children:(0,A.jsx)(Nu,{art:e.art,children:e.chip})})]},`${e.bereich}-${e.zeit}-${e.titel}`)}function Sd(e,t){return t.zeit-e.zeit}function Cd(e){return{zeit:e.start*1e3,bereich:`Homelab`,titel:e.name,chip:e.ergebnis??`unterbrochen`,art:(e.ergebnis?yd[e.ergebnis]:`grau`)??`grau`}}function wd(e){return e.status!==`laeuft`}function Td(e){return{zeit:new Date(e.start).getTime(),bereich:`KI-Box`,titel:e.anlass,chip:e.titel,art:yd[e.stufe]??`grau`}}function Ed(){let e=(0,B.c)(92),t=G(),n=ws(),r=t.homelab.verbindung===`online`,i=Qs(r),o=tc(r);if(n.isPending&&!n.data){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(Pu,{text:`Die Übersicht sammelt sich gleich …`}),e[0]=t):t=e[0],t}let s,c,l;if(e[1]!==i.data?.ziele||e[2]!==o.data?.hinweise||e[3]!==t.box.updates||e[4]!==t.box.verbindung||e[5]!==t.homelab.updates||e[6]!==t.homelab.verbindung||e[7]!==n.data?.hinweise||e[8]!==n.isError){let r=[...t.box.verbindung===`getrennt`&&n.isError?[`Die KI-Box`]:[],...t.homelab.verbindung===`getrennt`?[`Der Homelab-Teil`]:[]],a=(i.data?.ziele??[]).filter(jd).map(Ad),u;e[12]===n.data?.hinweise?u=e[13]:(u=n.data?.hinweise??[],e[12]=n.data?.hinweise,e[13]=u);let d;e[14]===o.data?.hinweise?d=e[15]:(d=o.data?.hinweise??[],e[14]=o.data?.hinweise,e[15]=d);let f;e[16]!==u||e[17]!==d?(f=[...u,...d],e[16]=u,e[17]=d,e[18]=f):f=e[18],s=f,l=t.box.updates+t.homelab.updates;let p;e[19]===s?p=e[20]:(p=s.filter(kd),e[19]=s,e[20]=p),c=nd({getrennt:r,stumm:a,hinweiseRot:p.length,hinweise:s.length,updates:l}),e[1]=i.data?.ziele,e[2]=o.data?.hinweise,e[3]=t.box.updates,e[4]=t.box.verbindung,e[5]=t.homelab.updates,e[6]=t.homelab.verbindung,e[7]=n.data?.hinweise,e[8]=n.isError,e[9]=s,e[10]=c,e[11]=l}else s=e[9],c=e[10],l=e[11];let u=c,d=rd[u.stufe],f;e[21]===i.data?.ziele?f=e[22]:(f=i.data?.ziele??[],e[21]=i.data?.ziele,e[22]=f);let p=f,m;e[23]===p?m=e[24]:(m=p.filter(Od),e[23]=p,e[24]=m);let h=m.length+ +(t.box.verbindung===`online`),g=p.length+1,_=n.data?.flugplan.geplant[0],v;e[25]===d.rahmen?v=e[26]:(v=a(`grid gap-4 rounded-2xl border p-4 sm:p-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.6fr)] lg:items-center`,d.rahmen),e[25]=d.rahmen,e[26]=v);let y=d.Symbol,b;e[27]===d.titel?b=e[28]:(b=a(`size-10 shrink-0`,d.titel),e[27]=d.titel,e[28]=b);let x;e[29]!==d.Symbol||e[30]!==b?(x=(0,A.jsx)(y,{className:b,"aria-hidden":!0}),e[29]=d.Symbol,e[30]=b,e[31]=x):x=e[31];let S;e[32]===d.titel?S=e[33]:(S=a(`font-anzeige text-[34px] leading-none font-bold tracking-[0.02em]`,d.titel),e[32]=d.titel,e[33]=S);let C;e[34]!==u.titel||e[35]!==S?(C=(0,A.jsx)(`span`,{className:S,children:u.titel}),e[34]=u.titel,e[35]=S,e[36]=C):C=e[36];let w;e[37]===u.text?w=e[38]:(w=(0,A.jsx)(`span`,{className:`text-[15px] text-text-2`,children:u.text}),e[37]=u.text,e[38]=w);let T;e[39]!==C||e[40]!==w?(T=(0,A.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[C,w]}),e[39]=C,e[40]=w,e[41]=T):T=e[41];let E;e[42]!==x||e[43]!==T?(E=(0,A.jsxs)(`div`,{className:`flex items-center gap-4 px-1`,children:[x,T]}),e[42]=x,e[43]=T,e[44]=E):E=e[44];let D=String(l),O=l?`cyan`:`gruen`,ee=`KI-Box ${t.box.updates} · Homelab ${t.homelab.updates}`,te;e[45]!==D||e[46]!==O||e[47]!==ee?(te=(0,A.jsx)(id,{label:`Updates bereit`,wert:D,art:O,zusatz:ee}),e[45]=D,e[46]=O,e[47]=ee,e[48]=te):te=e[48];let ne=String(s.length),re=s.some(Dd)?`rot`:s.length?`bernstein`:`gruen`,ie;e[49]!==ne||e[50]!==re?(ie=(0,A.jsx)(id,{label:`Hinweise`,wert:ne,art:re}),e[49]=ne,e[50]=re,e[51]=ie):ie=e[51];let ae=`${h}/${g}`,k=h(0,A.jsx)(Li,{to:`/`})}),Nd=ra({getParentRoute:()=>Md,path:`/`,component:Ed}),Pd=ra({getParentRoute:()=>Md,path:`/box`,component:R(()=>Su(()=>import(`./Start-1Tqdw5yS.js`),__vite__mapDeps([6,1,2,7])),`StartSeite`)}),Fd=ra({getParentRoute:()=>Md,path:`/box/updates`,component:R(()=>Su(()=>import(`./Updates-C3FVpmnC.js`),__vite__mapDeps([8,1,9,2,10,4,11])),`UpdatesSeite`)}),Id=ra({getParentRoute:()=>Md,path:`/box/modelle`,component:R(()=>Su(()=>import(`./Modelle-1lvjqzBN.js`),__vite__mapDeps([12,1,13,14,9,15,2,3,4,10,11])),`ModelleSeite`)}),Ld=ra({getParentRoute:()=>Md,path:`/box/monitoring`,component:R(()=>Su(()=>import(`./Monitoring-v7mq5XN5.js`),__vite__mapDeps([16,1])),`BoxMonitoringSeite`)}),Rd=ra({getParentRoute:()=>Md,path:`/homelab`,component:R(()=>Su(()=>import(`./Homelab-hqb9RrQ_.js`),__vite__mapDeps([17,1,9,15,2,10,4,7])),`HomelabSeite`)}),zd=ra({getParentRoute:()=>Md,path:`/homelab/updates`,component:R(()=>Su(()=>import(`./Homelab-hqb9RrQ_.js`),__vite__mapDeps([17,1,9,15,2,10,4,7])),`HomelabUpdatesSeite`)}),Bd=ra({getParentRoute:()=>Md,path:`/homelab/monitoring`,component:R(()=>Su(()=>import(`./Monitoring-v7mq5XN5.js`),__vite__mapDeps([16,1])),`HomelabMonitoringSeite`)}),Vd=ra({getParentRoute:()=>Md,path:`/homelab/protokoll`,component:R(()=>Su(()=>import(`./HomelabProtokoll-GISm8NQJ.js`),__vite__mapDeps([18,1,9,15])),`HomelabProtokollSeite`)}),Hd=ra({getParentRoute:()=>Md,path:`/einstellungen`,component:R(()=>Su(()=>import(`./Einstellungen-BMqSfzd8.js`),__vite__mapDeps([19,1,2,10,4])),`EinstellungenSeite`)}),Ud=ra({getParentRoute:()=>Md,path:`/updates`,beforeLoad:()=>{throw ln({to:`/box/updates`})}}),Wd=ra({getParentRoute:()=>Md,path:`/modelle`,beforeLoad:({location:e})=>{throw ln({to:`/box/modelle`,hash:e.hash||void 0})}}),Gd=xa({routeTree:Md.addChildren([Nd,Pd,Fd,Id,Ld,Rd,zd,Bd,Vd,Hd,Ud,Wd]),defaultPreload:`intent`,defaultErrorComponent:Da}),Kd=`mc_neuladen_wegen_version`;function qd(){window.addEventListener(`vite:preloadError`,e=>{sessionStorage.getItem(Kd)||(e.preventDefault(),sessionStorage.setItem(Kd,`1`),window.location.reload())}),window.addEventListener(`load`,()=>{window.setTimeout(()=>sessionStorage.removeItem(Kd),5e3)})}qd();var Jd=new ft({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});(0,Ea.createRoot)(document.getElementById(`root`)).render((0,A.jsx)(k.StrictMode,{children:(0,A.jsx)(ce,{client:Jd,children:(0,A.jsx)(wa,{router:Gd})})}));export{Ts as $,sc as A,jo as At,Qs as B,wo as Bt,Yl as C,gs as Ct,ql as D,Uo as Dt,Ul as E,is as Et,uc as F,Bo as Ft,hc as G,Ka as Gt,tc as H,co as Ht,Ns as I,Ro as It,Ys as J,ea as Jt,gc as K,Ha as Kt,nc as L,Mo as Lt,vc as M,Po as Mt,Vs as N,Fo as Nt,mc as O,No as Ot,Hs as P,Lo as Pt,Ks as Q,re as Qt,Us as R,xo as Rt,Hl as S,vs as St,Vl as T,xs as Tt,$s as U,eo as Ut,_c as V,ho as Vt,dc as W,Xa as Wt,zs as X,I as Xt,Ws as Y,Ii as Yt,Os as Z,se as Zt,Bl as _,ec as _t,Wu as a,ic as at,Xl as b,ys as bt,Yu as c,pc as ct,Lu as d,ws as dt,Es as et,Nu as f,ac as ft,_u as g,js as gt,hu as h,Rs as ht,Xu as i,qs as it,yc as j,Io as jt,cc as k,zo as kt,Ku as l,ks as lt,Su as m,rc as mt,Qu as n,Ms as nt,Gu as o,Js as ot,Pu as p,As as pt,Bs as q,Ta as qt,Zu as r,Ds as rt,Uu as s,fc as st,J as t,Xs as tt,zu as u,oc as ut,Il as v,Gs as vt,Wl as w,_s as wt,$l as x,bs as xt,Ql as y,hs as yt,Is as z,V as zt}; \ No newline at end of file diff --git a/frontend/dist/assets/search-B5rIIYDK.js b/frontend/dist/assets/search--3Jwhcgy.js similarity index 68% rename from frontend/dist/assets/search-B5rIIYDK.js rename to frontend/dist/assets/search--3Jwhcgy.js index 9f6539a..e8c1560 100644 --- a/frontend/dist/assets/search-B5rIIYDK.js +++ b/frontend/dist/assets/search--3Jwhcgy.js @@ -1 +1 @@ -import{Kt as e}from"./index-FvHAYExN.js";var t={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file +import{Kt as e}from"./index-CYmlXdd4.js";var t={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file diff --git a/frontend/dist/assets/sheet-CB1NvtKC.js b/frontend/dist/assets/sheet-s_FTWvn-.js similarity index 96% rename from frontend/dist/assets/sheet-CB1NvtKC.js rename to frontend/dist/assets/sheet-s_FTWvn-.js index 053cc8c..d624fbb 100644 --- a/frontend/dist/assets/sheet-CB1NvtKC.js +++ b/frontend/dist/assets/sheet-s_FTWvn-.js @@ -1 +1 @@ -import{i as e,n as t,r as n,t as r}from"./dist-D4CVSex9.js";import{Vt as i}from"./index-FvHAYExN.js";import{t as a}from"./button-D8rvET0Z.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-LMCPoT8k.js";var p=t();e();var m=n();function h(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(f,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function g(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(l,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let s;return t[5]!==i||t[6]!==a?(s=(0,m.jsx)(o,{"data-slot":`sheet-overlay`,className:a,...i}),t[5]=i,t[6]=a,t[7]=s):s=t[7],s}function v(e){let t=(0,p.c)(17),n,o,s,l,d;t[0]===e?(n=t[1],o=t[2],s=t[3],l=t[4],d=t[5]):({className:o,children:n,side:l,showCloseButton:d,...s}=e,t[0]=e,t[1]=n,t[2]=o,t[3]=s,t[4]=l,t[5]=d);let f=l===void 0?`right`:l,h=d===void 0||d,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,m.jsx)(_,{}),t[6]=v):v=t[6];let y;t[7]===o?y=t[8]:(y=r(`fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,o),t[7]=o,t[8]=y);let b;t[9]===h?b=t[10]:(b=h&&(0,m.jsx)(c,{"data-slot":`sheet-close`,asChild:!0,children:(0,m.jsxs)(a,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,m.jsx)(i,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[9]=h,t[10]=b);let x;return t[11]!==n||t[12]!==s||t[13]!==f||t[14]!==y||t[15]!==b?(x=(0,m.jsxs)(g,{children:[v,(0,m.jsxs)(u,{"data-slot":`sheet-content`,"data-side":f,className:y,...s,children:[n,b]})]}),t[11]=n,t[12]=s,t[13]=f,t[14]=y,t[15]=b,t[16]=x):x=t[16],x}function y(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`flex flex-col gap-0.5 p-4`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(`div`,{"data-slot":`sheet-header`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function b(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`font-heading text-base font-medium text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(d,{"data-slot":`sheet-title`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`text-sm text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(s,{"data-slot":`sheet-description`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{b as a,y as i,v as n,x as r,h as t}; \ No newline at end of file +import{i as e,n as t,r as n,t as r}from"./dist-D4CVSex9.js";import{Vt as i}from"./index-CYmlXdd4.js";import{t as a}from"./button-D8rvET0Z.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-CRmt9osm.js";var p=t();e();var m=n();function h(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(f,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function g(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(l,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let s;return t[5]!==i||t[6]!==a?(s=(0,m.jsx)(o,{"data-slot":`sheet-overlay`,className:a,...i}),t[5]=i,t[6]=a,t[7]=s):s=t[7],s}function v(e){let t=(0,p.c)(17),n,o,s,l,d;t[0]===e?(n=t[1],o=t[2],s=t[3],l=t[4],d=t[5]):({className:o,children:n,side:l,showCloseButton:d,...s}=e,t[0]=e,t[1]=n,t[2]=o,t[3]=s,t[4]=l,t[5]=d);let f=l===void 0?`right`:l,h=d===void 0||d,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,m.jsx)(_,{}),t[6]=v):v=t[6];let y;t[7]===o?y=t[8]:(y=r(`fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,o),t[7]=o,t[8]=y);let b;t[9]===h?b=t[10]:(b=h&&(0,m.jsx)(c,{"data-slot":`sheet-close`,asChild:!0,children:(0,m.jsxs)(a,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,m.jsx)(i,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[9]=h,t[10]=b);let x;return t[11]!==n||t[12]!==s||t[13]!==f||t[14]!==y||t[15]!==b?(x=(0,m.jsxs)(g,{children:[v,(0,m.jsxs)(u,{"data-slot":`sheet-content`,"data-side":f,className:y,...s,children:[n,b]})]}),t[11]=n,t[12]=s,t[13]=f,t[14]=y,t[15]=b,t[16]=x):x=t[16],x}function y(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`flex flex-col gap-0.5 p-4`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(`div`,{"data-slot":`sheet-header`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function b(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`font-heading text-base font-medium text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(d,{"data-slot":`sheet-title`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`text-sm text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(s,{"data-slot":`sheet-description`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{b as a,y as i,v as n,x as r,h as t}; \ No newline at end of file diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 0612dd7..3993704 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -9,7 +9,7 @@ Homelab Orchestrator - + diff --git a/frontend/src/components/homelab/Speicher.tsx b/frontend/src/components/homelab/Speicher.tsx index 6488f9c..27b666b 100644 --- a/frontend/src/components/homelab/Speicher.tsx +++ b/frontend/src/components/homelab/Speicher.tsx @@ -149,7 +149,7 @@ export function Speicher({ daten, laeuft = null, gesperrt = false, onAktion }: { const summe = daten.empfehlungen.reduce((n, e) => n + (e.platz ?? 0), 0) return (
-
+
{daten.pools.map((p) => )} {daten.systemplatte && } {daten.nas.length > 0 ? (