1 line
38 KiB
JavaScript
1 line
38 KiB
JavaScript
import{c as e,o as t,p as n,s as r,t as i,u as a}from"./button-BheHBEml.js";import{$ as o,F as s,M as c,N as l,O as u,P as d,Q as f,R as p,V as m,W as h,_t as g,at as _,b as v,bt as y,ct as b,dt as x,et as S,gt as C,i as w,lt as T,n as E,nt as D,r as O,st as k,tt as A,ut as j,v as M,vt as N,x as P,y as F,yt as I,z as L}from"./index-_ndC28sQ.js";import{a as R,i as z,n as B,r as V,t as ee}from"./sheet-CKp82pOA.js";import{t as te}from"./Bestaetigen-CE_3b0PK.js";import{a as H,r as ne,s as re,t as ie}from"./Auftraege-DzO2OZDP.js";function U(e){let t=N();return g(t.stores.location,C(e,t))}var W={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};W.node;var G=t(W),K=r(),q=n(a(),1),J=e(),ae={coder:`Coder`};function Y(e){let t=(0,K.c)(102),{offen:n,onSchliessen:r,rollenJetzt:a}=e,o=u(),[s,c]=(0,q.useState)(``),[l,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(``),[g,_]=(0,q.useState)(null),v=(0,q.useRef)(!1),y,b;t[0]===l?(y=t[1],b=t[2]):(y=[`hf-suche`,l],b=()=>x(`/api/hf/search?q=${encodeURIComponent(l)}`),t[0]=l,t[1]=y,t[2]=b);let C=l.length>1,w;t[3]!==y||t[4]!==b||t[5]!==C?(w={queryKey:y,queryFn:b,enabled:C},t[3]=y,t[4]=b,t[5]=C,t[6]=w):w=t[6];let T=I(w),E,D;t[7]===f?(E=t[8],D=t[9]):(E=[`hf-quants`,f],D=()=>x(`/api/hf/quants?repo=${encodeURIComponent(f??``)}`),t[7]=f,t[8]=E,t[9]=D);let O=!!f,k;t[10]!==E||t[11]!==D||t[12]!==O?(k={queryKey:E,queryFn:D,enabled:O},t[10]=E,t[11]=D,t[12]=O,t[13]=k):k=t[13];let j=I(k),M,N,P,F,L,H,ie,U,W,G,Y,X,Z;if(t[14]!==g||t[15]!==s||t[16]!==o||t[17]!==n||t[18]!==r||t[19]!==j.data||t[20]!==j.error||t[21]!==j.isError||t[22]!==j.isFetching||t[23]!==f||t[24]!==m||t[25]!==a||t[26]!==T){let e=(j.data?.quants??[]).map(se),l=m?ae[m]??m:null,u;t[40]!==f||t[41]!==m||t[42]!==a||t[43]!==l?(u=l&&f?re(f,l,a[m]):null,t[40]=f,t[41]=m,t[42]=a,t[43]=l,t[44]=u):u=t[44],P=u;let y;t[45]!==g||t[46]!==o||t[47]!==r||t[48]!==f||t[49]!==m?(y=function(){f&&g&&!v.current&&(v.current=!0,o.mutate({repo:f,quant:g.quant,rolle:m||null},{onSuccess:e=>{_(null),e.ok!==!1&&r()},onError:()=>_(null),onSettled:()=>{v.current=!1}}))},t[45]=g,t[46]=o,t[47]=r,t[48]=f,t[49]=m,t[50]=y):y=t[50],F=y,N=ee,Y=n,t[51]===r?X=t[52]:(X=e=>!e&&r(),t[51]=r,t[52]=X),M=B,ie=`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,J.jsxs)(z,{children:[(0,J.jsx)(R,{className:`schild text-lg`,children:`Modelle selbst suchen`}),(0,J.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]===s?b=t[55]:(b=e=>{e.preventDefault(),p(null),d(s.trim())},t[54]=s,t[55]=b);let x;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,J.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=x):x=t[56];let C;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>c(e.target.value),t[57]=C):C=t[57];let w;t[58]===s?w=t[59]:(w=(0,J.jsx)(`input`,{id:`hf-suche`,value:s,onChange:C,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]=s,t[59]=w);let E;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,J.jsx)(i,{type:`submit`,children:`Suchen`}),t[60]=E):E=t[60],t[61]!==b||t[62]!==w?(G=(0,J.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:b,children:[x,w,E]}),t[61]=b,t[62]=w,t[63]=G):G=t[63],Z=`flex flex-col px-4 pb-4`,t[64]!==f||t[65]!==T?(L=!f&&(0,J.jsxs)(J.Fragment,{children:[T.isFetching&&(0,J.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!T.isFetching&&T.isError&&(0,J.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,T.error.message]}),!T.isFetching&&T.data?.results.length===0&&(0,J.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),T.data?.results.map(e=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>p(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,J.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,J.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[A(e.downloads),` ↓`]})]},e.repo))]}),t[64]=f,t[65]=T,t[66]=L):L=t[66],H=f&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:f}),(0,J.jsx)(i,{variant:`ghost`,size:`sm`,onClick:()=>p(null),children:`Zurück`})]}),(0,J.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,J.jsxs)(`select`,{value:m,onChange:e=>h(e.target.value),className:`h-11 min-w-0 rounded-lg border border-linie-stark bg-erhaben px-3 text-foreground`,children:[(0,J.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(ae).map(oe)]})]}),P&&(0,J.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:P}),j.isFetching&&(0,J.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!j.isFetching&&j.isError&&(0,J.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,j.error.message]}),!j.isFetching&&j.data&&e.length===0&&(0,J.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,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2`,children:[(0,J.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,J.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,J.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:S(n,1)}):null,(0,J.jsx)(i,{variant:`outline`,size:`sm`,disabled:o.isPending,onClick:()=>_({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=g,t[15]=s,t[16]=o,t[17]=n,t[18]=r,t[19]=j.data,t[20]=j.error,t[21]=j.isError,t[22]=j.isFetching,t[23]=f,t[24]=m,t[25]=a,t[26]=T,t[27]=M,t[28]=N,t[29]=P,t[30]=F,t[31]=L,t[32]=H,t[33]=ie,t[34]=U,t[35]=W,t[36]=G,t[37]=Y,t[38]=X,t[39]=Z}else M=t[27],N=t[28],P=t[29],F=t[30],L=t[31],H=t[32],ie=t[33],U=t[34],W=t[35],G=t[36],Y=t[37],X=t[38],Z=t[39];let Q;t[67]!==L||t[68]!==H||t[69]!==Z?(Q=(0,J.jsxs)(`div`,{className:Z,children:[L,H]}),t[67]=L,t[68]=H,t[69]=Z,t[70]=Q):Q=t[70];let ce=g!==null,$;t[71]!==g||t[72]!==f?($=g&&f?`${f} (${g.quant}${g.bytes?`, ${S(g.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(g.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=g,t[72]=f,t[73]=$):$=t[73];let le=o.isPending?`Wird gestartet …`:`Installieren`,ue=o.isPending,de;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>_(null),t[74]=de):de=t[74];let fe;t[75]===P?fe=t[76]:(fe=P&&(0,J.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:P}),t[75]=P,t[76]=fe);let pe=!!m,me;t[77]===pe?me=t[78]:(me=ne(pe),t[77]=pe,t[78]=me);let he;t[79]===me?he=t[80]:(he=(0,J.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:me}),t[79]=me,t[80]=he);let ge;t[81]!==o.isPending||t[82]!==F||t[83]!==ce||t[84]!==$||t[85]!==le||t[86]!==fe||t[87]!==he?(ge=(0,J.jsxs)(te,{offen:ce,titel:`Modell installieren?`,text:$,knopf:le,gesperrt:ue,onNein:de,onJa:F,children:[fe,he]}),t[81]=o.isPending,t[82]=F,t[83]=ce,t[84]=$,t[85]=le,t[86]=fe,t[87]=he,t[88]=ge):ge=t[88];let _e;t[89]!==M||t[90]!==ie||t[91]!==U||t[92]!==W||t[93]!==G||t[94]!==Q||t[95]!==ge?(_e=(0,J.jsxs)(M,{side:ie,className:U,children:[W,G,Q,ge]}),t[89]=M,t[90]=ie,t[91]=U,t[92]=W,t[93]=G,t[94]=Q,t[95]=ge,t[96]=_e):_e=t[96];let ve;return t[97]!==N||t[98]!==Y||t[99]!==X||t[100]!==_e?(ve=(0,J.jsx)(N,{open:Y,onOpenChange:X,children:_e}),t[97]=N,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,J.jsx)(`option`,{value:t,children:n},t)}function se(e){return typeof e==`string`?{quant:e}:e}var X=115;function Z(e){let t=(0,K.c)(55),{modelle:n,laufend:r}=e,i=D(),a=h(),s,c,l,u,d,f,p,m,g,_;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=o(i?.ram_total??a.data?.box.ram_total)??122.7,h=o(i?.ram_used??a.data?.box.ram_used)??0,v;t[15]===r?v=t[16]:(v=e=>r.includes(e.name),t[15]=r,t[16]=v);let y=n.filter(v).reduce(Q,0);c=Math.max(0,h-y);let b=t=>`${Math.min(100,t/e*100)}%`;s=E,m=`Speicher`,g=(0,J.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(h),` von `,Math.round(e),` GB belegt · Grenze ~`,X,` GB`]});let x=`Speicher: ${Math.round(h)} von ${Math.round(e)} GB belegt`,S=b(h),C;t[17]===S?C=t[18]:(C={width:S},t[17]=S,t[18]=C);let w=`${h?y/h*100:0}%`,T;t[19]===w?T=t[20]:(T=(0,J.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:w}}),t[19]=w,t[20]=T);let D=`${h?c/h*100:0}%`,O;t[21]===D?O=t[22]:(O=(0,J.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:D}}),t[21]=D,t[22]=O);let k;t[23]!==C||t[24]!==T||t[25]!==O?(k=(0,J.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:C,children:[T,O]}),t[23]=C,t[24]=T,t[25]=O,t[26]=k):k=t[26];let A=b(X),j;t[27]===A?j=t[28]:(j=(0,J.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:A}}),t[27]=A,t[28]=j),t[29]!==x||t[30]!==k||t[31]!==j?(_=(0,J.jsxs)(`div`,{className:`relative h-8 rounded-lg bg-erhaben`,role:`img`,"aria-label":x,children:[k,j]}),t[29]=x,t[30]=k,t[31]=j,t[32]=_):_=t[32],p=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,l=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,J.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=u):u=t[33],d=` Geladene Modelle: `,f=Math.round(y),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=m,t[13]=g,t[14]=_}else s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],g=t[13],_=t[14];let v;t[34]!==l||t[35]!==u||t[36]!==d||t[37]!==f?(v=(0,J.jsxs)(`span`,{className:l,children:[u,d,f,` GB Dateien`]}),t[34]=l,t[35]=u,t[36]=d,t[37]=f,t[38]=v):v=t[38];let y;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=y):y=t[39];let b;t[40]===c?b=t[41]:(b=Math.round(c),t[40]=c,t[41]=b);let x;t[42]===b?x=t[43]:(x=(0,J.jsxs)(`span`,{className:`flex items-center gap-2`,children:[y,` Cache, Dienste, System: `,b,` GB`]}),t[42]=b,t[43]=x);let S;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,J.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=S):S=t[44];let C;t[45]!==x||t[46]!==p||t[47]!==v?(C=(0,J.jsxs)(`div`,{className:p,children:[v,x,S]}),t[45]=x,t[46]=p,t[47]=v,t[48]=C):C=t[48];let w;return t[49]!==s||t[50]!==C||t[51]!==m||t[52]!==g||t[53]!==_?(w=(0,J.jsxs)(s,{titel:m,rechts:g,children:[_,C]}),t[49]=s,t[50]=C,t[51]=m,t[52]=g,t[53]=_,t[54]=w):w=t[54],w}function Q(e,t){return e+(o(t.size_bytes)??0)}function ce(e){let t=(0,K.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,J.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,J.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,J.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 $(e){let t=(0,K.c)(48),{titel:n,modell:r,zwilling:a,laeuft:o,nutzer:s}=e,c=l();if(!r){let e;t[0]===n?e=t[1]:(e=(0,J.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,J.jsx)(O,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,J.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,J.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,J.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,J.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 u;t[9]!==r.ctx||t[10]!==r.parallel_slots?(u=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]=u):u=t[11];let d=u,f=!!r.capabilities?.vision||!!a,p;t[12]===n?p=t[13]:(p=(0,J.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[12]=n,t[13]=p);let m=o?`gruen`:`grau`,h=o?`Geladen`:`Auf Abruf`,g;t[14]!==m||t[15]!==h?(g=(0,J.jsx)(O,{art:m,children:h}),t[14]=m,t[15]=h,t[16]=g):g=t[16];let _;t[17]!==p||t[18]!==g?(_=(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[p,g]}),t[17]=p,t[18]=g,t[19]=_):_=t[19];let v;t[20]===r.name?v=t[21]:(v=(0,J.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=v);let y;t[22]===r.size_bytes?y=t[23]:(y=S(r.size_bytes),t[22]=r.size_bytes,t[23]=y);let b;t[24]===y?b=t[25]:(b=(0,J.jsx)(ce,{name:`Größe`,wert:y}),t[24]=y,t[25]=b);let x=d?`${d}k`:`–`,C;t[26]===x?C=t[27]:(C=(0,J.jsx)(ce,{name:`Kontext`,wert:x}),t[26]=x,t[27]=C);let w=f?`ja`:`nein`,T;t[28]===w?T=t[29]:(T=(0,J.jsx)(ce,{name:`Bilder`,wert:w}),t[28]=w,t[29]=T);let E;t[30]!==C||t[31]!==T||t[32]!==b?(E=(0,J.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[b,C,T]}),t[30]=C,t[31]=T,t[32]=b,t[33]=E):E=t[33];let D=r.spec_active?` Mit Draft-Beschleunigung.`:``,k=a?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,A;t[34]!==s||t[35]!==D||t[36]!==k?(A=(0,J.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,s,`.`,D,k]}),t[34]=s,t[35]=D,t[36]=k,t[37]=A):A=t[37];let j;t[38]!==c||t[39]!==o||t[40]!==r.name?(j=!o&&(0,J.jsx)(i,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>c.mutate(r.name),disabled:c.isPending,children:`Jetzt laden`}),t[38]=c,t[39]=o,t[40]=r.name,t[41]=j):j=t[41];let M;return t[42]!==E||t[43]!==A||t[44]!==j||t[45]!==_||t[46]!==v?(M=(0,J.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-linie bg-panel p-5`,children:[_,v,E,A,j]}),t[42]=E,t[43]=A,t[44]=j,t[45]=_,t[46]=v,t[47]=M):M=t[47],M}function le(e){let t=(0,K.c)(54),{nutzung:n,laedt:r,fehler:i}=e;if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,J.jsx)(E,{titel:`Wer nutzt die Modelle`,children:r?(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,J.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(pe)),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(de),r=Math.max(1,...e);s=E,v=`Wer nutzt die Modelle`,t[21]===n.tage?c=t[22]:(c=(0,J.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,J.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,J.jsxs)(`li`,{className:`flex flex-col gap-1.5`,children:[(0,J.jsxs)(`div`,{className:`flex justify-between gap-3 text-sm`,children:[(0,J.jsx)(`span`,{children:e.name}),(0,J.jsx)(`span`,{className:`ziffern`,children:A(e.anfragen)})]}),(0,J.jsx)(`div`,{className:`h-2 rounded-full bg-erhaben`,children:(0,J.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,J.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,J.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,J.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 y;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(y=[0,6,12,18].map(ue),t[35]=y):y=t[35];let b;t[36]!==d||t[37]!==f||t[38]!==p||t[39]!==m||t[40]!==h?(b=(0,J.jsxs)(`svg`,{viewBox:d,className:f,role:p,"aria-label":m,children:[h,y]}),t[36]=d,t[37]=f,t[38]=p,t[39]=m,t[40]=h,t[41]=b):b=t[41];let x;t[42]!==b||t[43]!==g||t[44]!==_?(x=(0,J.jsxs)(`div`,{className:g,children:[_,b]}),t[42]=b,t[43]=g,t[44]=_,t[45]=x):x=t[45];let S;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,J.jsx)(`p`,{className:`text-xs text-text-3`,children:`Anfragen an llama-swap. NerdQuiz geht direkt dorthin, alles andere über MC2.`}),t[46]=S):S=t[46];let C;return t[47]!==s||t[48]!==c||t[49]!==l||t[50]!==u||t[51]!==x||t[52]!==v?(C=(0,J.jsxs)(s,{titel:v,rechts:c,children:[l,u,x,S]}),t[47]=s,t[48]=c,t[49]=l,t[50]=u,t[51]=x,t[52]=v,t[53]=C):C=t[53],C}function ue(e){return(0,J.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 de(e){return Object.values(e.je_absender).reduce(fe,0)}function fe(e,t){return e+t}function pe(e){return e.anfragen}var me={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},he={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function ge(e){let t=(0,K.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,J.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,J.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,J.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,J.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,J.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(_e)]})}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 _e(e){let[t,n]=e;return(0,J.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-linie py-1`,children:[(0,J.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,J.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${he[n.urteil??``]??`text-text-2`}`,children:b(n.kandidat,n.einheit)}),(0,J.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:b(n.baseline,n.einheit)})]},t)}function ve(e){let t=(0,K.c)(59),{k:n,test:r,heute:a}=e,o=L(),[s,c]=(0,q.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=l):l=t[0];let u=l.includes(n.status),d=n.rolle===`hirn`,f;t[1]===n.name?f=t[2]:(f=(0,J.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=f);let p=d?`fürs Hirn`:`fürs Coden`,m;t[3]===p?m=t[4]:(m=(0,J.jsx)(O,{art:`cyan`,children:p}),t[3]=p,t[4]=m);let h;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(h=n.groesse_gb!=null&&(0,J.jsx)(O,{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]=h):h=t[8];let g=me[n.status]??`grau`,v=_[n.status]??n.status,y;t[9]!==g||t[10]!==v?(y=(0,J.jsx)(O,{art:g,children:v}),t[9]=g,t[10]=v,t[11]=y):y=t[11];let b;t[12]!==f||t[13]!==m||t[14]!==h||t[15]!==y?(b=(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f,m,h,y]}),t[12]=f,t[13]=m,t[14]=h,t[15]=y,t[16]=b):b=t[16];let x;t[17]===n.groesse_gb?x=t[18]:(x=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=x);let S;t[19]!==n.begruendung||t[20]!==x?(S=(0,J.jsxs)(`p`,{className:`text-sm text-text-2`,children:[x,n.begruendung]}),t[19]=n.begruendung,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==n.status||t[23]!==r?(C=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,J.jsx)(ge,{test:r}),t[22]=n.status,t[23]=r,t[24]=C):C=t[24];let w;t[25]!==o.isPending||t[26]!==n.status||t[27]!==u?(w=u&&(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.status===`bestanden`&&(0,J.jsx)(i,{size:`sm`,disabled:o.isPending,onClick:()=>c(`uebernehmen`),children:`Übernehmen`}),(0,J.jsx)(i,{variant:`outline`,size:`sm`,disabled:o.isPending,onClick:()=>c(`verwerfen`),children:`Verwerfen`})]}),t[25]=o.isPending,t[26]=n.status,t[27]=u,t[28]=w):w=t[28];let T=s===`uebernehmen`,E=`${n.name} übernehmen?`,D=d?`${n.name} wird Lucys Hirn${a?` und löst ${a} 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${a?` und löst ${a} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,k;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(k=()=>c(null),t[29]=k):k=t[29];let A;t[30]!==o||t[31]!==s||t[32]!==n.id||t[33]!==n.name?(A=()=>{s===`uebernehmen`&&(o.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),c(null))},t[30]=o,t[31]=s,t[32]=n.id,t[33]=n.name,t[34]=A):A=t[34];let j;t[35]!==o.isPending||t[36]!==T||t[37]!==E||t[38]!==D||t[39]!==A?(j=(0,J.jsx)(te,{offen:T,titel:E,text:D,knopf:`Übernehmen`,gesperrt:o.isPending,onNein:k,onJa:A}),t[35]=o.isPending,t[36]=T,t[37]=E,t[38]=D,t[39]=A,t[40]=j):j=t[40];let M=s===`verwerfen`,N=`${n.name} verwerfen?`,P;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>c(null),t[41]=P):P=t[41];let F;t[42]!==o||t[43]!==s||t[44]!==n.id||t[45]!==n.name?(F=()=>{s===`verwerfen`&&(o.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),c(null))},t[42]=o,t[43]=s,t[44]=n.id,t[45]=n.name,t[46]=F):F=t[46];let I;t[47]!==o.isPending||t[48]!==M||t[49]!==N||t[50]!==F?(I=(0,J.jsx)(te,{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:o.isPending,onNein:P,onJa:F}),t[47]=o.isPending,t[48]=M,t[49]=N,t[50]=F,t[51]=I):I=t[51];let R;return t[52]!==S||t[53]!==C||t[54]!==w||t[55]!==j||t[56]!==I||t[57]!==b?(R=(0,J.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3.5`,children:[b,S,C,w,j,I]}),t[52]=S,t[53]=C,t[54]=w,t[55]=j,t[56]=I,t[57]=b,t[58]=R):R=t[58],R}function ye(e){let t=(0,K.c)(30),{hirn:n,coder:r}=e,a=p(),o=m(),s=c(),l=y(),u=s.data?.jobs,d=(u??[]).filter(xe).at(-1),h=o.data?.job_id,g;t[0]!==h||t[1]!==u?(g=!!h&&!!u&&!u.some(e=>e.id===h),t[0]=h,t[1]=u,t[2]=g):g=t[2];let _=g,v=o.isPending||_||d!==void 0&&k(d),b=(0,q.useRef)(v);if((0,q.useEffect)(()=>{b.current&&!v&&l.invalidateQueries({queryKey:[`radar`]}),b.current=v},[v,l]),a.isError&&!a.data){let e=a.error instanceof j&&a.error.status===404,n;return t[3]!==e||t[4]!==a.error?(n=(0,J.jsx)(E,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,J.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,a.error.message]})}),t[3]=e,t[4]=a.error,t[5]=n):n=t[5],n}let x=a.data,S=E,C;t[6]===o?C=t[7]:(C=()=>o.mutate(void 0),t[6]=o,t[7]=C);let w=v?`Sucht …`:`Jetzt suchen`,T;t[8]!==v||t[9]!==C||t[10]!==w?(T=(0,J.jsx)(i,{variant:`info`,size:`sm`,onClick:C,disabled:v,children:w}),t[8]=v,t[9]=C,t[10]=w,t[11]=T):T=t[11];let D;t[12]===x?D=t[13]:(D=x?.naechster_test?` Nächster Test: ${f(x.naechster_test)}.`:``,t[12]=x,t[13]=D);let O=v?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,A;t[14]!==D||t[15]!==O?(A=(0,J.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.`,D,O]}),t[14]=D,t[15]=O,t[16]=A):A=t[16];let M=!v&&d?.state===`failed`&&(0,J.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,H(d)??`ohne Meldung`]}),N;t[17]!==r||t[18]!==x||t[19]!==n?(N=x?x.kandidaten.length===0?(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,J.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:x.kandidaten.map(e=>(0,J.jsx)(ve,{k:e,test:x.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=x,t[19]=n,t[20]=N):N=t[20];let P;t[21]===x?P=t[22]:(P=x&&x.tests.length>0&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`h3`,{className:`schild text-xs text-text-3`,children:`Letzte Tests`}),x.tests.slice(0,3).map(be)]}),t[21]=x,t[22]=P);let F;return t[23]!==S||t[24]!==A||t[25]!==M||t[26]!==N||t[27]!==P||t[28]!==T?(F=(0,J.jsxs)(S,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:T,children:[A,M,N,P]}),t[23]=S,t[24]=A,t[25]=M,t[26]=N,t[27]=P,t[28]=T,t[29]=F):F=t[29],F}function be(e){return(0,J.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,J.jsx)(`span`,{className:`ziffern text-text-3`,children:f(e.datum)}),` · `,e.zusammenfassung]},e.id)}function xe(e){return e.group===`radar`}function Se(){let e=(0,K.c)(37),t=v(),n=P(),[r,a]=(0,q.useState)(null),o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError){u=Symbol.for(`react.early_return_sentinel`);bb0:{s=t.data?.kandidaten??[];let n=s.reduce(Ce,0);if(t.isError&&!t.data){let n;e[8]===t.error.message?n=e[9]:(n=(0,J.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[8]=t.error.message,e[9]=n);let r;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(Te,{}),e[10]=r):r=e[10];let i;e[11]===n?i=e[12]:(i=(0,J.jsxs)(E,{titel:`Aufräumen`,children:[n,r]}),e[11]=n,e[12]=i),u=i;break bb0}o=E,c=`Aufräumen`,l=s.length>0?(0,J.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,n.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=o,e[4]=s,e[5]=c,e[6]=l,e[7]=u}else o=e[3],s=e[4],c=e[5],l=e[6],u=e[7];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,J.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[13]=d):d=e[13];let f;e[14]!==s||e[15]!==t.isPending||e[16]!==n.isPending?(f=t.isPending?(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):s.length===0?(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,J.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:s.map(e=>(0,J.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,J.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,J.jsx)(O,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,J.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,J.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,J.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,J.jsx)(i,{variant:`gefahr`,size:`sm`,disabled:n.isPending,onClick:()=>a(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))}),e[14]=s,e[15]=t.isPending,e[16]=n.isPending,e[17]=f):f=e[17];let p=r!==null,m=`${r?.name??``} löschen?`,h;e[18]===r?.groesse_gb?h=e[19]:(h=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[18]=r?.groesse_gb,e[19]=h);let g=`${r?.hinweis??``} Es werden ${h} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,_;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>a(null),e[20]=_):_=e[20];let y;e[21]!==r||e[22]!==n?(y=()=>{r&&n.mutate(r),a(null)},e[21]=r,e[22]=n,e[23]=y):y=e[23];let b;e[24]!==n.isPending||e[25]!==y||e[26]!==p||e[27]!==m||e[28]!==g?(b=(0,J.jsx)(te,{offen:p,gefahr:!0,titel:m,text:g,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:_,onJa:y}),e[24]=n.isPending,e[25]=y,e[26]=p,e[27]=m,e[28]=g,e[29]=b):b=e[29];let x;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,J.jsx)(Te,{}),e[30]=x):x=e[30];let S;return e[31]!==o||e[32]!==c||e[33]!==l||e[34]!==b||e[35]!==f?(S=(0,J.jsxs)(o,{titel:c,rechts:l,children:[d,f,b,x]}),e[31]=o,e[32]=c,e[33]=l,e[34]=b,e[35]=f,e[36]=S):S=e[36],S}function Ce(e,t){return e+t.groesse_gb}function we(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 Te(){let e=(0,K.c)(36),t=F(),n=M(),[r,a]=(0,q.useState)(null),o,s,c,l,u;if(e[0]!==t.data?.altreste){o=t.data?.altreste??[];let n=o.reduce(Ee,0);u=`flex flex-col gap-2`,s=`flex flex-wrap items-center justify-between gap-3 border-t border-linie pt-4`,e[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(`h3`,{className:`schild text-sm text-text-3`,children:`Altreste neben dem Betrieb`}),e[6]=c):c=e[6],l=o.length>0&&(0,J.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`zusammen `,we(n)]}),e[0]=t.data?.altreste,e[1]=o,e[2]=s,e[3]=c,e[4]=l,e[5]=u}else o=e[1],s=e[2],c=e[3],l=e[4],u=e[5];let d;e[7]!==s||e[8]!==c||e[9]!==l?(d=(0,J.jsxs)(`div`,{className:s,children:[c,l]}),e[7]=s,e[8]=c,e[9]=l,e[10]=d):d=e[10];let f;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,J.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.`}),e[11]=f):f=e[11];let p;e[12]!==t.data||e[13]!==t.error||e[14]!==t.isError||e[15]!==t.isPending||e[16]!==n.isPending||e[17]!==o?(p=t.isPending?(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,J.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):o.length===0?(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,J.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:o.map(e=>(0,J.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,J.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,J.jsx)(O,{children:`Altrest`})]}),(0,J.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,J.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,J.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,J.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,J.jsx)(i,{variant:`gefahr`,size:`sm`,disabled:n.isPending,onClick:()=>a(e),children:`Löschen`})]})]},e.id))}),e[12]=t.data,e[13]=t.error,e[14]=t.isError,e[15]=t.isPending,e[16]=n.isPending,e[17]=o,e[18]=p):p=e[18];let m=r!==null,h=`${r?.name??``} löschen?`,g;e[19]===r?.pfade?g=e[20]:(g=r?.pfade.join(`, `)??``,e[19]=r?.pfade,e[20]=g);let _=`${r?.hinweis??``} Gelöscht wird: ${g} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,v;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>a(null),e[21]=v):v=e[21];let y;e[22]!==r||e[23]!==n?(y=()=>{r&&n.mutate(r),a(null)},e[22]=r,e[23]=n,e[24]=y):y=e[24];let b;e[25]!==n.isPending||e[26]!==_||e[27]!==y||e[28]!==m||e[29]!==h?(b=(0,J.jsx)(te,{offen:m,gefahr:!0,titel:h,text:_,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:v,onJa:y}),e[25]=n.isPending,e[26]=_,e[27]=y,e[28]=m,e[29]=h,e[30]=b):b=e[30];let x;return e[31]!==b||e[32]!==u||e[33]!==d||e[34]!==p?(x=(0,J.jsxs)(`div`,{className:u,children:[d,f,p,b]}),e[31]=b,e[32]=u,e[33]=d,e[34]=p,e[35]=x):x=e[35],x}function Ee(e,t){return e+t.groesse_bytes}function De(){let e=(0,K.c)(74),t=d(),n=s(),r=p(),a=c(),[o,l]=(0,q.useState)(!1),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={select:je},e[0]=u):u=e[0];let m=U(u),h=!!t.data&&!n.isPending&&!r.isPending&&!a.isPending,g,_;if(e[1]!==h||e[2]!==m?(g=()=>{h&&m===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},_=[h,m],e[1]=h,e[2]=m,e[3]=g,e[4]=_):(g=e[3],_=e[4]),(0,q.useEffect)(g,_),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsx)(w,{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,J.jsx)(w,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let v=t.data.models,y=t.data.running,b,x,C,T,D,O,k,A,j,M,N,P;if(e[8]!==y||e[9]!==v||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=v.find(Ae);x=v.find(ke);let r;e[25]===v?r=e[26]:(r=(e,t)=>e?v.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[25]=v,e[26]=r);let a=r,o=a(t,`vision`);C=a(x,`coder-bild`);let s=v.filter(e=>![t,x,o,C].includes(e)),c;e[27]===n.data?.zuletzt_geladen?c=e[28]:(c=n.data?.zuletzt_geladen??{},e[27]=n.data?.zuletzt_geladen,e[28]=c);let u=c;e[29]!==y||e[30]!==v?(N=(0,J.jsx)(Z,{modelle:v,laufend:y}),e[29]=y,e[30]=v,e[31]=N):N=e[31],e[32]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,J.jsx)(ie,{alsPanel:!0}),e[32]=P):P=e[32];let d;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,J.jsx)($,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[33]=d):d=e[33],T=(0,J.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,J.jsx)($,{titel:`Hirn`,modell:t,zwilling:o,laeuft:!!t&&y.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,J.jsx)($,{titel:`Coder`,modell:x,zwilling:C,laeuft:!!x&&y.includes(x.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),d]});let p=n.error?.message??null,m;e[34]!==n.data||e[35]!==n.isPending||e[36]!==p?(m=(0,J.jsx)(le,{nutzung:n.data,laedt:n.isPending,fehler:p}),e[34]=n.data,e[35]=n.isPending,e[36]=p,e[37]=m):m=e[37];let h=t?.name,g=x?.name,_;e[38]!==h||e[39]!==g?(_=(0,J.jsx)(ye,{hirn:h,coder:g}),e[38]=h,e[39]=g,e[40]=_):_=e[40],e[41]!==m||e[42]!==_?(D=(0,J.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]`,children:[m,_]}),e[41]=m,e[42]=_,e[43]=D):D=e[43],b=E,A=`Weitere Einträge`,e[44]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,J.jsxs)(i,{variant:`outline`,size:`sm`,onClick:()=>l(!0),children:[(0,J.jsx)(G,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[44]=j):j=e[44],M=s.length===0&&(0,J.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),O=`m-0 flex list-none flex-col p-0`;let w;e[45]!==y||e[46]!==u?(w=e=>(0,J.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,J.jsxs)(`span`,{className:`min-w-0`,children:[(0,J.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,J.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,J.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:S(e.size_bytes)}),(0,J.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:y.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${f(u[e.name])}`:`länger nicht geladen`})]},e.name),e[45]=y,e[46]=u,e[47]=w):w=e[47],k=s.map(w),e[8]=y,e[9]=v,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=b,e[14]=x,e[15]=C,e[16]=T,e[17]=D,e[18]=O,e[19]=k,e[20]=A,e[21]=j,e[22]=M,e[23]=N,e[24]=P}else b=e[13],x=e[14],C=e[15],T=e[16],D=e[17],O=e[18],k=e[19],A=e[20],j=e[21],M=e[22],N=e[23],P=e[24];let F;e[48]!==O||e[49]!==k?(F=(0,J.jsx)(`ul`,{className:O,children:k}),e[48]=O,e[49]=k,e[50]=F):F=e[50];let I;e[51]!==b||e[52]!==F||e[53]!==A||e[54]!==j||e[55]!==M?(I=(0,J.jsxs)(b,{titel:A,rechts:j,children:[M,F]}),e[51]=b,e[52]=F,e[53]=A,e[54]=j,e[55]=M,e[56]=I):I=e[56];let L;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,J.jsx)(Se,{}),e[57]=L):L=e[57];let R;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(R=()=>l(!1),e[58]=R):R=e[58];let z;e[59]!==x||e[60]!==C?(z=x?{name:x.name,zwilling:!!C,weitere:x.aliases.filter(Oe)}:void 0,e[59]=x,e[60]=C,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]!==o||e[65]!==B?(V=(0,J.jsx)(Y,{offen:o,onSchliessen:R,rollenJetzt:B}),e[64]=o,e[65]=B,e[66]=V):V=e[66];let ee;return e[67]!==T||e[68]!==D||e[69]!==I||e[70]!==V||e[71]!==N||e[72]!==P?(ee=(0,J.jsxs)(J.Fragment,{children:[N,P,T,D,I,L,V]}),e[67]=T,e[68]=D,e[69]=I,e[70]=V,e[71]=N,e[72]=P,e[73]=ee):ee=e[73],ee}function Oe(e){return e.toLowerCase()!==`coder`}function ke(e){return T(e)===`coder`}function Ae(e){return T(e)===`hirn`}function je(e){return e.hash}export{De as ModelleSeite}; |