Files
kaiser-natron/dist/assets/HomePage-DJzxxin6.js
Dorian c600fadadb stepped checkout, auth pages, sticky stepper bar, action footer
- 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>
2026-05-03 16:06:26 +01:00

1 line
7.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{B as e,C as t,G as n,S as r,ft as i,j as a,m as o,o as s,p as c,r as l,s as u,u as d,x as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{o as p}from"./vue-router-Cyqru1db.js";import{t as m}from"./i18n-DhVF3Pwg.js";import{r as h}from"./products-BqW5PUnm.js";import{c as g,d as _,f as v,p as y,u as b}from"./api-DlB23x7f.js";import{t as ee}from"./Navbar-dl8ShEaS.js";import{t as te}from"./Footer-DX-ml2dd.js";import{t as ne}from"./CartDrawer-f57jysS_.js";import{t as x}from"./Hero-Bag8c3o2.js";import{t as S}from"./Bundles-Dt57zqLD.js";import{t as C}from"./Revitalization-D0uruWe9.js";import{t as w}from"./About-DF_uf9aY.js";var T={class:`flex flex-col bg-brand md:min-h-[calc(100svh-var(--nav-h))] md:justify-center`},E={class:`italic font-light text-accent-soft`},D={class:`italic font-light text-brand-soft`},O=`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,k=`kaiser-natron-pulver-250-g-grosspackung`,A=`/products/kaiser-natron-bad-500-g.webp`,j=`kaiser-natron-bad-500-g`,M={__name:`HomePage`,setup(M){let{t:N}=m(),P=y(),F=p(),I=e(!1);function re(){I.value=!1,F.push(`/checkout`)}let L=[{key:`nav.shop`,href:`/shop`},{key:`nav.bundles`,href:`/#bundles`},{key:`nav.revitalization`,href:`/#revitalize`},{key:`nav.about`,href:`/#about`}],R=[],z=s(()=>({headline:N(`bundles.headline.a`),headlineEm:N(`bundles.headline.em`),sub:N(`bundles.sub`),joinCta:N(`bundles.joinCta`),benefits:[N(`bundles.benefit.1.title`),N(`bundles.benefit.2.title`),N(`bundles.benefit.3.title`)]})),B=s(()=>({eyebrow:N(`revit.eyebrow`),headline:N(`revit.headline.a`),headlineEm:N(`revit.headline.em`),sub:N(`revit.sub`),notifyCta:N(`revit.notifyCta`),features:[{title:N(`revit.feature.1.title`),icon:`⚗️`},{title:N(`revit.feature.2.title`),icon:`💊`},{title:N(`revit.feature.3.title`),icon:`🌿`}]})),V=s(()=>({eyebrow:N(`about.eyebrow`),headline:N(`about.headline`),sub:N(`about.sub`),milestones:[1,2,3].map(e=>({year:N(`about.milestone.${e}.year`),title:N(`about.milestone.${e}.title`),text:N(`about.milestone.${e}.text`)}))})),H=[{id:`haushalt`,name:`Haushalts-Bundle`,usage:`23× pro Quartal empfohlen`,items:[`1× Kaiser-Natron Pulver 250 g`,`1× Allzweck-Spray 500 ml`,`1× Spülmittel 500 ml`],price:24.9,memberPrice:21.17,image:`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,imageAlt:`Haushalts-Bundle mit Kaiser-Natron`,badge:`Bestseller`,badgeVariant:`accent`},{id:`waesche`,name:`Wäsche & Pflege`,usage:`12× pro Quartal`,items:[`1× Holste Wasch-Soda 500 g`,`1× Gazelle Wäschestärke 1 l`,`1× Linda Fleckenweg 200 ml`],price:22.9,memberPrice:19.47,image:`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,imageAlt:`Wäsche & Pflege Bundle`,badge:``,badgeVariant:`accent`},{id:`wohlfuehl`,name:`Wohlfühl-Bundle`,usage:`1× pro Quartal`,items:[`1× Kaiser-Natron Tabletten 100 g`,`1× Kaiser-Natron Bad 500 g`,`1× Kaiser-Natron Fußbad 500 g`],price:29.9,memberPrice:25.42,image:`/products/kaiser-natron-bad-500-g.webp`,imageAlt:`Wohlfühl-Bundle mit Kaiser-Natron Bad`,badge:``,badgeVariant:`accent`}];async function U(){await g(k,1),I.value=!0}async function W(){await g(j,1),I.value=!0}let G={haushalt:`kaiser-natron-pulver-250-g-grosspackung`,waesche:`holste-wasch-soda-500-g-beutel`,wohlfuehl:`kaiser-natron-bad-500-g`};async function K(e){let t=G[e];t&&(await g(t,1),I.value=!0)}function q(){let e=document.getElementById(`bundles`);e&&e.scrollIntoView({block:`start`})}function J(){}async function Y({productId:e,quantity:t}){await v(e,t)}async function X(e){await _(e)}async function ie(e){await g(e.id,1),I.value=!0}let Z=e(null),Q=null;function $(){let e=Z.value,t=e&&(e.$el||e);if(!t||typeof window>`u`)return;let n=Math.round(t.getBoundingClientRect().height);document.documentElement.style.setProperty(`--nav-h`,`${n}px`)}return r(()=>{if(b(),$(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}window.addEventListener(`resize`,$)}),f(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,r)=>(t(),d(l,null,[o(ee,{ref_key:`navRef`,ref:Z,variant:`brand`,layout:`standard`,items:L,"secondary-items":R,"cart-count":n(P).count,products:n(h),onCart:r[0]||=e=>I.value=!0,onSearch:ie},null,8,[`cart-count`,`products`]),u(`div`,T,[o(x,{class:`w-full`,variant:`split`,tone:`brand`,subheadline:n(N)(`ds.hero.sub`),image:O,"image-alt":`Kaiser-Natron Pulver 250 g Großpackung`,"cta-label":n(N)(`ds.buttons.addToCart`),"secondary-label":n(N)(`ds.buttons.learnMore`),"secondary-href":`/shop/${k}`,onCta:U},{headline:a(()=>[c(i(n(N)(`ds.hero.headline.a`))+` `,1),u(`em`,E,i(n(N)(`ds.hero.headline.em`)),1),c(` `+i(n(N)(`ds.hero.headline.b`)),1)]),_:1},8,[`subheadline`,`cta-label`,`secondary-label`,`secondary-href`])]),r[2]||=u(`svg`,{"aria-hidden":`true`,class:`block w-full h-12 md:h-16 shrink-0 -mb-px bg-brand`,viewBox:`0 0 1440 64`,preserveAspectRatio:`none`},[u(`rect`,{width:`1440`,height:`64`,fill:`var(--color-cream)`}),u(`path`,{d:`M0,0 L0,40 C320,4 520,60 720,32 C920,4 1120,60 1440,24 L1440,0 Z`,fill:`var(--color-brand)`})],-1),o(x,{class:`-mt-px`,variant:`split`,tone:`cream`,reverse:``,compact:``,eyebrow:n(N)(`home.banner.eyebrow`),subheadline:n(N)(`home.banner.sub`),image:A,"image-alt":`Kaiser-Natron Pulver 250 g Großpackung`,"cta-label":n(N)(`ds.buttons.addToCart`),"secondary-label":n(N)(`ds.buttons.learnMore`),"secondary-href":`/shop/${j}`,onCta:W},{headline:a(()=>[c(i(n(N)(`home.banner.headline.a`))+` `,1),u(`em`,D,i(n(N)(`home.banner.headline.em`)),1),c(` `+i(n(N)(`home.banner.headline.b`)),1)]),_:1},8,[`eyebrow`,`subheadline`,`cta-label`,`secondary-label`,`secondary-href`]),r[3]||=u(`svg`,{"aria-hidden":`true`,class:`block w-full h-12 md:h-16 shrink-0 -mb-px bg-cream`,viewBox:`0 0 1440 64`,preserveAspectRatio:`none`},[u(`rect`,{width:`1440`,height:`64`,fill:`var(--color-surface)`}),u(`path`,{d:`M0,0 L0,40 C320,4 520,60 720,32 C920,4 1120,60 1440,24 L1440,0 Z`,fill:`var(--color-cream)`})],-1),o(S,{class:`-mt-px`,layout:`stacked`,bundles:H,headline:z.value.headline,"headline-em":z.value.headlineEm,sub:z.value.sub,benefits:z.value.benefits,"join-cta":z.value.joinCta,onAdd:K,onJoin:q},null,8,[`headline`,`headline-em`,`sub`,`benefits`,`join-cta`]),r[4]||=u(`svg`,{"aria-hidden":`true`,class:`block w-full h-12 md:h-16 shrink-0 -mb-px bg-surface`,viewBox:`0 0 1440 64`,preserveAspectRatio:`none`},[u(`rect`,{width:`1440`,height:`64`,fill:`var(--color-brand)`}),u(`path`,{d:`M0,0 L0,40 C320,4 520,60 720,32 C920,4 1120,60 1440,24 L1440,0 Z`,fill:`var(--color-surface)`})],-1),o(C,{class:`-mt-px`,eyebrow:B.value.eyebrow,headline:B.value.headline,"headline-em":B.value.headlineEm,sub:B.value.sub,features:B.value.features,"notify-cta":B.value.notifyCta,onNotify:J},null,8,[`eyebrow`,`headline`,`headline-em`,`sub`,`features`,`notify-cta`]),r[5]||=u(`svg`,{"aria-hidden":`true`,class:`block w-full h-12 md:h-16 shrink-0 -mb-px bg-brand`,viewBox:`0 0 1440 64`,preserveAspectRatio:`none`},[u(`rect`,{width:`1440`,height:`64`,fill:`var(--color-cream)`}),u(`path`,{d:`M0,0 L0,40 C320,4 520,60 720,32 C920,4 1120,60 1440,24 L1440,0 Z`,fill:`var(--color-brand)`})],-1),o(w,{class:`-mt-px`,eyebrow:V.value.eyebrow,headline:V.value.headline,sub:V.value.sub,milestones:V.value.milestones},null,8,[`eyebrow`,`headline`,`sub`,`milestones`]),o(te),r[6]||=u(`div`,{"aria-hidden":`true`,class:`md:hidden`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),o(ne,{modelValue:I.value,"onUpdate:modelValue":r[1]||=e=>I.value=e,items:n(P).items,subtotal:n(P).subtotal,count:n(P).count,onUpdateQuantity:Y,onRemove:X,onCheckout:re},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64))}};export{M as default};