- 4-step checkout (cart, account, shipping, payment) with Pinia store and route children - minimal cream sticky top bar (logo + stepper + back-to-shopping) replacing nav/footer in checkout - fixed cream action footer at viewport bottom for back/continue on every step - guest / sign-in / register tabs on account step + standalone /login and /register - src/api/auth.js stub matching expected backend contract - legal pages (/impressum, /datenschutz) and category landings (/pflege, /haushalt) - success page stacked CTAs (back-to-home primary, keep-shopping secondary) - footer logo size aligned with navbar; cream variant footer Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 line
6.6 KiB
JavaScript
1 line
6.6 KiB
JavaScript
import{C as e,E as t,G as n,O as r,c as i,ft as a,j as o,l as s,m as c,o as l,p as u,r as d,s as f,u as p,ut as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./vue-router-Cyqru1db.js";import{t as g}from"./_plugin-vue_export-helper-BOai-rQB.js";import{t as _}from"./Badge-Bu_yseK_.js";import{t as v}from"./Button-D1Rp2Xe1.js";var y={key:0,class:`eyebrow`},b={class:`hero-headline font-display font-normal leading-[1.04] tracking-tight hyphens-auto break-words text-[1.625rem] sm:text-[2.25rem] lg:text-[3rem] xl:text-[3.75rem] 2xl:text-[4.5rem]`},x=[`href`],S=[`href`],C=[`src`,`alt`],w=g({__name:`Hero`,props:{eyebrow:{type:String,default:``},headline:{type:String,default:``},subheadline:{type:String,default:``},image:{type:String,default:``},imageAlt:{type:String,default:``},badge:{type:String,default:``},badgeVariant:{type:String,default:`accent`,validator:e=>[`neutral`,`brand`,`accent`,`subtle`,`success`,`warning`,`danger`].includes(e)},ctaLabel:{type:String,default:``},ctaHref:{type:String,default:``},secondaryLabel:{type:String,default:``},secondaryHref:{type:String,default:``},variant:{type:String,default:`split`,validator:e=>[`split`,`centered`].includes(e)},tone:{type:String,default:`cream`,validator:e=>[`cream`,`paper`,`brand`].includes(e)},reverse:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},emits:[`cta`,`secondary`],setup(g){function w(e){return typeof e==`string`&&e.startsWith(`/`)&&!e.startsWith(`//`)}let T=g,E={cream:{surface:`bg-cream`,text:`text-ink`,sub:`text-muted`,disc:`bg-accent-soft/60`,glow:`bg-accent/8`},paper:{surface:`bg-paper`,text:`text-ink`,sub:`text-muted`,disc:`bg-cream`,glow:`bg-brand-soft-wash`},brand:{surface:`bg-brand`,text:`text-cream`,sub:`text-cream/80`,disc:`bg-brand-soft/30`,glow:`bg-accent/5`}},D=l(()=>E[T.tone]),O=l(()=>T.tone===`brand`),k=l(()=>O.value?`accent`:`primary`),A=l(()=>T.variant===`centered`?{root:`flex flex-col items-center text-center gap-10 md:gap-12`,copy:`max-w-2xl mx-auto items-center text-center`,actions:`justify-center`,media:`mt-4 md:mt-6`,mediaSize:`w-full max-w-[287px] sm:max-w-[354px] md:max-w-[442px] lg:max-w-[530px]`}:{root:T.reverse?`grid grid-cols-1 gap-10 md:gap-14 lg:grid-cols-[1fr_1.05fr]`:`grid grid-cols-1 gap-10 md:gap-14 lg:grid-cols-[1.05fr_1fr]`,copy:[`order-2 max-w-xl mx-auto lg:mx-0 items-center text-center lg:justify-center`,T.reverse?`lg:order-2 lg:items-start lg:text-left`:`lg:order-1 lg:items-start lg:text-left`].join(` `),actions:`justify-center lg:justify-start`,media:T.reverse?`order-1 lg:order-1`:`order-1 lg:order-2`,mediaSize:T.compact?`w-full max-w-[373px] sm:max-w-[489px] md:max-w-[603px] lg:max-w-[460px] mx-auto`:`w-full max-w-[300px] sm:max-w-[390px] md:max-w-[480px] lg:max-w-[600px] mx-auto`}),j=l(()=>T.compact?`max-h-[44svh] md:max-h-[61svh] lg:max-h-[48svh]`:`max-h-[35svh] md:max-h-[49svh] lg:max-h-[62svh]`);return(l,T)=>(e(),p(`section`,{class:m([`hero-section relative overflow-clip`,`px-6 py-10 sm:px-8 sm:py-12 md:px-12 md:py-16 lg:px-16 lg:py-20`,D.value.surface,D.value.text])},[f(`div`,{class:m([`relative mx-auto w-full max-w-6xl`,A.value.root])},[f(`div`,{class:m([`relative z-[1] flex flex-col gap-6 min-w-0`,A.value.copy])},[g.eyebrow?(e(),p(`p`,y,a(g.eyebrow),1)):s(``,!0),f(`h1`,b,[t(l.$slots,`headline`,{},()=>[u(a(g.headline),1)],!0)]),g.subheadline||l.$slots.subheadline?(e(),p(`p`,{key:1,class:m([`text-lg leading-relaxed max-w-xl`,D.value.sub])},[t(l.$slots,`subheadline`,{},()=>[u(a(g.subheadline),1)],!0)],2)):s(``,!0),g.ctaLabel||g.secondaryLabel||l.$slots.actions?(e(),p(`div`,{key:2,class:m([`mt-2 flex flex-wrap items-center gap-3`,A.value.actions])},[t(l.$slots,`actions`,{},()=>[g.ctaLabel&&g.ctaHref&&w(g.ctaHref)?(e(),i(n(h),{key:0,to:g.ctaHref,class:`inline-flex`},{default:o(()=>[c(v,{variant:k.value,size:`lg`},{default:o(()=>[t(l.$slots,`cta`,{},()=>[u(a(g.ctaLabel),1)],!0)]),_:3},8,[`variant`])]),_:3},8,[`to`])):g.ctaLabel&&g.ctaHref?(e(),p(`a`,{key:1,href:g.ctaHref,class:`inline-flex`},[c(v,{variant:k.value,size:`lg`},{default:o(()=>[t(l.$slots,`cta`,{},()=>[u(a(g.ctaLabel),1)],!0)]),_:3},8,[`variant`])],8,x)):g.ctaLabel?(e(),i(v,{key:2,variant:k.value,size:`lg`,onClick:T[0]||=e=>l.$emit(`cta`)},{default:o(()=>[t(l.$slots,`cta`,{},()=>[u(a(g.ctaLabel),1)],!0)]),_:3},8,[`variant`])):s(``,!0),g.secondaryLabel?(e(),p(d,{key:3},[O.value&&g.secondaryHref&&w(g.secondaryHref)?(e(),i(n(h),{key:0,to:g.secondaryHref,class:`inline-flex items-center justify-center rounded-pill border border-cream/50 px-[34px] py-[17px] text-[16px] font-semibold tracking-label text-cream transition-colors duration-base hover:border-cream hover:bg-cream-wash-strong`},{default:o(()=>[u(a(g.secondaryLabel),1)]),_:1},8,[`to`])):O.value?(e(),i(r(g.secondaryHref?`a`:`button`),{key:1,type:g.secondaryHref?void 0:`button`,href:g.secondaryHref||void 0,class:`inline-flex items-center justify-center rounded-pill border border-cream/50 px-[34px] py-[17px] text-[16px] font-semibold tracking-label text-cream transition-colors duration-base hover:border-cream hover:bg-cream-wash-strong`,onClick:T[1]||=e=>g.secondaryHref?null:l.$emit(`secondary`)},{default:o(()=>[u(a(g.secondaryLabel),1)]),_:1},8,[`type`,`href`])):g.secondaryHref&&w(g.secondaryHref)?(e(),i(n(h),{key:2,to:g.secondaryHref,class:`inline-flex`},{default:o(()=>[c(v,{variant:`secondary`,size:`lg`},{default:o(()=>[u(a(g.secondaryLabel),1)]),_:1})]),_:1},8,[`to`])):g.secondaryHref?(e(),p(`a`,{key:3,href:g.secondaryHref,class:`inline-flex`},[c(v,{variant:`secondary`,size:`lg`},{default:o(()=>[u(a(g.secondaryLabel),1)]),_:1})],8,S)):(e(),i(v,{key:4,variant:`secondary`,size:`lg`,onClick:T[2]||=e=>l.$emit(`secondary`)},{default:o(()=>[u(a(g.secondaryLabel),1)]),_:1}))],64)):s(``,!0)],!0)],2)):s(``,!0)],2),g.image||l.$slots.media?(e(),p(`div`,{key:0,class:m([`relative flex items-center justify-center`,A.value.media])},[f(`div`,{"aria-hidden":`true`,class:m([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2`,`w-[80%] aspect-square rounded-full blur-xl`,D.value.glow])},null,2),f(`div`,{"aria-hidden":`true`,class:m([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2`,`w-[70%] aspect-square rounded-full`,D.value.disc])},null,2),f(`div`,{class:m([`relative`,A.value.mediaSize])},[g.badge?(e(),i(_,{key:0,variant:g.badgeVariant,class:`absolute -top-3 -left-3 z-[1] shadow-sm`},{default:o(()=>[u(a(g.badge),1)]),_:1},8,[`variant`])):s(``,!0),t(l.$slots,`media`,{},()=>[f(`img`,{src:g.image,alt:g.imageAlt||g.headline,loading:`eager`,decoding:`async`,class:m([`relative mx-auto w-auto max-w-full object-contain drop-shadow-[0_20px_40px_rgba(28,58,40,0.18)]`,j.value])},null,10,C)],!0),t(l.$slots,`afterMedia`,{},void 0,!0)],2)],2)):s(``,!0)],2)],2))}},[[`__scopeId`,`data-v-1d18fd71`]]);export{w as t}; |