PageSourceSearch

https://www.digital-affin.de/_next/static/chunks/020rkrfww-u23.js

js digital-affin.de collected 2026-09-24 19:57:08 UTC 44,337 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13347,e=>{"use strict";var t=e.i(43476),n=e.i(71645);let i=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function r({initialEmail:e,pending:s,onSubmit:a}){let[o,l]=(0,n.useState)(e??""),[u,c]=(0,n.useState)(null);return(0,t.jsxs)("form",{className:"space-y-4",onSubmit:e=>{e.preventDefault();let t=o.trim();i.test(t)?(c(null),a(t)):c("Bitte eine gültige E-Mail-Adresse eintragen.")},children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-2 block text-sm font-semibold text-ink",children:"E-Mail"}),(0,t.jsx)("input",{required:!0,type:"email",name:"email",value:o,autoComplete:"email",autoFocus:!0,onChange:e=>{l(e.target.value),u&&c(null)},className:"w-full rounded-2xl border border-line bg-white/80 px-4 py-3 text-ink outline-none ring-brand/40 focus:ring-4"})]}),(0,t.jsx)("button",{type:"submit",disabled:s,className:"w-full cursor-pointer rounded-full bg-ink px-5 py-3 text-sm font-semibold text-white disabled:cursor-not-allowed disabled:opacity-50",children:s?"Code wird gesendet…":"Code senden"}),u?(0,t.jsx)("p",{className:"text-sm text-red-700",children:u}):null]})}var s=e.i(18566),a=e.i(57798),o=e.i(1987),l=e.i(47020),u=e.i(39816),c=e.i(11795);function d({mode:e,defaultEmail:i,nextPath:r,onSuccess:m,onNeedsConfirmation:g,stayOnPage:h=!1}){let f=(0,s.useRouter)(),[p,b]=(0,n.useState)(null),[x,w]=(0,n.useState)(null),[k,v]=(0,n.use
1State)(!1),y=(0,u.safeNextPath)(r);function S(e){let t=new URLSearchParams({email:e});return"/konto"!==y&&t.set("next",y),`/registrieren/bestaetigen?${t.toString()}`}async function j(t){b(null),w(null),v(!0);let n=String(t.get("email")??""),i=String(t.get("password")??""),r=(0,c.createBrowserSupabaseClient)();if(!r){v(!1),b("Supabase ist noch nicht angebunden. Das Formular ist vorbereitet – Keys in .env.local eintragen.");return}try{if("login"===e){let{error:e}=await r.auth.signInWithPassword({email:n,password:i});if(e){if(e.message.toLowerCase().includes("confirm")){if(g)return void g(n);f.push(S(n));return}w((0,l.authErrorMessage)(e.message,"login"));return}if((0,a.trackAuthEvent)("Anmeldung","passwort"),m)return void m();await (0,o.settleBrowserAuth)(),h||(0,o.leaveAuthPage)(y);return}let{data:t,error:s}=await r.auth.signUp({email:n,password:i});if(s)return void w((0,l.authErrorMessage)(s.message,"register"));if(t.session&&(0,a.trackAuthEvent)("Registrierung","passwort"),g)return void g(n);f.push(S(n))}finally{v(!1)}}return(0,t.jsxs)("form",{action:j,className:"space-y-4",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-2 block text-sm font-semibold text-ink",children:"E-Mail"}),(0,t.jsx)("input",{required:!0,type:"email",name:"email",autoComplete:"email",defaultValue:i,className:"w-full rounded-2xl border border-line bg-white/80 px-4 py-3 text-ink outline-none ring-brand/40 focus:ring-4"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-2 block text-sm font-semibold text-ink",children:"Passwort"}),(0,t.jsx)("input",{required:!0,type:"password",name:"password",minLength:8,autoComplete:"login"===e?"current-password":"new-password",className:"w-full rounded-2xl border border-line bg-white/80 px-4 py-3 text-ink outline-none ring-brand/40 focus:ring-4"})]}),(0,t.jsx)("button",{type:"submit",disabled:k,className:"w-full cursor-pointer rounded-full bg-ink px-5 py-3 text-sm font-semibold text-white disabled:cursor-not-allowed disabled:opacity-50",children:k?"login"===e?"Einen Moment…":"Code wird gesendet…":"login"===e?"Anmelden":"Konto erstellen"}),p?(0,t.jsx)("p",{className:"text-sm text-brand-deep",children:p}):null,x?(0,t.jsx)("p",{className:"text-sm text-red-700",children:x}):null]})}async function m(e,t){let n,i,r=(0,c.createBrowserSupabaseClient)();if(!r)return{error:"Supabase ist noch nicht angebunden. Keys in .env.local eintragen."};let{error:s}=await r.auth.signInWithOAuth({provider:e,options:{redirectTo:(n=window.location.origin,i=(0,u.currentReturnPath)(t),`${n}/auth/callback?next=${encodeURIComponent(i)}`),..."google"===e?{queryParams:{prompt:"select_account"}}:{}}});return s?{error:(0,l.authErrorMessage)(s.message,"oauth")}:{error:null}}function g(e){return!!e&&["1","true","yes","on"].includes(e.trim().toLowerCase())}function h(){return g("false")}function f(){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-5 w-5","aria-hidden":!0,children:[(0,t.jsx)("path",{fill:"#4285F4",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"}),(0,t.jsx)("path",{fill:"#34A853",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),(0,t.jsx)("path",{fill:"#FBBC05",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),(0,t.jsx)("path",{fill:"#EA4335",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})]})}function p(){return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-5 w-5","aria-hidden":!0,children:(0,t.jsx)("path",{fill:"#0A66C2",d:"M20.45 20.45h-3.55v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.13 1.45-2.13 2.94v5.67H9.36V9h3.41v1.56h.05c.47-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.06 2.06 0 1 1 0-4.12 2.06 2.06 0 0 1 0 4.12zM7.12 20.45H3.56V9h3.56v11.45z"})})}let b="flex w-full cursor-pointer items-center justify-center gap-3 rounded-full border border-line bg-white px-5 py-3 text-sm font-semibold text-ink transition hover:border-brand/40 hover:shadow-card disabled:cursor-wait disabled:opacity-60";function x({nextPath:e,onError:i}
1){let[r,s]=(0,n.useState)(null),a=h(),o=g("true");if(!a&&!o)return null;async function l(t){i?.(""),s(t);let{error:n}=await m(t,e);n&&(s(null),i?.(n))}return(0,t.jsxs)(t.Fragment,{children:[o?(0,t.jsxs)("button",{type:"button",className:b,disabled:null!==r,onClick:()=>void l("linkedin_oidc"),children:[(0,t.jsx)(p,{}),"linkedin_oidc"===r?"Weiter zu LinkedIn…":"Mit LinkedIn"]}):null,a?(0,t.jsxs)("button",{type:"button",className:b,disabled:null!==r,onClick:()=>void l("google"),children:[(0,t.jsx)(f,{}),"google"===r?"Weiter zu Google…":"Mit Google"]}):null]})}function w(){return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-5 w-5","aria-hidden":!0,children:(0,t.jsx)("text",{x:"12",y:"16.5",textAnchor:"middle",fill:"currentColor",fontSize:"11",fontWeight:"700",fontFamily:"ui-sans-serif, system-ui, sans-serif",letterSpacing:"-0.04em",children:"123"})})}function k({nextPath:e,onCode:n,onError:i}){return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(x,{nextPath:e,onError:i}),(0,t.jsxs)("button",{type:"button",onClick:n,className:b,children:[(0,t.jsx)(w,{}),"Einmalcode"]})]})}var v=e.i(22656),y=e.i(4946),S=e.i(10316),j=e.i(49205);function N(e,t,n,i){return"sending"===t||"sent"===t?"Code unterwegs":"verifying"===t?"Code prüfen":"entering"===t||"success"===t?(0,S.authHandoffCopy)(t).title:"confirm"===e?"email"===i?"Code eingeben":"E-Mail bestätigen":"code"===e?"Einmalcode":"login"===e?"Anmelden":"register"===e||"register"===n?"Konto erstellen":"Anmelden"}function C(e,t,n,i){return"sending"===t||"sent"===t?"Kurz den Posteingang checken – der Code braucht nur einen Moment.":"verifying"===t?"Die sechs Ziffern werden gerade abgeglichen.":"entering"===t||"success"===t?(0,S.authHandoffCopy)(t).text:"confirm"===e?"email"===i?"Code aus der E-Mail eintippen – das gilt für neue und bestehende Konten.":"Code aus der E-Mail eingeben, dann bist du angemeldet.":"code"===e?"Adresse eintragen – der 6-stellige Code kommt per E-Mail, für neue und bestehende Konten.":"login"===e||"register"===e?"register"===n?`Community-Mitgliedschaft mit ${A()} oder E-Mail.`:`Mit ${A()} oder E-Mail.`:"Für Fragen, Erfahrungen und später euer Profil."}function A(){let e=[g("true")?"LinkedIn":null,h()?"Google":null,"Einmalcode"].filter(e=>!!e);return e.length<=1?e[0]??"E-Mail":2===e.length?`${e[0]} oder ${e[1]}`:`${e.slice(0,-1).join(", ")} oder ${e[e.length-1]}`}e.s(["AuthFlow",0,function({initialPasswordMode:e="login",nextPath:i,errorCode:s,stayOnPage:a=!1,showHeading:m=!1,onSuccess:g,onMetaChange:h}){let f=(0,u.currentReturnPath)(i),p=(0,j.useMarkSignedIn)(),[b,x]=(0,n.useState)(e),[w,S]=(0,n.useState)("form"),[A,M]=(0,n.useState)(""),[E,$]=(0,n.useState)("signup"),[D,z]=(0,n.useState)("oauth"===s?(0,l.authErrorMessage)("oauth","oauth"):null),[I,P]=(0,n.useState)(!1),T=(0,n.useRef)([]),R=(0,n.useRef)(e);function B(e,t){let n=window.setTimeout(e,(0,o.motionDelay)(t));T.current.push(n)}function L(e){("login"===b||"register"===b)&&(R.current=b),("login"===e||"register"===e)&&(R.current=e),z(null),S("form"),x(e)}async function F(){(S("entering"),await (0,o.settleBrowserAuth)(),p(),g)?g():a||(0,o.leaveAuthPage)((0,u.safeNextPath)(f))}function O(e,t){M(e),$(t),S("sending"),B(()=>{S("sent"),B(()=>{x("confirm"),S("form")},700)},900)}async function W(e){z(null);let t=(0,c.createBrowserSupabaseClient)();if(!t)return void z("Supabase ist noch nicht angebunden. Keys in .env.local eintragen.");P(!0);let{error:n}=await t.auth.signInWithOtp({email:e,options:{shouldCreateUser:!0}});(P(!1),n)?z((0,l.authErrorMessage)(n.message,"otp")):O(e,"email")}(0,n.useEffect)(()=>{h?.({step:b,phase:w,email:A,otpType:E})},[b,w,A,E]),(0,n.useEffect)(()=>{let e=T.current;return()=>{e.forEach(e=>window.clearTimeout(e))}},[]);let q=N(b,w,e,E),U=C(b,w,e,E),K="sending"===w||"sent"===w||"entering"===w||"success"===w?w:null,V="form"===w&&("code"===b||"confirm"===b);return(0,t.jsxs)("div",{children:[m&&!K?(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsx)("h1",{className:"font-display text-3xl font-semibold",children:q}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted",children:U})]}):null,V?(0,t.jsx)("button",{type:"button",onClick:()=>
1L("confirm"===b&&"email"===E?"code":R.current),className:"mb-4 cursor-pointer text-sm font-semibold text-muted hover:text-ink",children:"Zurück"}):null,D&&!K?(0,t.jsx)("p",{className:"mb-4 text-sm text-red-700",children:D}):null,K?(0,t.jsx)(v.AuthStatusScene,{state:K,email:A}):"code"===b?(0,t.jsx)(r,{initialEmail:A,pending:I,onSubmit:e=>{M(e),W(e)}}):"confirm"===b?(0,t.jsx)(y.ConfirmEmailForm,{initialEmail:A,otpType:E,nextPath:f,compact:!0,onPhaseChange:e=>{"verifying"===e&&S("verifying"),"idle"===e&&S("form")},onSuccess:()=>{F()}}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k,{nextPath:f,onCode:()=>L("code"),onError:e=>z(e||null)}),(0,t.jsxs)("div",{className:"my-5 flex items-center gap-3",children:[(0,t.jsx)("span",{className:"h-px flex-1 bg-line"}),(0,t.jsx)("span",{className:"text-xs font-semibold tracking-[0.12em] text-muted uppercase",children:"oder"}),(0,t.jsx)("span",{className:"h-px flex-1 bg-line"})]}),(0,t.jsxs)("div",{className:"mb-5 flex gap-2 rounded-full bg-white/70 p-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>L("register"),className:`flex-1 cursor-pointer rounded-full px-3 py-2 text-sm font-semibold transition ${"register"===b?"bg-ink text-white":"text-muted hover:text-ink"}`,children:"Registrieren"}),(0,t.jsx)("button",{type:"button",onClick:()=>L("login"),className:`flex-1 cursor-pointer rounded-full px-3 py-2 text-sm font-semibold transition ${"login"===b?"bg-ink text-white":"text-muted hover:text-ink"}`,children:"Anmelden"})]}),(0,t.jsx)(d,{mode:b,defaultEmail:A,nextPath:f,stayOnPage:a,onSuccess:()=>{F()},onNeedsConfirmation:e=>O(e,"signup")},`${b}-${A}`)]})]})},"authFlowCopy",0,function(e,t){return{title:N(e.step,e.phase,t,e.otpType),subtitle:C(e.step,e.phase,t,e.otpType)}}],13347)},34456,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(74080),r=e.i(13347),s=e.i(1987),a=e.i(46168);function o(e){return{step:e,phase:"form",email:"",otpType:"signup"}}e.s(["AuthModal",0,function({open:e,onClose:l,onAuthenticated:u,initialMode:c="register",intent:d="default"}){let m=(0,n.useId)(),g=(0,n.useRef)(null),h=(0,n.useRef)([]),[f,p]=(0,n.useState)(0),[b,x]=(0,n.useState)(()=>o(c)),[w,k]=(0,n.useState)(!1),[v,y]=(0,n.useState)(e);function S(){var e,t;let n;w||(k(!0),e=()=>{k(!1),l()},t=(0,s.motionDelay)(180),n=window.setTimeout(e,t),h.current.push(n))}e!==v&&(y(e),e&&(p(e=>e+1),k(!1),x(o(c))));let j=(0,n.useRef)(S);if((0,n.useEffect)(()=>{j.current=S}),(0,a.useBodyScrollLock)(e),(0,n.useEffect)(()=>{if(e)return window.addEventListener("keydown",t),g.current?.querySelector("input,button")?.focus(),()=>{window.removeEventListener("keydown",t),h.current.forEach(e=>window.clearTimeout(e)),h.current=[]};function t(e){"Escape"===e.key&&j.current()}},[e]),!e||"u"<typeof document)return null;let N="question"===d?"Danach schicken wir deine Frage direkt ab.":"answer"===d?"Danach speichern wir deine Antwort.":"vote"===d?"Danach kannst du sofort upvoten.":"submit"===d?"Danach schicken wir die Software mit euren Angaben ab.":"claim"===d?"Danach geht der Claim an die Redaktion.":"Danach geht’s direkt hier weiter.",C=(0,r.authFlowCopy)(b,c),A="success"===b.phase||"sending"===b.phase||"sent"===b.phase||"entering"===b.phase?C.subtitle:`${C.subtitle} ${N}`;return(0,i.createPortal)((0,t.jsxs)("div",{className:"fixed inset-0 z-[80] flex items-end justify-center p-4 text-ink scheme-light sm:items-center",children:[(0,t.jsx)("button",{type:"button","aria-label":"Dialog schließen",className:`da-modal-backdrop absolute inset-0 cursor-pointer bg-ink/45 backdrop-blur-[2px] ${w?"da-modal-backdrop-out":""}`,onClick:S}),(0,t.jsxs)("div",{ref:g,role:"dialog","aria-modal":"true","aria-labelledby":m,className:`da-modal-panel relative z-[81] max-h-[90vh] w-full max-w-md overflow-y-auto rounded-[2rem] border border-line bg-surface p-5 text-ink shadow-float scheme-light sm:p-7 ${w?"da-modal-panel-out":""}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-semibold tracking-[0.14em] text-brand-deep uppercase",children:"submit"===d||"claim"===d?"Für Anbieter":"Community"}),(0,t.jsx)("h2",{id:m,className:"font-display mt-1 text-2xl font-semibold text-ink",children:"register"===b.step&&"register"===c&&"form"===b.phase?"Mitmachen":C.title}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-muted",children:A})]}),(0,t.jsx)("button",{type:"button",onClick:S,className:"cursor-pointer rounded-full border border-line bg-white/80 px-3 py-1.5 text-sm font-semibold text-ink",children:"Schließen"})]}),(0,t.jsx)("div",{className:"mt-5",children:(0,t.jsx)(r.AuthFlow,{initialPasswordMode:c,stayOnPage:!0,onSuccess:u,onMetaChange:x},f)})]})]}),document.body)}])},22656,10316,5927,e=>{"use strict";var t=e.i(43476);function n(e){return"entering"===e?{title:"Wir holen dich rein",text:"Die Anmeldung wird abgeschlossen – einen kurzen Moment."}:{title:"Du bist drin",text:"Jetzt geht’s weiter."}}function i({sent:e}){return(0,t.jsxs)("svg",{viewBox:"0 0 72 72",className:"da-envelope",fill:"none",children:[(0,t.jsx)("rect",{x:"12",y:"22",width:"48",height:"32",rx:"8",className:"stroke-ink/80",strokeWidth:"2.4"}),(0,t.jsx)("path",{d:"M14 26.5 36 40l22-13.5",className:"stroke-ink/80",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("circle",{className:"da-mail-dot da-mail-dot-1 fill-brand",c
1x:"24",cy:"18",r:"3.2"}),(0,t.jsx)("circle",{className:"da-mail-dot da-mail-dot-2 fill-brand-deep",cx:"36",cy:"14",r:"2.6"}),(0,t.jsx)("circle",{className:"da-mail-dot da-mail-dot-3 fill-brand",cx:"48",cy:"18",r:"3"}),e?(0,t.jsx)("path",{d:"M28 40.5 33.2 45.5 44 33.5",className:"da-check-stroke stroke-brand-deep",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"}):null]})}function r(){return(0,t.jsxs)("svg",{viewBox:"0 0 72 72",className:"da-verify-ring",fill:"none",children:[(0,t.jsx)("circle",{cx:"36",cy:"36",r:"22",className:"stroke-brand-soft",strokeWidth:"5"}),(0,t.jsx)("circle",{cx:"36",cy:"36",r:"22",className:"da-verify-arc stroke-brand-deep",strokeWidth:"5",strokeLinecap:"round",strokeDasharray:"88 140"}),(0,t.jsx)("path",{d:"M36 24v12l8 5",className:"stroke-ink",strokeWidth:"2.6",strokeLinecap:"round",strokeLinejoin:"round"})]})}function s(){return(0,t.jsx)("svg",{viewBox:"0 0 72 72",className:"da-success-check",fill:"none",children:(0,t.jsx)("path",{d:"M22 37.5 31.5 47 50 26",className:"stroke-ink",strokeWidth:"4.2",strokeLinecap:"round",strokeLinejoin:"round"})})}e.s(["authHandoffCopy",0,n],10316),e.s(["AuthStatusScene",0,function({state:e,email:a,title:o,text:l}){let u="sending"===e?{title:"Code fliegt raus",text:a?`Wir schicken ihn an ${a}.`:"Einen Augenblick – der Code geht auf die Reise."}:"sent"===e?{title:"Code ist unterwegs",text:"Schau kurz ins Postfach – oft ist er schon da."}:"verifying"===e?{title:"Code wird geprüft",text:"Wir gleichen die sechs Ziffern gerade ab."}:n("entering"===e?"entering":"success");return(0,t.jsxs)("div",{className:"da-auth-scene",role:"status","aria-live":"polite",children:[(0,t.jsxs)("div",{className:`da-auth-orb da-auth-orb-${e}`,"aria-hidden":!0,children:["sending"===e||"sent"===e?(0,t.jsx)(i,{sent:"sent"===e}):null,"verifying"===e||"entering"===e?(0,t.jsx)(r,{}):null,"success"===e?(0,t.jsx)(s,{}):null]}),(0,t.jsx)("p",{className:"font-display mt-4 text-xl font-semibold text-ink",children:o??u.title}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-muted",children:l??u.text})]})},"AuthVerifyingHint",0,function(){return(0,t.jsxs)("p",{className:"da-verify-hint",role:"status","aria-live":"polite",children:[(0,t.jsxs)("span",{className:"da-verify-dots","aria-hidden":!0,children:[(0,t.jsx)("i",{}),(0,t.jsx)("i",{}),(0,t.jsx)("i",{})]}),"Code wird geprüft…"]})}],22656);var a=e.i(71645);e.s(["OtpInput",0,function({value:e,onChange:n,disabled:i,status:r="idle"}){let s=(0,a.useRef)([]),o=Array.from({length:6},(t,n)=>e[n]??"");function l(e,t){let i=t.replace(/\D/g,"");if(!i)return void n(o.map((t,n)=>n===e?"":t).join(""));if(i.length>1){let e=i.slice(0,6);n(e),s.current[Math.min(e.length,5)]?.focus();return}n(o.map((t,n)=>n===e?i:t).join("")),e<5&&s.current[e+1]?.focus()}return(0,t.jsx)("div",{className:`da-otp-row ${"verifying"===r?"da-otp-verifying":"success"===r?"da-otp-success":"error"===r?"da-otp-error":""}`,children:o.map((e,r)=>(0,t.jsx)("input",{ref:e=>{s.current[r]=e},inputMode:"numeric",autoComplete:0===r?"one-time-code":"off","aria-label":`Ziffer ${r+1} von 6`,maxLength:1,disabled:i,value:e,onChange:e=>l(r,e.target.value),onKeyDown:e=>{"Backspace"===e.key&&!o[r]&&r>0&&(s.current[r-1]?.focus(),n(o.map((e,t)=>t===r-1?"":e).join(""))),"ArrowLeft"===e.key&&r>0&&s.current[r-1]?.focus(),"ArrowRight"===e.key&&r<5&&s.current[r+1]?.focus()},onPaste:e=>{e.preventDefault(),l(0,e.clipboardData.getData("text"))},className:"font-display h-14 w-11 rounded-2xl border border-white/80 bg-white/80 text-center text-2xl font-semibold text-ink shadow-card outline-none transition focus:border-brand focus:bg-white focus:ring-4 focus:ring-brand/30 disabled:opacity-50 sm:h-16 sm:w-12"},r))})},"otpLength",0,6],5927)},4946,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(22656),r=e.i(5927),s=e.i(57798),a=e.i(1987),o=e.i(47020
1),l=e.i(39816),u=e.i(11795);e.s(["ConfirmEmailForm",0,function({initialEmail:e,otpType:c="signup",nextPath:d,onSuccess:m,onPhaseChange:g,compact:h=!1}){let[f,p]=(0,n.useState)(e??""),[b,x]=(0,n.useState)(""),[w,k]=(0,n.useState)(null),[v,y]=(0,n.useState)(null),[S,j]=(0,n.useState)(!1),[N,C]=(0,n.useState)(!1),[A,M]=(0,n.useState)("idle"),[E,$]=(0,n.useState)(null),D=(0,n.useMemo)(()=>b.replace(/\D/g,"").length===r.otpLength,[b]),z=(0,l.safeNextPath)(d);async function I(e=b){k(null),y(null);let t=e.replace(/\D/g,""),n=(0,u.createBrowserSupabaseClient)();if(!n)return void k("Supabase ist nicht angebunden.");if(!f)return void k("Bitte die E-Mail angeben, mit der du dich registriert hast.");if(t.length!==r.otpLength||S)return;j(!0),M("verifying"),g?.("verifying");let{data:i,error:o}=await n.auth.verifyOtp({email:f,token:t,type:c});if(o){j(!1),M("error"),g?.("idle"),k("Der Code stimmt nicht oder ist abgelaufen. Bitte erneut versuchen.");return}if(M("success"),"signup"===c?(0,s.trackAuthEvent)("Registrierung","passwort"):(0,s.isFreshAccount)(i.user?.created_at)?(0,s.trackAuthEvent)("Registrierung","einmalcode"):(0,s.trackAuthEvent)("Anmeldung","einmalcode"),m){g?.("success"),m();return}g?.("success"),$("entering"),await (0,a.settleBrowserAuth)(),(0,a.leaveAuthPage)(z)}async function P(){k(null),y(null);let e=(0,u.createBrowserSupabaseClient)();if(!e)return void k("Supabase ist nicht angebunden.");if(!f)return void k("Bitte zuerst die E-Mail eintragen.");C(!0),g?.("sending");let{error:t}="email"===c?await e.auth.signInWithOtp({email:f,options:{shouldCreateUser:!0}}):await e.auth.resend({type:"signup",email:f});(C(!1),g?.("idle"),t)?k((0,o.authErrorMessage)(t.message,"otp")):(M("idle"),y("Neuer Code ist unterwegs."))}return!h&&E?(0,t.jsx)(i.AuthStatusScene,{state:E}):(0,t.jsxs)("form",{className:"space-y-6",onSubmit:e=>{e.preventDefault(),I()},children:[N?(0,t.jsx)(i.AuthStatusScene,{state:"sending",email:f}):null,(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-2 block text-sm font-semibold text-ink",children:"E-Mail"}),(0,t.jsx)("input",{type:"email",value:f,onChange:e=>p(e.target.value),className:"w-full rounded-2xl border border-line bg-white/80 px-4 py-3 text-ink outline-none ring-brand/40 focus:ring-4"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-3 text-center text-sm font-semibold text-ink",children:"6-stelliger Code"}),(0,t.jsx)(r.OtpInput,{value:b,disabled:S||N,status:A,onChange:e=>{x(e),"error"===A&&M("idle"),e.replace(/\D/g,"").length===r.otpLength&&I(e)}}),S?(0,t.jsx)(i.AuthVerifyingHint,{}):null]}),(0,t.jsx)("button",{type:"submit",disabled:!D||S||N,className:"w-full cursor-pointer rounded-full bg-ink px-5 py-3 text-sm font-semibold text-white disabled:cursor-not-allowed disabled:opacity-40",children:S?"Prüfen…":"email"===c?"Code prüfen":"E-Mail bestätigen"}),(0,t.jsx)("button",{type:"button",onClick:()=>void P(),disabled:S||N,className:"w-full cursor-pointer text-sm font-medium text-muted underline-offset-4 hover:text-ink hover:underline disabled:opacity-50",children:N?"Code wird gesendet…":"Code erneut senden"}),v?(0,t.jsx)("p",{className:"text-center text-sm font-medium text-brand-deep",children:v}):null,w?(0,t.jsx)("p",{className:"text-center text-sm text-red-700",children:w}):null]})}])},69863,e=>{"use strict";var t=e.i(43476),n=e.i(71645);e.s(["AnimatedInteger",0,function({value:e,className:i}){let[r,s]=(0,n.useState)(e),[a,o]=(0,n.useState)(0),l=(0,n.useRef)(e);return(0,n.useEffect)(()=>{let t=l.current;if(t===e)return;let n=window.matchMedia("(prefers-reduced-motion: reduce)").matches,i=e-t,r=n?0:Math.min(720,280+18*Math.abs(i)),a=performance.now(),u=0,c=e=>{let n=0===r?1:Math.min(1,(e-a)/r),o=Math.round(t+i*(1-(1-n)**3));l.current=o,s(o),n<1&&(u=requestAnimationFrame(c))};return u=requestAnimationFrame(e=>{o(e=>e+1),c(e)}),()=>cancelAnimationFrame(u)},[e]),(0,t.jsx)("span",{"aria-live":"polite",className:`inline-block tabular-nums ${a?"da-count-bump":""} ${i??""}`,children:r},a)}])},61991,e=>{"use strict";var t=e.i(43476),n=e.i(18566),i=e.i(71645),r=e.i(34456),s=e.i(69863),a=e.i(49205),o=e.i(57798),l=e.i(90153);e.s(["ContentUpvoteButton",0,function({targetType:e,targetId:u,initialCount:c,initiallyVoted:d,isLoggedIn:m,compact:g=!1}){let h=(0,n.useRouter)(),f=(0,i.useRef)(!1),p=(0,a.useViewer)(),b=(0,a.useMarkSignedIn)(),x=(0,a.useSessionLoggedIn)(m),[w,k]=(0,i.useState)(c),[v,y]=(0,i.useState)(d),[S,j]=(0,i.useState)(!1),N=x&&!S;(0,i.useEffect)(()=>{p?.account&&y(("question"===e?p.questionIds:p.answerIds).includes(u))},[p,u,e]);let[C,A]=(0,i.useState)(!1),[M,E]=(0,i.useTransition)(),[$,D]=(0,i.useState)(!1),[z,I]=(0,i.useState)(null),[P,T]=(0,i.useState)(u);u!==P&&(T(u),k(c),y(d),I(null));let R="question"===e?"Frage":"Antwort";async function B(){if(f.current)return;f.current=!0,D(!0),I(null);let t=!v;y(t),k(e=>Math.max(0,e+(t?1:-1)));try{let n=await fetch("/api/community/votes/content",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetType:e,targetId:u})});if(401===n.status){k(w),y(v),j(!0),A(!0);return}if(!n.ok){k(w),y(v),I("Nicht gespeichert");return}let i=await n.json();"boolean"==typeof i.voted&&(y(i.voted),i.voted!==t&&k(e=>Math.max(0,e+(i.voted?1:-1)))),("boolean"==typeof i.voted?i.voted:t)&&(0,o.trackPirschEvent)("Upvote",{ziel:"question"===e?"frage":"antwort"}),i.demo||h.refresh()}catch{k(w),y(v),I("Nicht gespeichert")}finally{f.current=!1,D(!1)}}let L=M||$,F=g?`inline-flex min-w-11 cursor-pointer flex-col items-center justify-center rounded-xl border px-2 py-1.5 transition ${v?"border-brand bg-brand-soft text-brand-deep shadow-card":"border-line/80 bg-white/80 text-ink hover:border-brand/40 hover:shadow-card"}`:`inline-flex min-w-12 cursor-pointer flex-col items-center rounded-2xl border px-2.5 py-2 transition ${v?"border-brand bg-brand-soft text-brand-deep shadow-card":"border-line bg-white/80 text-ink hover:-translate-y-0.5 hover:border-brand/40 hover:shadow-card"}`;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"relative inline-flex flex-col items-center gap-0.5",children:[(0,t.jsxs)("button",{type:"button",onClick:function(e){(e.preventDefault(),e.stopPropagation(),I(null),!N&&(0,l.hasSupabaseEnv)())?A(!0):E(()=>{B()})},disabled:L,"aria-pressed":v,"aria-label":v?`Upvote von dieser ${R} entfernen, aktuell ${w}`:`${R} upvoten, aktuell ${w}`,className:`${F} ${L?"cursor-wait opacity-70":""}`,children:[(0,t.jsx)("span",{className:g?"text-[10px] leading-none":"text-xs leading-none","aria-hidden":!0,
1children:"▲"}),(0,t.jsx)(s.AnimatedInteger,{value:w,className:g?"mt-0.5 text-xs font-semibold":"mt-0.5 text-sm font-semibold"})]}),z?(0,t.jsx)("span",{className:"text-[10px] text-red-600",children:z}):null]}),(0,t.jsx)(r.AuthModal,{open:C,onClose:()=>A(!1),onAuthenticated:function(){j(!1),b(),A(!1),E(()=>{B()})},initialMode:"register",intent:"vote"})]})}])},26558,e=>{"use strict";var t=e.i(18566),n=e.i(71645),i=e.i(1987),r=e.i(85885);e.s(["useCommunityComposer",0,function({draftKey:e,isLoggedIn:s,emptyError:a,submitRequest:o,onSaved:l,scrollOnOpen:u=!0,initialOpen:c=!1}){let d=(0,t.useRouter)(),m=(0,n.useRef)(null),g=(0,n.useRef)(null),h=(0,n.useRef)(""),f=(0,n.useRef)(!1),p=(0,n.useRef)(!1),b=(0,n.useRef)(!1),[x,w]=(0,n.useState)(c),[k,v]=(0,n.useState)(""),[y,S]=(0,n.useState)(s),[j,N]=(0,n.useState)(!1),[C,A]=(0,n.useState)(null),[M,E]=(0,n.useState)(!1),[$,D]=(0,n.useState)(!1),[z,I]=(0,n.useState)(!1),[P,T]=(0,n.useState)(!1);function R(t,n=f.current){h.current=t,f.current=n,(0,r.writeCommunityDraft)(e,{body:t,pendingSubmit:n})}function B(){R(h.current,!0)}async function L(t){if(b.current)return!1;let n=h.current.trim();if(!n)return A(a),!1;A(null),b.current=!0,E(!0);try{let s=await o(n),a=t?.retries??0;for(;401===s.status&&a>0;)await (0,i.waitForBrowserSession)(),await (0,i.wait)(220),s=await o(n),a-=1;if(401===s.status)return S(!1),B(),w(!0),N(!0),!1;if(!s.ok){let e=await s.json().catch(()=>null);return A(e?.error||"Speichern fehlgeschlagen."),B(),!1}return(0,r.clearCommunityDraft)(e),f.current=!1,h.current="",v(""),D(!1),w(!1),T(!1),l?.(),d.refresh(),!0}finally{b.current=!1,E(!1)}}s&&!y&&S(!0),(0,n.useEffect)(()=>{c&&w(!0)},[c]),(0,n.useEffect)(()=>{let t=(0,r.readCommunityDraft)(e);t&&(h.current=t.body,f.current=t.pendingSubmit,v(t.body),w(!0),D(!0)),I(!0)},[e]),(0,n.useEffect)(()=>{x&&(m.current?.focus(),$&&u&&g.current?.scrollIntoView({block:"center",behavior:"smooth"}))},[x,$,u]);let F=(0,n.useRef)(L);async function O(){S(!0),T(!0),N(!1),w(!0),B(),p.current=!0,await (0,i.waitForBrowserSession)(),d.refresh(),await L({retries:2})}return(0,n.useEffect)(()=>{F.current=L}),(0,n.useEffect)(()=>{z&&y&&f.current&&!p.current&&h.current.trim()&&(p.current=!0,F.current({retries:2}))},[z,y]),{open:x,setOpen:w,body:k,setBody:function(e){v(e),R(e),$&&D(!1)},error:C,submitting:M,loggedIn:y,restored:$,justAuthenticated:P,authOpen:j,setAuthOpen:N,formRef:g,textareaRef:m,onSubmit:function(e){if(e.preventDefault(),!y){B(),w(!0),N(!0);return}L({retries:1})},onAuthenticated:O,onCancel:function(){w(!1),A(null),R(h.current,!1)},submit:L}}])},94604,e=>{"use strict";var t=e.i(43476),n=e.i(71645);e.s(["Reveal",0,function({children:e,className:i="",delay:r=0}){let s=(0,n.useRef)(null),[a,o]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=s.current;if(!e)return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return void o(!0);let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(o(!0),t.disconnect())},{rootMargin:"80px 0px 0px 0px",threshold:0});return t.observe(e),()=>t.disconnect()},[]);let l=r?` da-reveal-delay-${r}`:"";return(0,t.jsx)("div",{ref:s,className:`da-reveal${a?" da-reveal-in":""}${l} ${i}`.trim(),children:e})}])},1987,47020,39816,e=>{"use strict";var t=e.i(11795);function n(e){return new Promise(t=>window.setTimeout(t,e))}async function i(e=4e3){let r=(0,t.createBrowserSupabaseClient)();if(!r)return!1;let s=await r.auth.getSession();return!!s.data.session?.access_token||new Promise(t=>{let i=!1,s=0,a=()=>{},o=e=>{i||(i=!0,window.clearTimeout(s),a(),t(e))},{data:{subscription:l}}=r.auth.onAuthStateChange((e,t)=>{t?.access_token&&o(!0)});a=()=>l.unsubscribe(),s=window.setTimeout(()=>o(!1),e),(async()=>{for(;!i;){let{data:e}=await r.auth.getSession();if(e.session?.access_token)return void o(!0);await n(120)}})()})}async function r(e=4e3){let t=await i(e);return await n(160),t}function s(e){return window.matchMedia("(prefers-reduced-motion: reduce)").matches?0:e}e.s(["leaveAuthPage",0,function(e){window.location.assign(e)},"motionDelay",0,s,"settleBrowserAuth",0,r,"wait",0,function(e){return n(s(e))},"waitForBrowserSession",0,i],1987),e.s(["authErrorMessage",0,function(e,t="login"){let n=e.toLowerCase();return n.includes("invalid login credentials")?"E-Mail oder Passwort stimmen nicht.":n.includes("email not confirmed")||n.includes("confirm")?"Bitte zuerst die E-Mail bestätigen.":n.includes("already registered")||n.includes("already been registered")?"Die
1se E-Mail ist bereits registriert. Bitte anmelden.":n.includes("password")&&(n.includes("least")||n.includes("short"))?"Das Passwort ist zu kurz. Bitte mindestens 8 Zeichen wählen.":n.includes("rate limit")||n.includes("only request this after")?"Zu viele Versuche. Bitte kurz warten und erneut versuchen.":n.includes("invalid")&&n.includes("email")?"Bitte eine gültige E-Mail-Adresse eintragen.":n.includes("unsupported provider")||n.includes("provider is not enabled")||n.includes("validation_failed")?"Dieser Login-Anbieter ist gerade nicht verfügbar.":"oauth"===t?"Die Anmeldung mit dem Anbieter hat nicht geklappt. Bitte E-Mail nutzen oder erneut versuchen.":"otp"===t?"Der Code konnte nicht gesendet werden. Bitte E-Mail prüfen und erneut versuchen.":"login"===t?"Die Anmeldung hat nicht geklappt. Bitte erneut versuchen.":"Die Registrierung hat nicht geklappt. Bitte erneut versuchen."}],47020);let a="/konto",o="https://digital-affin.local";function l(e){return e.split("?")[0]??e}function u(e){let t;if(!e)return a;let n=e.trim().split("#")[0]??"";if(!function(e){if(!e.startsWith("/")||e.startsWith("//")||e.startsWith("/\\")||e.includes("\\")||e.includes("://")||/[\u0000-\u001F\u007F]/.test(e)||e.length>2048)return!1;try{let t=new URL(e,o);return t.origin===o&&!t.username&&!t.password}catch{return!1}}(n))return a;let i=l(n);if("/login"===(t=l(i))||"/registrieren"===t||t.startsWith("/registrieren/")||t.startsWith("/auth/")){let t=new URLSearchParams(n.includes("?")?n.slice(n.indexOf("?")+1):"").get("next");return t&&t!==e?u(t):a}return n}e.s(["currentReturnPath",0,function(e){return e?u(e):u(`${window.location.pathname}${window.location.search}`)},"safeNextPath",0,u],39816)},56272,e=>{"use strict";e.s(["DEFAULT_ARTICLE_QUESTIONS",0,["Welche Erfahrung aus dem Artikel erkennt ihr in eurem Alltag wieder?","Was fehlt euch noch an konkreten Tipps, Zahlen oder Beispielen?","Welches Tool oder welche Alternative würdet ihr dazu ergänzen – und warum?"],"DEFAULT_TOOL_QUESTIONS",0,["Wie lange hat die Einführung bei euch wirklich gedauert – inkl. Daten und Team?","Was läuft im Alltag besser als erwartet – und wo hakt es noch?","Für wen würdet ihr das Tool klar empfehlen, für wen eher nicht?","Welche Alternativen habt ihr verglichen, und warum seid ihr hier gelandet?"]])},85885,e=>{"use strict";let t="da.community.draft.v1:";function n(e){try{window.localStorage.removeItem(e)}catch{}}let i=`${t}question:picker`;e.s(["clearCommunityDraft",0,n,"clearFrageStellenDraft",0,function(){n(i)},"communityDraftKey",0,function(e,n){if("answer"===e&&n.questionId){let e=n.parentAnswerId?`:parent:${n.parentAnswerId}`:"";return`${t}answer:${n.questionId}${e}`}return n.toolId?`${t}question:tool:${n.toolId}`:n.articleId?`${t}question:article:${n.articleId}`:`${t}${e}:unknown`},"readCommunityDraft",0,function(e){try{let t=window.localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t),i="string"==typeof n.body?n.body:"",r="number"==typeof n.updatedAt?n.updatedAt:0;if(!i.trim()||!r||Date.now()-r>6048e5)return window.localStorage.removeItem(e),null;return{body:i,pendingSubmit:!!n.pendingSubmit,updatedAt:r}}catch{return null}},"readFrageStellenDraft",0,function(){try{let e=window.localStorage.getItem(i);if(!e)return null;let t=JSON.parse(e),n="number"==typeof t.updatedAt?t.updatedAt:0,r="string"==typeof t.body?t.body:"",s="string"==typeof t.selectedId?t.selectedId:"",a="string"==typeof t.query?t.query:"",o="str
1ing"==typeof t.toolName?t.toolName:"",l="fallback"===t.view?"fallback":"ask";if(!r.trim()&&!s&&"ask"===l||!n||Date.now()-n>6048e5)return window.localStorage.removeItem(i),null;return{kind:"tool"===t.kind?"tool":"article",selectedId:s,query:a,body:r,view:l,toolName:o,pendingSubmit:!!t.pendingSubmit,updatedAt:n}}catch{return null}},"writeCommunityDraft",0,function(e,t){try{if(!t.body.trim())return void window.localStorage.removeItem(e);let n={body:t.body,pendingSubmit:!!t.pendingSubmit,updatedAt:Date.now()};window.localStorage.setItem(e,JSON.stringify(n))}catch{}},"writeFrageStellenDraft",0,function(e){try{if(!e.body.trim()&&!e.selectedId&&"ask"===e.view)return void window.localStorage.removeItem(i);let t={...e,updatedAt:Date.now()};window.localStorage.setItem(i,JSON.stringify(t))}catch{}}])},3253,e=>{"use strict";var t=e.i(56272);e.i(18880),[...t.DEFAULT_TOOL_QUESTIONS,...t.DEFAULT_ARTICLE_QUESTIONS],e.s(["formatRelativeTime",0,function(e,t=new Date){if(!e)return"";let n=new Date(e);if(Number.isNaN(n.getTime()))return"";let i=Math.max(0,Math.round((t.getTime()-n.getTime())/1e3));if(i<45)return"gerade eben";let r=Math.round(i/60);if(r<60)return`vor ${r} Min.`;let s=Math.round(r/60);if(s<24)return`vor ${s} Std.`;let a=Math.round(s/24);if(a<30)return`vor ${a} ${1===a?"Tag":"Tagen"}`;let o=Math.round(a/30);if(o<12)return`vor ${o} ${1===o?"Monat":"Monaten"}`;let l=Math.round(a/365);return`vor ${l} ${1===l?"Jahr":"Jahren"}`},"fragenHref",0,function(e,t={}){let n={...e,...t};("sort"in t||"articleSlug"in t||"toolSlug"in t)&&!("page"in t)&&(n.page=1),n.toolSlug&&(n.articleSlug=""),n.articleSlug&&(n.toolSlug="");let i=new URLSearchParams;n.toolSlug?i.set("tool",n.toolSlug):n.articleSlug&&i.set("artikel",n.articleSlug),"trending"!==n.sort&&i.set("sort",n.sort),n.page>1&&i.set("page",String(n.page));let r=i.toString();return r?`/fragen?${r}`:"/fragen"},"initialsFromName",0,function(e){let t=e.trim().split(/\s+/).filter(Boolean);return t.length?t.slice(0,2).map(e=>e.replace(/[^A-Za-zÄÖÜäöüß0-9]/g,"")[0]??e[0]).join("").toUpperCase():"?"}])},18880,e=>{"use strict";var t=e.i(5387);function n(e){return`frage-${e}`}e.s(["questionAnchorId",0,n,"questionParentPath",0,function(e){var i;let r=(i=e.id,`#${n(i)}`);return e.toolSlug?`/software/${e.toolSlug}${r}`:e.articleSlug?`/blog/${e.articleSlug}${r}`:e.categorySlug?`${(0,t.publicCategoryPath)(e.categorySlug)}${r}`:null}])},63578,(e,t,n)=>{t.exports={topics:[{slug:"marketing-tools",name:"Marketing",tagline:"Kampagnen, Funnels und Online-Marketing",cluster:"marketing-content"},{slug:"seo-tools",name:"SEO",tagline:"Sichtbarkeit und Suchmaschinenoptimierung",cluster:"marketing-content"},{slug:"e-mail-marketing-tools",name:"E-Mail",tagline:"Newsletter, Automation und Nurturing",cluster:"marketing-content"},{slug:"social-media-tools",name:"Social Media",tagline:"Kanäle planen, posten und auswerten",cluster:"marketing-content"},{slug:"website-tools",name:"Website",tagline:"Websites, Builder und Conversion",cluster:"marketing-content"},{slug:"video-tools",name:"Video",tagline:"Video produzieren und schneiden",cluster:"marketing-content"},{slug:"design-tools",name:"Design",tagline:"Grafik, Marke und visuelle Assets",cluster:"marketing-content"},{slug:"podcast-tools",name:"Podcast",tagline:"Aufnehmen, schneiden und hosten",cluster:"marketing-content"},{slug:"online-event-tools",name:"Events & Webinare",tagline:"Webinare, digitale Events und Networking",cluster:"marketing-content"},{slug:"mitgliederbereich-software",name:"Mitgliederbereich",tagline:"Memberships, Kurse und Community-Zugang",cluster:"marketing-content"},{slug:"sales-tools",name:"Sales",tagline:"Vertrieb, Abschlüsse und Angebote",cluster:"sales-crm"},{slug:"lead-generation-tools",name:"Lead Generation",tagline:"Leads finden, qualifizieren und pflegen",cluster:"sales-crm"},{slug:"support-tools",name:"Support",tagline:"Kundenservice und Tickets",cluster:"sales-crm"},{slug:"callcenter-software",name:"Telefonie & Callcenter",tagline:"Cloud-Telefonie, VoIP und Outbound",cluster:"sales-crm"},{slug:"ticketverkauf-tools",name:"Ticketverkauf",tagline:"Tickets und digitale Produkte verkaufen",cluster:"sales-crm"},{slug:"zahlungsanbieter",name:"Zahlungsanbieter",tagline:"Checkout, Abos und Monetarisierung",cluster:"sales-crm"},{slug:"hr-tools",name:"HR",tagline:"Personal, Recruiting und People-Ops",cluster:"hr-kommunikation"},{slug:"team-kultur-tools",name:"Mitarbeiter-Apps",tagline:"Mitarbeiter-Apps und Teamgeist",cluster:"hr-kommunikation"},{slug:"elearning-software",name:"eLearning",tagline:"Lernen, Onboarding und Schulungen",cluster:"hr-kommunikation"},{slug:"kommunikationstools",name:"Interne Kommunikation",tagline:"Interne Kanäle und Erreichbarkeit",cluster:"hr-kommunikation"},{slug:"projektmanagement-tools",name:"Projektmanagement",tagline:"Projekte, Aufgaben und Roadmaps",cluster:"produktivitaet-projekte"},{slug:"collaboration-tools",name:"Collaboration",tagline:"Gemeinsam arbeiten, auch verteilt",cluster:"produktivitaet-projekte"},{slug:"zeitmanagement-tools",name:"Zeiterfassung & Termine",tagline:"Termine, Zeiterfassung und Planung",cluster:"produktivitaet-projekte"},{slug:"videokonferenz-tools",name:"Videokonferenz",tagline:"Meetings und Calls im Team",cluster:"produktivitaet-projekte"},{slug:"ki-tools",name:"KI",tagline:"KI-Assistenz im Arbeitsalltag",cluster:"produktivitaet-projekte"},{slug:"ki-text-generator-tools",name:"KI-Text",tagline:"Texte, Varianten und Briefings mit KI",cluster:"marketing-content"},{slug:"chatbot-software",name:"Chatbots",tagline:"Automatisierte Dialoge und Assistenz",cluster:"sales-crm"},{slug:"finanztools",name:"Finanzen",tagline:"Liquidität, Controlling und Zahlungen",cluster:"digitalisierung-mittelstand"},{slug:"buchhaltung-tools",name:"Buchhaltung",tagline:"Rechnungen, Belege und Buchführung",cluster:"digitalisierung-mittelstand"},{slug:"reisekostenabrechnung-software",name:"Reisekosten",tagline:"Reisekosten erfassen und abrechnen",cluster:"digitalisierung-mittelstand"},{slug:"digitale-signatur-software",name:"Digitale Signatur",tagline:"Verträge elektronisch unter
1schreiben",cluster:"digitalisierung-mittelstand"},{slug:"digitale-post",name:"Digitale Post",tagline:"Posteingang scannen und verteilen",cluster:"digitalisierung-mittelstand"},{slug:"datenschutz-tools",name:"Datenschutz",tagline:"DSGVO, Consent und Privatsphäre",cluster:"digitalisierung-mittelstand"},{slug:"sicherheitstools",name:"Sicherheit",tagline:"Schutz für Daten, Zugänge und Geräte",cluster:"digitalisierung-mittelstand"},{slug:"verwaltung",name:"Dokumentenmanagement",tagline:"Akten, DMS und digitale Ablage",cluster:"digitalisierung-mittelstand"}],aliases:{marketing:"marketing-tools","e-mail-marketing":"e-mail-marketing-tools","email-marketing":"e-mail-marketing-tools",seo:"seo-tools","social-media":"social-media-tools",website:"website-tools",video:"video-tools",design:"design-tools",podcast:"podcast-tools",screencast:"video-tools","screencast-software":"video-tools","online-event":"online-event-tools",webinar:"online-event-tools","webinar-tools":"online-event-tools","virtuelle-messe":"online-event-tools","virtuelle-messe-tools":"online-event-tools","event-netzwerken":"online-event-tools","event-netzwerk-tools":"online-event-tools",sales:"sales-tools","lead-generation":"lead-generation-tools",support:"support-tools",callcenter:"callcenter-software",voip:"callcenter-software","voip-software":"callcenter-software","voip-software-tools":"callcenter-software",hr:"hr-tools","team-kultur":"team-kultur-tools","mitarbeiter-apps":"team-kultur-tools",elearning:"elearning-software",kommunikation:"kommunikationstools","interne-kommunikation":"kommunikationstools",produktivitaet:"collaboration-tools",produktivitaetstools:"collaboration-tools",projektmanagement:"projektmanagement-tools",zeitmanagement:"zeitmanagement-tools",collaboration:"collaboration-tools","home-office":"collaboration-tools","home-office-tools":"collaboration-tools","virtual-office":"collaboration-tools","virtual-office-software":"collaboration-tools",ki:"ki-tools","ki-text":"ki-text-generator-tools","ki-text-generator":"ki-text-generator-tools",finanzen:"finanztools",buchhaltung:"buchhaltung-tools",liquiditaetsplanung:"finanztools","liquiditaetsplanungs-software":"finanztools",datenschutz:"datenschutz-tools",sicherheit:"sicherheitstools","reisekosten-software":"reisekostenabrechnung-software",reisekostenabrechnung:"reisekostenabrechnung-software","digitale-signatur":"digitale-signatur-software","digitale-post-tools":"digitale-post","digitaler-briefkasten":"digitale-post",chatbots:"chatbot-software",chatbot:"chatbot-software","video-konferenz":"videokonferenz-tools",videokonferenzen:"videokonferenz-tools","online-whiteboard":"collaboration-tools",mitgliederbereich:"mitgliederbereich-software",membership:"mitgliederbereich-software",dokumentenmanagement:"verwaltung","verwaltungs-tools":"verwaltung",immobilien:"sales-tools",immobiliensoftware:"sales-tools","immobilien-software":"sales-tools",handwerk:"projektmanagement-tools",handwerker:"projektmanagement-tools","handwerker-software":"projektmanagement-tools","online-plattformen":"website-tools","online-plattform-tools":"website-tools","buchhaltung-tools":"buchhaltung-tools","callcenter-software":"callcenter-software","chatbot-software":"chatbot-software","collaboration-tools":"collaboration-tools","datenschutz-tools":"datenschutz-tools","digitale-post":"digitale-post","digitale-signatur-software":"digitale-signatur-software","elearning-software":"elearning-software",finanztools:"finanztools","ki-text-generator-tools":"ki-text-generator-tools",kommunikationstools:"kommunikationstools","online-event-tools":"online-event-tools","projektmanagement-tools":"projektmanagement-tools","reisekostenabrechnung-software":"reisekostenabrechnung-software",sicherheitstools:"sicherheitstools","ticketverkauf-tools":"ticketverkauf-tools",verwaltung:"verwaltung","videokonferenz-tools":"videokonferenz-tools",zahlungsanbieter:"zahlungsanbieter"}}},5387,e=>{"use strict";var t=e.i(63578);let n=["marketing-content","sales-crm","hr-kommunikation","produktivitaet-projekte","digitalisierung-mittelstand"],i=t.default.topics,r=function(){let e={...t.default.aliases};for(let t of i){let n=t.name.toLowerCase().replace(/ä/g,"ae").replace(/ö/g,"oe").replace(/ü/g,"ue").replace(/ß/g,"ss").replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");n&&n!==t.slug&&!e[n]&&(e[n]=t.slug)}return e}();e.s(["CLUSTER_SLUGS",0,n,"publicCategoryPath",0,function(e){let t=function(e){let t;return n.includes(e)?e:(t=r[e]??e,i.find(e=>e.slug===t))?.cluster}(e);return`/software/kategorie/${t??e}`}])}]);

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.