1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5669],{1934:(e,t,r)=>{"use strict";r.d(t,{v:()=>o});var a=r(12115);let n=e=>{let t,r=new Set,a=(e,a)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=a?a:"object"!=typeof n||null===n)?n:Object.assign({},t,n),r.forEach(r=>r(t,e))}},n=()=>t,l={setState:a,getState:n,getInitialState:()=>o,subscribe:e=>(r.add(e),()=>r.delete(e))},o=t=e(a,n,l);return l},l=e=>{let t=e?n(e):n,r=e=>(function(e,t=e=>e){let r=a.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return a.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},o=e=>e?l(e):l},3803:(e,t,r)=>{"use strict";r.d(t,{CM:()=>function e(t){if(null!==t){if(Array.isArray(t))return t.map(e);if("object"==typeof t&&null!==t){let r={};for(let[a,n]of Object.entries(t))r[a]=e(n);return r}return t}},Hm:()=>u,M3:()=>c,cn:()=>i,iU:()=>d,zc:()=>s});var a=r(29722),n=r(622),l=r(64453);let o=(0,n.zu)({extend:{classGroups:{"font-size":["text-xs","text-sm","text-md","text-lg","text-h6","text-h5","text-h4","text-h3","text-h2","text-h1","text-btn-xs","text-btn-sm","text-btn-md","text-btn-lg","text-display1","text-display2","text-overline1","text-overline2"],leading:["leading-h6","leading-h5","leading-h4","leading-h3","leading-h2","leading-h1","leading-display1","leading-display2"],shadow:["shadow-xs","shadow-sm","shadow-md","shadow-lg","shadow-xl","shadow-2xl","shadow-button"]}}});function i(...e){return o((0,a.$)(e))}function c(){return new URL(window.location.href).searchParams.get("redirectUrl")}function s(e){return`redirectUrl=${encodeURIComponent(e)}`}function d(e){try{return l.i(e)}catch(e){return null}}function u(e){if(e){let t=d(e);if(t?.exp)return new Date>new Date(1e3*t.exp)}return!0}},4868:(e,t,r)=>{"use strict";r.d(t,{O:()=>o});var a=r(74698),n=r(3803),l=r(16317);let o=e=>{let t=window.location.pathname.split("/")[1],r=l.dI.includes(t)?t:l.Xn,o=(0,a.A)("https://shop.vfb.de").middlewares([e=>(t,a)=>{let n=new URL(t,"https://shop.vfb.de");return n.searchParams.set("locale",r),e(n.toString(),a)}]).catcher(401,()=>{window.location.href=`/${r}/expired-login?${(0,n.zc)(window.location.pathname)}`}),i=o.url;return o.url=function(e,t){let r=i.call(this,e,t),a=r.get,n=r.post,l=r.put,o=r.delete,c=r.patch;return r.get=function(e){return a.call(this,e)},r.post=function(e,t){return n.call(this,e,t)},r.put=function(e,t){return l.call(this,e,t)},r.delete=function(e){return o.call(this,e)},r.patch=function(e,t){return c.call(this,e,t)},r},o}},9339:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a={callServer:function(){return l.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return o.findSourceMapURL}};for(var n in a)Object.defineProperty(t,n,{enumerable:!0,get:a[n]});let l=r(77304),o=r(4060),i=r(77197)},14116:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(95155),n=r(83991);function l(e){let{href:t,...r}=e;return t?(0,a.jsx)("a",{...r,href:t}):(0,a.jsx)("span",{className:(0,n.cn)(e.className,"text-destructive line-through"),children:e.children??"undefined"})}},16317:(e,t,r)=>{"use strict";r.d(t,{GD:()=>h,Xn:()=>d,dI:()=>s,lm:()=>f,pm:()=>p,w6:()=>m});var a=r(31137),n=r(83109),l=r(35871),o=r(38503),i=r(28872),c=r(41463);let s=["de","en"],d="de",u={checkout:{en:"/en/checkout",de:"/de/checkout"},checkoutShipping:{en:"/en/checkout/shipping",de:"/de/checkout/shipping"},checkoutPayment:{en:"/en/checkout/payment",de:"/de/checkout/payment"},checkoutOverview:{en:"/en/checkout/overview",de:"/de/checkout/overview"}},h=(e,t)=>u[e][t],f=()=>{let{locale:e}=(0,a.useTranslations)();return{switchLanguage:t=>{if(t!==e){var r;let e;e=new Date(Date.now()+31104e6),(0,n.setCookie)(c.env.NEXT_PUBLIC_COOKIE_LOCALE_NAME,t,{expires:e,...r}),window.location.href=`/${t}`}}}},m={en:o.b,de:i.de},p=e=>{let t=new Date(2024,11,31),r=m[e],a=(0,l.GP)(t,"P",{locale:r}),n={en:{day:"DD",month:"MM",year:"YYYY"},de:{day:"TT",month:"MM",year:"JJJJ"}}[e];return a.replace(/31/g,n.day).replace(/12/g,n.month).replace(/2024/g,n.year).replace(/\b3\b/g,n.day.slice(0,1)).replace(/\b1\b/g,n.month.slice(0,1))}},20595:(e,t,r)=>{"use strict";r.d(t,{x:()=>u});var a=r(1934),n=r(4868),l=r(9339);let o=(0,l.createServerReference)("7fcb444c085274589ca9c7010370c04ce7abe1b98c",l.callServer,void 0,l.findSourceMapURL,"removeVoucher"),i=(0,l.createServerReference)("7f24f549b4ffd701919fc6304afa49534d87faee19",l.callServer,void 0,l.findSourceMapURL,"addVoucher"),c=(0,l.createServerReference)("7f3c3dd58345f36caea1c18c2f8cd8df6d6978ce28",l.callServer,void 0,l.findSourceMapURL,"applyGiftCard"),s=(0,l.createServerReference)("7f0de0116956a85930102fe54
1c5a9b6386099346c7",l.callServer,void 0,l.findSourceMapURL,"removeGiftCard");function d(){return{type:"apiError",status:429,message:""}}let u=(0,a.v)((e,t)=>({cart:null,realCart:null,timeoutId:null,error:null,loading:!1,fetchCartCount:async t=>{try{let r=new URLSearchParams;r.set("cartname","default"),t?.invalidateCache&&r.set("invalidateCache","true"),e({loading:!0,error:null});let a=await (0,n.O)().url(`/api/cart/count?${r.toString()}`).get().json();return e({cart:a,realCart:a,loading:!1}),a}catch(t){throw e({error:"Failed to fetch cart",loading:!1}),t}},fetchCart:async()=>{try{let t=new URLSearchParams;t.set("cartname","default"),e({loading:!0,error:null});let r=await (0,n.O)().url(`/api/cart/details?${t.toString()}`).get().json();return e({cart:r,realCart:r,loading:!1}),r}catch(t){throw e({error:"Failed to fetch cart",loading:!1}),t}},addItem:async({itemId:r,quantity:a,customization:l=null,details:o=!1})=>{let{realCart:i}=t();try{let t=await (0,n.O)().url("/api/cart/addItem?cartname=default").post({itemId:r,quantity:a,customization:l,details:o}).json();return e({cart:t,realCart:t}),t}catch(t){throw e({cart:i}),t}},updateItemQuantity:async(r,a)=>{let{timeoutId:l,realCart:o}=t();return l&&clearTimeout(l),e(e=>{if(!e.cart)return e;let t={...e.cart.items};return t[r.id]&&(t[r.id]={...t[r.id],quantity:a}),{cart:{...e.cart,items:t}}}),new Promise((t,l)=>{let i=setTimeout(async()=>{try{let l=await (0,n.O)().url("/api/cart/updateItem?cartname=default").post({itemId:r.uuid,quantity:a}).json();e({cart:l,realCart:l}),t(l)}catch(t){e({cart:o}),l(t)}},500);e(e=>({...e,timeoutId:i}))})},removeItem:async r=>{let{realCart:a}=t();try{let t=await (0,n.O)().url("/api/cart/deleteItem?cartname=default").post({itemId:r,quantity:0}).json();return e({cart:t,realCart:t}),t}catch(t){throw e({cart:a}),t}},removeVoucher:async r=>{let{realCart:a}=t();try{let t=await o(r);if(!t?.success)throw t?.error??d();return e({cart:t.data,realCart:t.data}),t.data}catch(t){throw e({cart:a}),t}},addVoucher:async r=>{let{realCart:a}=t();try{let t=await i(r);if(!t?.success)throw t?.error??d();return e({cart:t.data,realCart:t.data}),t.data}catch(t){throw e({cart:a}),t}},addGiftCard:async r=>{let{realCart:a}=t();try{let t=await c(r);if(!t?.success)throw t?.error??d();return e({cart:t.data,realCart:t.data}),t.data}catch(t){throw e({cart:a}),t}},removeGiftCard:async(r,a)=>{let{realCart:n}=t();try{let t=await s(r,a);if(!t?.success)throw t?.error??d();return e({cart:t.data,realCart:t.data}),t.data}catch(t){throw e({cart:n}),t}}}))},29376:(e,t,r)=>{"use strict";r.d(t,{$:()=>c});var a=r(95155);r(12115);var n=r(18460),l=r(3803);let o=(0,n.F)("",{variants:{lvl:{1:"text-h1 leading-h1",2:"text-h2 leading-h2",3:"text-h3 leading-h3",4:"text-h4 leading-h4",5:"text-h5 leading-h5",6:"text-h6 leading-h6",display1:"text-display1 leading-display1",display2:"text-display2 leading-display2"},weight:{light:"font-light",normal:"font-normal",semiBold:"font-semibold",bold:"font-bold",black:"font-black"},color:{primary:"text-primary",secondary:"text-secondary",neutral:"text-neutral-800",white:"text-neutral-50"},textTransform:{normal:"normal-case",upper:"uppercase"}},defaultVariants:{weight:"bold",color:"neutral",lvl:2,textTransform:"normal"}}),i=(0,n.F)("",{variants:{accentColor:{default:"bg-primary",primary:"bg-primary",secondary:"bg-secondary",neutral:"bg-neutral-800",white:"bg-neutral-50"}},defaultVariants:{accentColor:"default"}});function c(e){let{accent:t,accentBottom:r,accentColor:n,className:c,element:s,children:d,...u}=e,h=e.lvl||2,f="h"+h;return s&&(f=s),(0,a.jsxs)(f,{className:(0,l.cn)(o({...u,lvl:h}),c),children:[t&&!r&&(0,a.jsx)("div",{className:(0,l.cn)(i({accentColor:n}),"w-[50px] h-[3px] absolute -mt-4")}),d,t&&r&&(0,a.jsx)("div",{className:(0,l.cn)(i({accentColor:n}),"w-[50px] h-[3px] absolute -bottom-[18px]")})]})}c.displayName="Headline"},29722:(e,t,r)=>{"use strict";function a(){for(var e,t,r=0,a="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=function e(t){var r,a,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var l=t.length;for(r=0;r<l;r++)t[r]&&(a=e(t[r]))&&(n&&(n+=" "),n+=a)}else for(a in t)t[a]&&(n&&(n+=" "),n+=a);return n}(e))&&(a&&(a+=" "),a+=t);return a}r.d(t,{$:()=>a,A:()=>n});let n=a},31137:(e,t,r)=>{"use strict";r.r(t),r.d(t,{TranslationsProvider:()=>o,useTranslations:()=>i});var a=r(95155),n=r(12115);let l=(0,n.createContext)(void 0);function o(e){let t={translations:e.translations,$t:(t,r)=>(function(e,t,r){let a=r?.parameters??[],n=r?.domain??"messages",l=r.locale||"de",o=`Text definition not found: ${t}`,i=e.find(e=>{if(e.key===t&&e.domain===n)return e});if(i)o=i.translations?.[l]??i.translations?.de??o,Object.keys(a).forEac
1h(e=>{let t=RegExp(e,"g");o=o.replace(t,a[e])});else if(r.useKeyMissing)return t;return o})(e.translations,t,{locale:e.activeLanguage,...r??{}}),locale:e.activeLanguage};return(0,a.jsx)(l.Provider,{value:t,children:e.children})}let i=()=>{let e=(0,n.useContext)(l);if(!e)throw Error("useTranslations must be used within a TranslationsProvider");return e}},32493:(e,t,r)=>{"use strict";r.d(t,{$:()=>u,V:()=>d});var a=r(95155),n=r(42442),l=r(12115);let o=l.forwardRef(({className:e,asChild:t=!1,...r},l)=>{let o=t?n.DX:"button";return(0,a.jsx)(o,{className:e,ref:l,...r})});o.displayName="Button";let i={button:{base:`inline-flex items-center justify-center 2 whitespace-nowrap 3 transition-colors 4 focus-visible:outline-none 5 focus-visible:ring-2 6 focus-visible:ring-[#005fcc] 7 focus-visible:ring-offset-2 8 focus-visible:ring-offset-background 9 disabled:pointer-events-none 10 disabled:bg-neutral-300 11 disabled:text-neutral-800 12 filter active:brightness-80`,variants:{variant:{solid:" active:shadow-button",outline:"border bg-background",ghost:"",link:"underline-offset-4 hover:underline"},color:{primary:"",secondary:"",destructive:"",neutral:"",white:"",accent:""},weight:{light:"font-light",normal:"font-normal",semiBold:"font-semibold",bold:"font-bold",black:"font-black"},size:{default:"px-4 py-3",sm:"h-9 px-3",lg:"h-11 px-8",icon:"h-10 w-10"},textSize:{xs:"text-btn-xs",sm:"text-btn-sm",md:"text-btn-md",lg:"text-btn-lg",h6:"text-h6",h5:"text-h5",h4:"text-h4",h3:"text-h3",h2:"text-h2",h1:"text-h1"},textSizeMobile:{xs:"max-lg:text-btn-xs",sm:"max-lg:text-btn-sm",md:"max-lg:text-btn-md",lg:"max-lg:text-btn-lg",h6:"max-lg:text-h6",h5:"max-lg:text-h5",h4:"max-lg:text-h4",h3:"max-lg:text-h3",h2:"max-lg:text-h2",h1:"max-lg:text-h1"},textTransform:{normal:"normal-case",upper:"uppercase"},rounded:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"}},compoundVariants:[{variant:"solid",color:"primary",class:"bg-primary text-primary-foreground hover:bg-primary-600"},{variant:"solid",color:"secondary",class:"bg-secondary text-secondary-foreground hover:bg-secondary-600"},{variant:"solid",color:"destructive",class:"bg-destructive text-destructive-foreground hover:bg-destructive-600"},{variant:"solid",color:"neutral",class:"bg-neutral-500 text-neutral-0 hover:bg-neutral-600"},{variant:"solid",color:"white",class:"bg-neutral-0 text-neutral-800 hover:text-primary-500 hover:bg-neutral-0"},{variant:"solid",color:"accent",class:"bg-accent text-accent-foreground hover:bg-accent-600"},{variant:"outline",color:"primary",class:"border-primary text-primary hover:bg-primary/10"},{variant:"outline",color:"secondary",class:"border-secondary text-secondary hover:bg-secondary/10"},{variant:"outline",color:"destructive",class:"border-destructive text-destructive hover:bg-destructive/10"},{variant:"outline",color:"neutral",class:"border-neutral-500 text-neutral-500 hover:bg-neutral-100"},{variant:"outline",color:"accent",class:"border-accent text-accent hover:bg-accent/10"},{variant:"ghost",color:"primary",class:"text-primary hover:bg-primary/10"},{variant:"ghost",color:"secondary",class:"text-secondary hover:bg-secondary/10"},{variant:"ghost",color:"destructive",class:"text-destructive hover:bg-destructive/10"},{variant:"ghost",color:"neutral",class:"text-neutral-500 hover:bg-neutral-100"},{variant:"ghost",color:"accent",class:"text-accent hover:bg-accent/10"},{variant:"link",color:"primary",class:"text-primary hover:text-primary-600"},{variant:"link",color:"secondary",class:"text-secondary hover:text-secondary-600"},{variant:"link",color:"destructive",class:"text-destructive hover:text-destructive-600"},{variant:"link",color:"neutral",class:"text-neutral-500 hover:text-neutral-600"},{variant:"link",color:"accent",class:"text-accent hover:text-accent-600"}],defaultVariants:{color:"primary",variant:"solid",weight:"bold",size:"default",textTransform:"upper",textSize:"sm",rounded:"sm"}}};var c=r(18460),s=r(3803);let d=(0,c.F)(i.button.base,i.button),u=(0,l.forwardRef)((e,t)=>{let{children:r,color:n,variant:l,weight:i,size:c,textTransform:u,textSize:h,textSizeMobile:f,rounded:m,type:p="button",className:x,...v}=e;return(0,a.jsx)(o,{...v,type:p,className:(0,s.cn)(d({color:n,variant:l,weight:i,size:c,textTransform:u,textSize:h,textSizeMobile:f,rounded:m}),x),ref:t,children:r})});u.displayName="Button"},36710:(e,t,r)=>{"use strict";r.d(t,{y:()=>l});var a=r(95155);let n=(0,r(18460).F)("animate-spin",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"},color:{primary:"text-primary",secondary:"text-secondary",neutral:"text-neutral-500",accent:"text-accent",white:"text-white",black:"text-black"}},defaultVariants:{size:"md",color:"neutral"}});function l({className:e="",size:t,color:r}){return(0,a.jsxs)("svg",{className:n({size:t,color:r,className:e}),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,a.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},42442:(e,t,r)=>{"use strict";r.d(t,{DX:()=>o});var a=r(12115),n=r(47527),l=r(95155),o=a.forwardRef((e,t)=>
12{let{children:r,...n}=e,o=a.Children.toArray(r),c=o.find(s);if(c){let e=c.props.children,r=o.map(t=>t!==c?t:a.Children.count(e)>1?a.Children.only(null):a.isValidElement(e)?e.props.children:null);return(0,l.jsx)(i,{...n,ref:t,children:a.isValidElement(e)?a.cloneElement(e,void 0,r):null})}return(0,l.jsx)(i,{...n,ref:t,children:r})});o.displayName="Slot";var i=a.forwardRef((e,t)=>{let{children:r,...l}=e;if(a.isValidElement(r)){var o;let e,i,c=(o=r,(i=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(i=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref);return a.cloneElement(r,{...function(e,t){let r={...t};for(let a in t){let n=e[a],l=t[a];/^on[A-Z]/.test(a)?n&&l?r[a]=(...e)=>{l(...e),n(...e)}:n&&(r[a]=n):"style"===a?r[a]={...n,...l}:"className"===a&&(r[a]=[n,l].filter(Boolean).join(" "))}return{...e,...r}}(l,r.props),ref:t?(0,n.t)(t,c):c})}return a.Children.count(r)>1?a.Children.only(null):null});i.displayName="SlotClone";var c=({children:e})=>(0,l.jsx)(l.Fragment,{children:e});function s(e){return a.isValidElement(e)&&e.type===c}},47527:(e,t,r)=>{"use strict";r.d(t,{s:()=>o,t:()=>l});var a=r(12115);function n(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(...e){return t=>{let r=!1,a=e.map(e=>{let a=n(e,t);return r||"function"!=typeof a||(r=!0),a});if(r)return()=>{for(let t=0;t<a.length;t++){let r=a[t];"function"==typeof r?r():n(e[t],null)}}}}function o(...e){return a.useCallback(l(...e),e)}},57507:(e,t,r)=>{Promise.resolve().then(r.bind(r,64874))},64874:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>p});var a=r(95155),n=r(14116),l=r(31137),o=r(29376),i=r(12115),c=r(18460),s=r(3803);let d=(0,c.F)("",{variants:{lvl:{1:"text-overline-1 leading-overline-1"},color:{black:"text-neutral-900",white:"text-neutral-50"},weight:{light:"font-light",normal:"font-normal",semiBold:"font-semibold",bold:"font-bold",black:"font-black"},textTransform:{normal:"normal-case",upper:"uppercase"}},defaultVariants:{lvl:1,color:"black",textTransform:"upper",weight:"black"}});function u(e){let{className:t,children:r,...n}=e;return(0,a.jsx)("div",{className:(0,s.cn)(d({...n}),t),children:r})}var h=r(32493),f=r(36710),m=r(20595);function p(){let{$t:e}=(0,l.useTranslations)(),[t,r]=(0,i.useState)(!0),{fetchCartCount:c}=(0,m.x)();return(0,i.useEffect)(()=>{(async()=>{try{await c({invalidateCache:!0})&&r(!1)}catch(e){r(!1)}})()},[c]),t?(0,a.jsx)("div",{className:"flex justify-center items-center h-screen",children:(0,a.jsx)(f.y,{})}):(0,a.jsx)("div",{id:"error-500",className:"app-container my-auto flex justify-center items-center h-[100vh]",children:(0,a.jsxs)("div",{className:"container text-center grid gap-y-4",children:[(0,a.jsx)(u,{children:e("500 - Something went wrong!",{useKeyMissing:!0})}),(0,a.jsx)(o.$,{lvl:1,color:"primary",children:e("An unexpected server error happened, please try again later.",{useKeyMissing:!0})}),(0,a.jsx)("div",{children:(0,a.jsx)(h.$,{asChild:!0,children:(0,a.jsx)(n.A,{href:"/",children:e("Return to homepage",{useKeyMissing:!0})})})})]})})}},83991:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});let a=r(3803).cn}},e=>{e.O(0,[2363,5133,8441,3794,7358],()=>e(e.s=57507)),_N_E=e.O()}]);
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.