PageSourceSearch

https://boomo.io/assets/ProfileSecurity-COncc94X.js

js boomo.io collected 2026-10-08 19:43:57 UTC 18,917 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["/assets/index-CPlqvBbY.js?dpl=dpl_HHcTmBTtwEnZFDYd2fvMaFocEobW","/assets/query-Cv7TMIMb.js?dpl=dpl_HHcTmBTtwEnZFDYd2fvMaFocEobW","/assets/react-vendor-CuxgGW6S.js?dpl=dpl_HHcTmBTtwEnZFDYd2fvMaFocEobW","/assets/ui-vendor-seEETszD.js?dpl=dpl_HHcTmBTtwEnZFDYd2fvMaFocEobW","/assets/supabase-CUQpzalg.js?dpl=dpl_HHcTmBTtwEnZFDYd2fvMaFocEobW","/assets/dates-BF29MinS.js?dpl=dpl_HHcTmBTtwEnZFDYd2fvMaFocEobW","/assets/index-DOMFZPPP.css"])))=>i.map(i=>d[i]);
2import{a as s,j as e}from"./query-Cv7TMIMb.js";import{e as P,G as J,J as K,K as W,V as Z,T as v,C as $,B as C,ay as M,az as G,aA as p,s as o,aB as Q,i as U,au as Y,a as X,aC as q,aD as ee,aE as te,aF as se,x as ne,ap as ie}from"./index-CPlqvBbY.js";import{P as ae}from"./ProfileShell-Cnp-fkOv.js";import{S as H,a as O}from"./SettingsRow-DjlNtt0d.js";import{_ as re}from"./pdf-Bj1Od7c8.js";import{$ as oe,J as D,cd as le,cj as ce,bh as de,bi as he,b9 as ue}from"./ui-vendor-seEETszD.js";import{i as me,g as xe,a as fe,d as pe}from"./biometric-DdgWT1hm.js";import{b as ge}from"./react-vendor-CuxgGW6S.js";import"./three-DyNlscO1.js";import"./charts-BRijplOf.js";import"./supabase-CUQpzalg.js";import"./dates-BF29MinS.js";import"./CustomerLayout-BbNBBdtE.js";import"./PageHeader-_uy-x6Rw.js";const ve=()=>{const{toast:n}=P(),[l,h]=s.useState("idle"),[i,F]=s.useState(""),[k,y]=s.useState(""),[f,w]=s.useState(""),[r,u]=s.useState(""),[c,m]=s.useState(!1),A=async()=>{const{data:a}=await o.auth.mfa.listFactors(),d=Q(a==null?void 0:a.totp);d&&(h("enabled"),w(d.id))};s.useEffect(()=>{A()},[]);const S=async()=>{m(!0);try{const{data:a}=await o.auth.mfa.listFactors();for(const j of(a==null?void 0:a.all)??[])j.status==="unverified"&&await o.auth.mfa.unenroll({factorId:j.id}).catch(()=>{});const{data:d,error:x}=await o.auth.mfa.enroll({factorType:"totp",friendlyName:"boomo Authenticator"});if(x)throw x;F(d.totp.qr_code),y(d.totp.secret),w(d.id),h("enrolling")}catch(a){console.error("[TwoFactorSetup] action failed:",a),n({title:"Fehler",description:"2FA konnte nicht aktiviert werden.",variant:"destructive"}),h("error")}finally{m(!1)}},B=async()=>{if(r.length===6){m(!0);try{const{data:a,error:d}=await o.auth.mfa.challenge({factorId:f});if(d)throw d;const{error:x}=await o.auth.mfa.verify({factorId:f,challengeId:a.id,code:r});if(x)throw x;window.dispatchEvent(new CustomEvent("boomo:mfa-status-changed")),h("enabled"),n({title:"2FA aktiviert",description:"Zwei-Faktor-Authentifizierung ist jetzt aktiv. Beim nächsten Login wirst du nach dem 6-stelligen Code gefragt."})}catch(a){console.error("[TwoFactorSetup] action failed:",a),n({title:"Ungültiger Code",description:"Bitte prüfe den Code und versuche es erneut.",variant:"destructive"})}finally{m(!1),u("")}}},L=()=>{u(""),h("disabling")},E=async()=>{if(!(r.length!==6||!f)){m(!0);try{const{data:a,error:d}=await o.auth.mfa.challenge({factorId:f});if(d)throw d;const{error:x}=await o.auth.mfa.verify({factorId:f,challengeId:a.id,code:r});if(x)throw x;const{error:j}=await o.auth.mfa.unenroll({factorId:f});if(j)throw j;try{const{data:z}=await o.auth.mfa.listFactors();for(const N of(z==null?void 0:z.totp)??[])N.status==="verified"&&await o.auth.mfa.unenroll({factorId:N.id}).catch(()=>{});const{revokeAllTrustedDevices:I}=await re(async()=>{const{revokeAllTrustedDevices:N}=await import("./index-CPlqvBbY.js").then(T=>T.ba);return{revokeAllTrustedDevices:N}},__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url);await I().catch(()=>{})}catch{}window.dispatchEvent(new CustomEvent("boomo:mfa-status-changed")),h("idle"),w(""),n({title:"2FA deaktiviert"})}catch{n({title:"Fehler",description:"Code ungültig oder 2FA konnte nicht deaktiviert werden.",variant:"destructive"})}finally{m(!1),u("")}}};return e.jsxs(J,{children:[e.jsxs(K,{children:[e.jsxs(W,{className:"text-base flex items-center gap-2",children:[e.jsx(oe,{className:"h-4 w-4"}),"Zwei-Faktor-Authentifizierung"]}),e.jsx(Z,{children:e.jsx(v,{children:"Schütze dein Konto mit einer Authenticator-App (Google Authenticator, Authy, etc.)"})})]}),e.jsxs($,{children:[l==="idle"&&e.jsxs(C,{onClick:S,disabled:c,
2children:[c&&e.jsx(D,{className:"h-4 w-4 mr-2 animate-spin"}),"2FA aktivieren"]}),l==="enrolling"&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:e.jsx(v,{children:"Scanne diesen QR-Code mit deiner Authenticator-App:"})}),i&&e.jsx("img",{src:i,alt:"QR-Code für 2FA",className:"w-48 h-48 mx-auto border rounded-lg"}),e.jsxs("details",{className:"text-xs text-muted-foreground",children:[e.jsx("summary",{className:"cursor-pointer",children:"Manuell eingeben"}),e.jsx("code",{className:"block mt-1 p-2 bg-muted rounded text-[10px] break-all",children:k})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"Code eingeben:"}),e.jsx(M,{maxLength:6,value:r,onChange:u,children:e.jsxs(G,{children:[e.jsx(p,{index:0}),e.jsx(p,{index:1}),e.jsx(p,{index:2}),e.jsx(p,{index:3}),e.jsx(p,{index:4}),e.jsx(p,{index:5})]})}),e.jsxs(C,{onClick:B,disabled:r.length!==6||c,className:"w-full",children:[c&&e.jsx(D,{className:"h-4 w-4 mr-2 animate-spin"}),"Bestätigen"]})]})]}),l==="enabled"&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-green-600",children:[e.jsx(le,{className:"h-5 w-5"}),e.jsx("span",{className:"text-sm font-medium",children:"2FA ist aktiv"})]}),e.jsxs(C,{variant:"outline",size:"sm",onClick:L,disabled:c,children:[e.jsx(ce,{className:"h-3.5 w-3.5 mr-1.5"}),"2FA deaktivieren"]})]}),l==="disabling"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:e.jsx(v,{children:"Zur Deaktivierung bitte den aktuellen 6-stelligen Code aus deiner Authenticator-App eingeben:"})}),e.jsx(M,{maxLength:6,value:r,onChange:u,children:e.jsxs(G,{children:[e.jsx(p,{index:0}),e.jsx(p,{index:1}),e.jsx(p,{index:2}),e.jsx(p,{index:3}),e.jsx(p,{index:4}),e.jsx(p,{index:5})]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(C,{variant:"outline",size:"sm",onClick:()=>{u(""),h("enabled")},disabled:c,children:"Abbrechen"}),e.jsxs(C,{variant:"destructive",size:"sm",onClick:E,disabled:r.length!==6||c,children:[c&&e.jsx(D,{className:"h-4 w-4 mr-2 animate-spin"}),"2FA deaktivieren"]})]})]}),l==="error"&&e.jsxs("div",{className:"text-sm text-destructive",children:["Fehler bei der 2FA-Einrichtung.",e.jsx(C,{variant:"link",size:"sm",onClick:()=>h("idle"),children:"Erneut versuchen"})]})]})]})},je=()=>{const{toast:n}=P(),[l,h]=s.useState(null),[i,F]=s.useState(!1),[k,y]=s.useState(null),[f,w]=s.useState(!1);if(s.useEffect(()=>{if(!U()){h(!1);return}(async()=>{const A=await me();h(A),A&&(y(await xe()),F(!!fe()))})()},[]),l===!1||l===null)return null;const r=k==null?void 0:k.toLowerCase().includes("face"),u=r?de:he,c=r?"Face ID":Y()==="android"?"Fingerabdruck":"Touch ID",m=async()=>{w(!0),await pe(),F(!1),n({title:"Deaktiviert",description:`${c}-Login ist nicht mehr aktiv.`}),w(!1)};return e.jsxs(J,{children:[e.jsx(K,{children:e.jsxs(W,{className:"flex items-center gap-2",children:[e.jsx(u,{className:"h-5 w-5"}),c]})}),e.jsxs($,{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:i?e.jsx(e.Fragment,{children:e.jsx(v,{children:`${c}-Login ist aktiv. Beim Login erscheint der Biometrie-Prompt automatisch.`})}):e.jsxs(e.Fragment,{children:[e.jsx(v,{children:"Aktiviere"})," ",c,"-Login beim nächsten Login per E-Mail und Passwort: dort erscheint eine Abfrage zum Aktivieren."]})}),i?e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-green-700 dark:text-green-400",children:[e.jsx(ue,{className:"h-4 w-4"}),"Aktiv"]}),e.jsxs(C,{variant:"outline",size:"sm",onClick:m,disabled:f,className:"rounded-xl",children:[f&&e.jsx(D,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Deaktivieren"]})]}):e.jsx("p",{className:"text-xs text-muted-foreground",children:e.jsx(v,{children:"Tipp: nach Logout neu einloggen, dann erscheint der Aktivierungs-Dialog."})})]})]})};function Ie(){const{user:n}=X(),l=q(n==null?void 0:n.identities),h=ge(),{toast:i}=P(),[F,k]=s.useState(!1),[y,f]=s.useState(""),[w,r]=s.useState(!1),[u,c]=s.useState(!1);s.useEffect(()=>{let t=!1;const g=async()=>{try{const{data:_}=await o.auth.mfa.listFactors();if(t)return;c(((_==null?void 0:_.totp)??[]).some(V=>V.status==="verified"))}catch{}};g();const b=()=>g();return window.addEventListener("boomo:mfa-status-changed",b),()=>{t=!0,window.removeEventListener("boomo:mfa-status-changed",b)}},[]);const[m,A]=s.useState(""),[S,B]=s.useState(!1),[L,E]=s.useState([]),[a,d]=s.useState(!1),[x,j]=s.useState(null);s.useEffect(()=>{let t=!1;return ee().then(g=>{t||E(g.filter(b=>!b.revoked_at))}).catch(()=>{}).finally(()=>{t||d(!0)}),()=>{t=!0}},[]);async function z(t){j(t);try{await te(t),E(g=>g.filter(b=>b.id!==t)),i({title:"Gerät entfernt",description:"Dieses Gerät braucht beim nächsten Login wieder einen 2FA-Code."})}catch{i({title:"Fehler",description:"Gerät konnte nicht entfernt werden.",variant:"destructive"})}finally{j(null)}}async function I(){j("all");try{await se(),E([]),i({title:"Alle Geräte entfernt",description:"Jeder Login braucht wieder einen 2FA-Code."})}catch{i({title:"Fehler",description:"Geräte konnten nicht entfernt werden.",variant:"destructive"})}finally{j(null)}}const N=t=>new Date(t).toLocaleDateString("de-AT",{day:"2-digit",month:"2-digit",year:"numeric"});async function T(){if(!(n!=null&&n.email))return;const{error:t}=await o.auth.resetPasswordForEmail(n.email,{redirectTo:`${ne()}/reset-password`});i(t?{title:"Fehler",description:t.message,variant:"destructive"}:{title:"E-Mail gesendet",description:"Prüfe dein Postfach für den Reset-Link."})}async function R(){if(!(!n||y!=="LÖSCHEN")){if(l){r(!0);const t=await ie(l);if(t.status!=="angemeldet"){r(!1),t.status==="fehler"&&i({title:"Fehler",description:t.meldung,variant:"destructive"});return}}else if(!m){i({title:"Passwort erforderlich",description:"Bitte gib dein aktuelles Passwort ein.",variant:"destructive"});return}r(!0);try{const{data:{session:t}}=await o.auth.getSession();if(!t)throw new Error("Keine aktive Session");const g=await fetch("https://sglopfavaomcjajreorw.supabase.co/functions/v1/super-admin/delete-user",{method:"POST",headers:{Authorization:`Bearer ${t.access_token}`,apikey:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InNnbG9wZmF2YW9tY2phanJlb3J3Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzUwNTYzNzQsImV4cCI6MjA5MDYzMjM3NH0._4Nj
2QN5EW9E3Gk8tLsUMu1RNuEo6ekzTHssAgkfWWsI","Content-Type":"application/json"},body:JSON.stringify({userId:n.id,selfDelete:!0,...l?{}:{password:m}})});if(!g.ok){const b=await g.json().catch(()=>({}));throw new Error(b.message||b.error||"Löschung fehlgeschlagen")}await o.auth.signOut(),h("/"),i({title:"Konto gelöscht",description:"Dein Konto wurde dauerhaft entfernt."})}catch(t){i({title:"Fehler",description:t instanceof Error?t.message:"Löschung fehlgeschlagen.",variant:"destructive"})}finally{r(!1)}}}return e.jsxs(ae,{withBack:!0,eyebrow:"Konto · Sicherheit",title:"Konto-Sicherheit",subtitle:"Schütze dein Konto mit Passwort + 2FA.",children:[e.jsxs(H,{title:"Anmeldung",children:[e.jsx(O,{onClick:T,iconBg:"bg-terracotta-soft",iconColor:"text-terracotta",icon:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:1.75,viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"})}),title:"Passwort ändern",subtitle:"Reset-Link per E-Mail erhalten"}),e.jsxs("button",{type:"button",onClick:()=>B(t=>
2!t),className:"grid grid-cols-[auto_1fr_auto_auto] gap-3.5 items-center px-4 sm:px-[18px] py-4 rounded-2xl transition-all hover:bg-white/55 active:scale-[.99] cursor-pointer w-full text-left","aria-expanded":S,"aria-controls":"twofa-panel",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0 bg-aubergine/15",children:e.jsx("span",{className:"text-aubergine",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:1.75,viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 15v2m0 0v2m0-2h2m-2 0h-2m9-2a9 9 0 11-18 0 9 9 0 0118 0zM12 7v4"})})})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"font-display font-bold text-base",children:"2-Faktor-Authentifizierung"}),e.jsx("p",{className:"text-xs sm:text-sm text-ink/75 truncate",children:u?S?"Verwaltung anzeigen":"Aktiv via Authenticator-App, tippen zum Verwalten":"Empfohlen, tippen zum Einrichten"})]}),e.jsx("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-bold flex-shrink-0 ${u?"bg-sage/30 text-sage-deep":"bg-clay-soft text-ink/80"}`,children:u?"2FA an":"2FA aus"}),e.jsx("svg",{className:`w-5 h-5 text-ink/35 flex-shrink-0 transition-transform ${S?"rotate-90":""}`,fill:"none",stroke:"currentColor",strokeWidth:1.75,viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})]})]}),S&&e.jsxs("section",{id:"twofa-panel",children:[e.jsx("h3",{className:"eyebrow mb-3 px-1.5",children:u?"2FA verwalten":"2FA einrichten"}),e.jsx("div",{className:"bg-white border border-ink/10 rounded-2xl p-5 sm:p-6",children:e.jsx(ve,{})})]}),e.jsx(je,{}),e.jsx(H,{title:"Sitzungen",children:e.jsx(O,{onClick:async()=>{await o.auth.signOut({scope:"others"}),i({title:"Andere Sessions abgemeldet",description:"Diese Sitzung bleibt aktiv."})},iconBg:"bg-olive-soft",iconColor:"text-olive",icon:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:1.75,viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})}),title:"Andere Sitzungen abmelden",subtitle:"Auf allen anderen Geräten ausloggen",noChevron:!0})}),a&&L.length>0&&e.jsxs("section",{children:[e.jsx("h3",{className:"eyebrow mb-3 px-1.5",children:"Vertraute Geräte"}),e.jsxs("div",{className:"bg-white border border-ink/10 rounded-2xl p-5 sm:p-6 space-y-4",children:[e.jsx("p",{className:"text-xs sm:text-sm text-ink/60",children:"Diese Browser überspringen 30 Tage lang den 2FA-Code. Entferne Geräte, denen du nicht mehr vertraust, zum Beispiel nach einem Geräteverlust."}),e.jsx("ul",{className:"divide-y divide-ink/10",children:L.map(t=>{const g=new Date(t.expires_at)<new Date;return e.jsxs("li",{className:"flex items-center gap-3 py-3 first:pt-0 last:pb-0",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl bg-olive-soft flex items-center justify-center flex-shrink-0",children:e.jsx("svg",{className:"w-5 h-5 text-olive",fill:"none",stroke:"currentColor",strokeWidth:1.75,viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"})})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("p",{className:"font-display font-bold text-sm truncate",children:[t.device_label||"Unbenanntes Gerät",t.ip_country?e.jsxs("span",{className:"font-normal text-ink/50",children:[" · ",t.ip_country]}):null]}),e.jsx("p",{className:"text-xs text-ink/60",children:g?`Abgelaufen am ${N(t.expires_at)}`:`Vertraut bis ${N(t.expires_at)}${t.last_used_at?`, zuletzt genutzt ${N(t.last_used_at)}`:""}`})]}),e.jsx("button",{type:"button",onClick:()=>z(t.id),disabled:x!==null,className:"text-sm font-bold text-terracotta-text hover:text-terracotta disabled:opacity-50 flex-shrink-0",children:x===t.id?"Entferne…":"Entfernen"})]},t.id)})}),L.length>1&&e.jsx("button",{type:"button",onClick:I,disabled:x!==null,className:"text-sm font-bold text-terracotta-text hover:text-terracotta disabled:opacity-50",children:x==="all"?"Entferne…":"Alle Geräte entfernen"})]})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"eyebrow mb-3 px-1.5 text-terracotta-text",children:"Gefahrenbereich"}),e.jsx("div",{className:"bg-white border border-ink/10 rounded-2xl p-5 sm:p-6 border-l-4 border-terracotta/50",children:e.jsxs("div",{className:"flex items-start gap-4 flex-wrap sm:flex-nowrap",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl bg-terracotta-soft flex items-center justify-center flex-shrink-0",children:e.jsx("svg",{className:"w-5 h-5 text-terracotta",fill:"none",stroke:"currentColor",strokeWidth:1.75,viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-display font-bold mb-1",children:e.jsx(v,{children:"Konto löschen"})}),e.jsx("p",{className:"text-xs sm:text-sm text-ink/60 mb-3",children:e.jsx(v,{children:"Lösche dein Konto und alle damit verknüpften Daten dauerhaft. Diese Aktion kann nicht rückgängig gemacht werden."})}),F?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("p",{className:"text-sm text-ink/70",children:["Tippe ",e.jsx("strong",{children:e.jsx(v,{children:"LÖSCHEN"})})," zum Bestätigen:"]}),e.jsx("input",{type:"text",value:y,onChange:t=>f(t.target.value),className:"form-input",placeholder:"LÖSCHEN"}),l?e.jsx("p",{className:"text-sm text-ink/70 pt-2",children:l==="apple"?e.jsx(v,{children:"Zur Bestätigung meldest du dich noch einmal mit Apple an."}):e.jsx(v,{children:"Zur Bestätigung meldest du dich noch einmal mit Google an."})}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm text-ink/70 pt-2",children:"Aktuelles Passwort:"}),e.jsx("input",{type:"password",value:m,onChange:t=>A(t.target.value),className:"form-input",placeholder:"••••••••",autoComplete:"current-password"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:()=>{k(!1),f(""),A("")},className:"bg-card border border-border text-foreground hover:bg-secondary active:scale-[0.98] transition px-4 py-2 rounded-xl text-sm font-semibold",children:"Abbrechen"}),e.jsx("button",{onClick:R,disabled:y!=="LÖSCHEN"||!l&&!m||w,className:"px-4 py-2 rounded-xl text-sm font-bold bg-terracotta text-white disabled:opacity-50 disabled:cursor-not-allowed",children:w?"Lösche…":"Konto endgültig löschen"})]})]}):e.jsxs("button",{onClick:()=>k(!0),className:"text-sm font-bold text-terracotta-text hover:text-terracotta inline-flex items-center gap-1.5",children:["Konto löschen",e.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",strokeWidth:1.75,viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})]})]})]})})]})]})}export{Ie as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.