1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[847,13325,32879,43069,51060,78830],{22034:(e,r,t)=>{t.r(r),t.d(r,{QuestionStep:()=>l});var n=t(6029);t(55729);var a=t(75828),s=t.n(a),i=t(5700);let l=({step:e,currentAnswer:r,isFirstStep:t=!1,onAnswer:a,onBack:l,className:o=""})=>{let d=(0,i.c)("kaufberatung");return e?(0,n.jsxs)("div",{className:s()("flex flex-col gap-6",o),children:[(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsx)("h3",{className:"text-xl font-bold text-skin-primary md:text-2xl",children:d(`STEPS.${e.id}.TITLE`)}),(0,n.jsx)("p",{className:"text-base text-skin-primary/80",children:d(`STEPS.${e.id}.SUBTITLE`)})]}),(0,n.jsx)("div",{role:"radiogroup","aria-label":d(`STEPS.${e.id}.TITLE`),className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:e.options.map(t=>{let i=r===t;return(0,n.jsx)("div",{role:"radio",tabIndex:0,"aria-checked":i,onClick:()=>a(t),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a(t))},className:s()("cursor-pointer border p-4 transition-colors focus:outline-none focus:ring-2 focus:ring-skin-primary",{"border-skin-primary bg-skin-primary text-white":i,"border-skin-primary/30 bg-white text-skin-primary hover:border-skin-primary hover:bg-skin-primary/5":!i}),children:(0,n.jsx)("span",{className:"text-base font-medium",children:d(`STEPS.${e.id}.OPTIONS.${t}`)})},t)})}),(0,n.jsx)("div",{className:"flex items-center justify-between",children:(0,n.jsx)("button",{type:"button",onClick:l,disabled:t,className:s()("border border-skin-primary px-4 py-2 text-sm font-medium transition-colors",{"cursor-not-allowed border-skin-primary/30 text-skin-primary/30":t,"text-skin-primary hover:bg-skin-primary hover:text-white":!t}),children:d("BACK")})})]}):null}},24204:(e,r,t)=>{t.r(r),t.d(r,{ProgressBar:()=>l});var n=t(6029);t(55729);var a=t(75828),s=t.n(a),i=t(5700);let l=({currentStepIndex:e,totalSteps:r,className:t=""})=>{let a=(0,i.c)("kaufberatung"),l=Math.max(0,Math.min(e,r)),o=r>0?l/r*100:0,d=Math.min(l+1,r);return(0,n.jsxs)("div",{className:s()("w-full",t),children:[(0,n.jsxs)("div",{className:"mb-2 flex items-center justify-between text-sm text-skin-primary",children:[(0,n.jsx)("span",{children:a("PROGRESS_LABEL",{current:d,total:r})}),(0,n.jsxs)("span",{children:[Math.round(o),"%"]})]}),(0,n.jsx)("div",{role:"progressbar","aria-valuenow":Math.round(o),"aria-valuemin":0,"aria-valuemax":100,className:"h-2 w-full bg-skin-secondary",children:(0,n.jsx)("div",{className:"h-full bg-skin-primary transition-all duration-300",style:{width:`${o}%`}})})]})}},30537:(e,r,t)=>{t.r(r),t.d(r,{SummaryBar:()=>o});var n=t(6029);t(55729);var a=t(75828),s=t.n(a),i=t(5700),l=t(44639);let o=({answers:e,currentStepIndex:r,onJumpTo:t,renderHref:a,className:o=""})=>{let d=(0,i.c)("kaufberatung"),u=(0,l.getVisibleSteps)(e).map((e,r)=>({step:e,idx:r})).filter(({step:t,idx:n})=>n<r&&void 0!==e[t.id]);if(!u.length)return null;let c="function"==typeof a;return(0,n.jsxs)("div",{className:s()("flex flex-col gap-2",o),children:[(0,n.jsx)("span",{className:"text-xs font-medium uppercase tracking-wide text-skin-primary/60",children:d("SUMMARY_HEADING")}),(0,n.jsx)("ul",{className:"flex flex-wrap gap-2",children:u.map(({step:r,idx:s})=>{let i=e[r.id],l=d(`STEPS.${r.id}.OPTIONS.${i}`),o="group inline-flex items-center gap-2 border border-skin-primary/30 bg-white px-3 py-2 text-base text-skin-primary transition-colors hover:border-skin-primary hover:bg-skin-primary hover:text-white",u=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"font-medium",children:l}),(0,n.jsx)("span",{className:"text-sm text-skin-primary/60 group-hover:text-white/80",children:d("CHANGE")})]});return(0,n.jsx)("li",{children:c?(0,n.jsx)("a",{href:a(r.id),className:o,children:u}):(0,n.jsx)("button",{type:"button",onClick:()=>t?.(s),className:o,children:u})},r.id)})})]})}},44639:(e,r,t)=>{t.r(r),t.d(r,{BIKEFINDER_PATH:()=>c,CATEGORY_META:()=>d,EBIKE_ROOTS:()=>l,FROM_PARAM:()=>m,KAUFBERATUNG_PATH:()=>u,LEASING_PURCHASE_PRICE_BY_STEP:()=>a,NON_EBIKE_ROOTS:()=>o,STEPS:()=>n,answersFromSearchParams:()=>p,answersToSearchParams:()=>x,getLeasingPurchasePrice:()=>s,getVisibleSteps:()=>i,resolveResult:()=>f});let n=[{id:"purpose",options:["commute","tour","mtb","road"]},{id:"motor",options:["yes","no","unsure"]},{id:"terrain",options:["road","mixed","offroad"]},{id:"intensity",options:["low","medium","high"]},{id:"range",options:["short","medium","long"],condition:e=>e?.motor!=="no"},{id:"price",options:["any","1000","2000","3000","5000","99999"]}],a={1e3:999,2e3:1999,3e3:2999,5e3:4999,99999:5e3},s=e=>a[e?.price]||null,i=e=>n.filter(r=>!r.condition||r.condition(e)),l=["Pedelec","S-Pedelec"],o=["Fahrrad"],d={"e-citybike":{slug:"e-citybike",roots:l,fragments:["City","Urban"]},citybike:{slug:"citybike",roots:o,fragments:["City","Urban"]},"e-trekkingbike":{slug:"e-trekkingbike",roots:l,fragments:["Trekking"]},trekkingrad:{slug:"trekkingrad",roots:o,fragments:["Trekking"]},"e-mtb":{slug:"e-mtb",roots:l,fragments:["MTB","Mountain"]}
1,mountainbike:{slug:"mountainbike",roots:o,fragments:["MTB","Mountain"]},"e-rennrad":{slug:"e-rennrad",roots:l,fragments:["Rennrad"]},rennrad:{slug:"rennrad",roots:o,fragments:["Rennrad"]},"e-gravelbike":{slug:"e-gravelbike",roots:l,fragments:["Gravel"]},gravelbike:{slug:"gravelbike",roots:o,fragments:["Gravel"]}},u="/kaufberatung/",c="/kaufberatung/bikefinder/",m="from",p=e=>{let r="string"==typeof e?new URLSearchParams(e):e||new URLSearchParams,t={};for(let e of n){let n=r.get(e.id);n&&(t[e.id]=n)}return t},x=(e={})=>{let r=new URLSearchParams;for(let t of n){let n=e[t.id];null!=n&&""!==n&&r.set(t.id,String(n))}return r},g={"commute:yes:road":"e-citybike","commute:no:road":"citybike","tour:yes:mixed":"e-trekkingbike","tour:no:mixed":"trekkingrad","mtb:yes:offroad":"e-mtb","mtb:no:offroad":"mountainbike","road:yes:road":"e-rennrad","road:no:road":"rennrad","road:yes:mixed":"e-gravelbike","road:no:mixed":"gravelbike"},b={"commute:yes":"e-citybike","commute:no":"citybike","tour:yes":"e-trekkingbike","tour:no":"trekkingrad","mtb:yes":"e-mtb","mtb:no":"mountainbike","road:yes":"e-rennrad","road:no":"rennrad"},k=(e,r,t)=>{let n=g[`${e}:${r}:${t}`];return n||b[`${e}:${r}`]||null},f=(e={})=>{let{purpose:r,motor:t,terrain:n}=e;if(!r||!t)return{categories:[],answers:e};let a=[];if("unsure"===t)a=[k(r,"yes",n),k(r,"no",n)].filter(Boolean);else{let e=k(r,t,n);e&&(a=[e])}return{categories:a=a.filter((e,r)=>a.indexOf(e)===r),answers:e}}},68472:(e,r,t)=>{t.r(r),t.d(r,{useKaufberatung:()=>l});var n=t(55729),a=t(44639);let s={answers:{},currentStepIndex:0},i=(e,r)=>{switch(r.type){case"ANSWER":{let{stepId:t,value:n}=r,s={...e.answers,[t]:n},i=(0,a.getVisibleSteps)(s),l=i.findIndex(e=>e.id===t),o=i.findIndex((e,r)=>r>l&&void 0===s[e.id]);return{answers:s,currentStepIndex:o>=0?o:i.length}}case"BACK":return{...e,currentStepIndex:Math.max(e.currentStepIndex-1,0)};case"GO_TO":{let t=(0,a.getVisibleSteps)(e.answers),n=Math.max(0,Math.min(r.stepIndex,t.length));return{...e,currentStepIndex:n}}case"HYDRATE":{let e=r.answers||{},t=(0,a.getVisibleSteps)(e);return{answers:e,currentStepIndex:Math.max(0,Math.min(Number.isInteger(r.stepIndex)?r.stepIndex:0,t.length))}}case"RESET":return s;default:return e}},l=({initialAnswers:e,initialStepIndex:r}={})=>{let[t,s]=(0,n.useReducer)(i,{initialAnswers:e,initialStepIndex:r},e=>{let r=e?.initialAnswers||{},t=(0,a.getVisibleSteps)(r);return{answers:r,currentStepIndex:Math.max(0,Math.min(Number.isInteger(e?.initialStepIndex)?e.initialStepIndex:0,t.length))}}),l=(0,n.useCallback)((e,r)=>{s({type:"ANSWER",stepId:e,value:r})},[]),o=(0,n.useCallback)(()=>{s({type:"BACK"})},[]),d=(0,n.useCallback)(e=>{s({type:"GO_TO",stepIndex:e})},[]),u=(0,n.useCallback)(()=>{s({type:"RESET"})},[]),c=(0,n.useCallback)((e,r)=>{s({type:"HYDRATE",answers:e,stepIndex:r})},[]),m=(0,a.getVisibleSteps)(t.answers),p=t.currentStepIndex<m.length?m[t.currentStepIndex]:null,x=t.currentStepIndex>=m.length;return{answers:t.answers,currentStepIndex:t.currentStepIndex,currentStep:p,isComplete:x,totalSteps:m.length,visibleSteps:m,answer:l,back:o,goTo:d,reset:u,hydrate:c,STATIC_STEP_COUNT:a.STEPS.length}}},86483:(e,r,t)=>{t.r(r),t.d(r,{Kaufberatung:()=>b,STEPS:()=>d.STEPS,default:()=>k});var n=t(6029),a=t(55729),s=t(75828),i=t.n(s),l=t(81278),o=t(5700),d=t(44639),u=t(68472),c=t(24204),m=t(22034),p=t(30537),x=t(67756),g=t(98681);let b=({className:e=""})=>{let r=(0,o.c)("kaufberatung"),t=(0,l.useRouter)(),s=(0,a.useRef)(!1),b=(0,a.useRef)(!1),k=(0,a.useRef)(!1),f=(0,a.useRef)(null),{answers:h,currentStepIndex:S,currentStep:y,isComplete:w,totalSteps:E,answer:T,back:v,goTo:I,hydrate:N}=(0,u.useKaufberatung)();return(0,a.useEffect)(()=>{if(s.current)return;s.current=!0;let e=new URLSearchParams(window.location.search),r=(0,d.answersFromSearchParams)(e);if(0===Object.keys(r).length)return;let t=e.get("goTo"),n=(0,d.getVisibleSteps)(r),a=t?n.findIndex(e=>e.id===t):-1;N(r,a>=0?a:0),t&&setTimeout(()=>{f.current?.scrollIntoView({behavior:"smooth",block:"start"})},0)},[N]),(0,a.useEffect)(()=>{if(!t?.isReady||!w||b.current)return;b.current=!0;let e=(0,d.answersToSearchParams)(h);if(t.pathname){let r=(t.asPath||t.pathname).split("?")[0];r&&e.set(d.FROM_PARAM,r)}t.push(`${d.BIKEFINDER_PATH}?${e.toString()}`)},[t?.isReady,w,h,t]),(0,n.jsxs)("section",{ref:f,id:"kaufberatung-quiz",className:i()("mx-auto my-6 w-full max-w-screen-md bg-white p-4 md:my-8 md:p-6","border border-skin-primary/20",e),"aria-label":r("BLOCK_LABEL"),children:[(0,n.jsxs)("header",{className:"mb-6 flex flex-col gap-2",children:[(0,n.jsx)("h2",{className:"text-2xl font-bold text-skin-primary md:text-3xl",children:r("TITLE")}),(0,n.jsx)("p",{className:"text-base text-skin-primary/80",children:r("INTRO")})]}),!w&&(0,n.jsxs)("div",{className:"mb-6 flex flex-col gap-4",children:[(0,n.jsx)(c.ProgressBar,{currentStepIndex:S,totalSteps:E}),(0,n.jsx)(p.SummaryBar,{answers:h,currentStepIndex:S,onJumpTo:I})]}),!w&&y&&(0,n.jsx)(m.QuestionStep,{step:y,currentAnswer:h[y.id],isFirstStep:0===S,onAnswer:e=>{var r;return r=y.id,void(!k.current&&(k.current=!0,(0,x.trackPiwikEvent)("Kaufberatung","quiz","start"),(0,g.Qd)("kaufberatungStart")),(0,x.trackPiwikEvent)("Kaufberatung",`${r}:${e}`,"answer"),(0,g.Qd)("kaufberatungAnswer"),(0,g.Mx)("kaufberatungAnswer",`${r}:${e}`),T(r,e))},onBack:v}),w&&(0,n.jsx)("p",{className:"text-sm text-skin-primary/70",children:r("REDIRECTING")})]})}
1,k=b}}]);
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.