Home page now opens with a BrandHero that plays the figure entrance animation in flow (replacing the full-screen SplashIntro overlay), followed by a 3-product Cook/Clean/Care teaser feeding the shop. Splash paths extracted to a shared module so BrandHero can render the same illustration without duplicating ~500KB of SVG path strings. ProductCard gains `cream` and `brand` tones (cream/green media wash with white card body); homepage teaser uses `brand`, shop catalogue switches to the green wash too. Bundle cards point at the new /bundles/background/* artwork. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 line
6.3 KiB
JavaScript
1 line
6.3 KiB
JavaScript
import{B as e,C as t,D as n,G as r,T 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}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{s as m}from"./runtime-dom.esm-bundler-CXLmyuFK.js";import{o as h}from"./vue-router-Cyqru1db.js";import{t as g}from"./Icon-BCo6-bGH.js";import{t as _}from"./i18n-VERRV-oN.js";import{t as v}from"./Button-D1Rp2Xe1.js";import{t as y}from"./checkout-BywUzOLD.js";import{t as b}from"./Input-D0r2DMc-.js";var x={class:`flex flex-col gap-5 rounded-md border border-line bg-paper p-6 md:p-8`},S={class:`grid gap-5 md:grid-cols-2`},C={class:`md:col-span-2`},w={class:`flex flex-col gap-2`},T={class:`text-[11px] font-bold uppercase tracking-eyebrow text-muted`},E={class:`relative`},D=[`value`],O=[`value`],k={class:`flex flex-col gap-5 rounded-md border border-line bg-paper p-6 md:p-8`},A={class:`inline-flex items-center gap-3 cursor-pointer select-none`},j=[`checked`],M={class:`text-sm text-ink`},N={key:0,class:`grid gap-5 md:grid-cols-2`},P={class:`md:col-span-2`},F={class:`flex flex-col gap-2`},I={class:`text-[11px] font-bold uppercase tracking-eyebrow text-muted`},L={class:`relative`},R=[`value`],z=[`value`],B={key:0,class:`text-sm text-danger`,role:`alert`,"aria-live":`polite`},V={class:`fixed inset-x-0 bottom-0 z-30 bg-cream border-t border-line`,role:`contentinfo`},H={class:`mx-auto w-full max-w-7xl px-6 sm:px-8 md:px-12 lg:px-16 py-3 flex gap-3 sm:justify-between`,style:{paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`}},U={class:`flex-1 sm:flex-initial`},W={__name:`ShippingStep`,setup(W){let{t:G}=_(),K=y(),q=h(),J=e(``),Y=[{code:`AT`,label:`Österreich`},{code:`DE`,label:`Deutschland`},{code:`CH`,label:`Schweiz`},{code:`IT`,label:`Italien`},{code:`FR`,label:`Frankreich`}],X=l(()=>!K.shippingComplete);function Z(){if(J.value=``,X.value){J.value=G(`checkout.error.addressIncomplete`);return}K.persist(),q.push(`/checkout/payment`)}return(e,l)=>{let h=n(`RouterLink`);return t(),p(d,null,[f(`form`,{class:`flex flex-col gap-8`,novalidate:``,onSubmit:m(Z,[`prevent`])},[f(`section`,x,[f(`div`,S,[c(b,{"model-value":r(K).shippingAddress.name,label:r(G)(`checkout.field.name`),required:``,"onUpdate:modelValue":l[0]||=e=>r(K).updateShipping({name:e})},null,8,[`model-value`,`label`]),c(b,{"model-value":r(K).shippingAddress.company,label:r(G)(`checkout.field.company`),"onUpdate:modelValue":l[1]||=e=>r(K).updateShipping({company:e})},null,8,[`model-value`,`label`]),f(`div`,C,[c(b,{"model-value":r(K).shippingAddress.street,label:r(G)(`checkout.field.street`),required:``,"onUpdate:modelValue":l[2]||=e=>r(K).updateShipping({street:e})},null,8,[`model-value`,`label`])]),c(b,{"model-value":r(K).shippingAddress.postalCode,label:r(G)(`checkout.field.postal`),required:``,"onUpdate:modelValue":l[3]||=e=>r(K).updateShipping({postalCode:e})},null,8,[`model-value`,`label`]),c(b,{"model-value":r(K).shippingAddress.city,label:r(G)(`checkout.field.city`),required:``,"onUpdate:modelValue":l[4]||=e=>r(K).updateShipping({city:e})},null,8,[`model-value`,`label`]),f(`div`,w,[f(`label`,T,[u(a(r(G)(`checkout.field.country`)),1),l[15]||=f(`span`,{class:`text-danger`},` *`,-1)]),f(`div`,E,[f(`select`,{value:r(K).shippingAddress.country,required:``,class:`appearance-none w-full rounded-sm border border-line bg-paper pl-4 pr-10 py-3 text-[15px] text-ink transition-colors duration-base focus:outline-none focus:border-brand`,onChange:l[5]||=e=>r(K).updateShipping({country:e.target.value})},[(t(),p(d,null,i(Y,e=>f(`option`,{key:e.code,value:e.code},a(e.label),9,O)),64))],40,D),c(g,{name:`chevron-down`,size:18,"stroke-width":2,class:`absolute right-4 top-1/2 -translate-y-1/2 text-muted pointer-events-none`})])]),c(b,{"model-value":r(K).shippingAddress.phone,label:r(G)(`checkout.field.phone`),type:`tel`,hint:r(G)(`checkout.hint.phone`),"onUpdate:modelValue":l[6]||=e=>r(K).updateShipping({phone:e})},null,8,[`model-value`,`label`,`hint`])])]),f(`section`,k,[f(`label`,A,[f(`input`,{checked:r(K).billingSame,type:`checkbox`,class:`w-5 h-5 rounded-xs border border-line accent-brand`,onChange:l[7]||=e=>r(K).update({billingSame:e.target.checked})},null,40,j),f(`span`,M,a(r(G)(`checkout.field.billingSame`)),1)]),r(K).billingSame?s(``,!0):(t(),p(`div`,N,[c(b,{"model-value":r(K).billingAddress.name,label:r(G)(`checkout.field.name`),required:``,"onUpdate:modelValue":l[8]||=e=>r(K).updateBilling({name:e})},null,8,[`model-value`,`label`]),c(b,{"model-value":r(K).billingAddress.company,label:r(G)(`checkout.field.company`),"onUpdate:modelValue":l[9]||=e=>r(K).updateBilling({company:e})},null,8,[`model-value`,`label`]),f(`div`,P,[c(b,{"model-value":r(K).billingAddress.street,label:r(G)(`checkout.field.street`),required:``,"onUpdate:modelValue":l[10]||=e=>r(K).updateBilling({street:e})},null,8,[`model-value`,`label`])]),c(b,{"model-value":r(K).billingAddress.postalCode,label:r(G)(`checkout.field.postal`),required:``,"onUpdate:modelValue":l[11]||=e=>r(K).updateBilling({postalCode:e})},null,8,[`model-value`,`label`]),c(b,{"model-value":r(K).billingAddress.city,label:r(G)(`checkout.field.city`),required:``,"onUpdate:modelValue":l[12]||=e=>r(K).updateBilling({city:e})},null,8,[`model-value`,`label`]),f(`div`,F,[f(`label`,I,[u(a(r(G)(`checkout.field.country`)),1),l[16]||=f(`span`,{class:`text-danger`},` *`,-1)]),f(`div`,L,[f(`select`,{value:r(K).billingAddress.country,required:``,class:`appearance-none w-full rounded-sm border border-line bg-paper pl-4 pr-10 py-3 text-[15px] text-ink transition-colors duration-base focus:outline-none focus:border-brand`,onChange:l[13]||=e=>r(K).updateBilling({country:e.target.value})},[(t(),p(d,null,i(Y,e=>f(`option`,{key:e.code,value:e.code},a(e.label),9,z)),64))],40,R),c(g,{name:`chevron-down`,size:18,"stroke-width":2,class:`absolute right-4 top-1/2 -translate-y-1/2 text-muted pointer-events-none`})])]),c(b,{"model-value":r(K).billingAddress.phone,label:r(G)(`checkout.field.phone`),type:`tel`,"onUpdate:modelValue":l[14]||=e=>r(K).updateBilling({phone:e})},null,8,[`model-value`,`label`])]))]),J.value?(t(),p(`p`,B,a(J.value),1)):s(``,!0)],32),f(`footer`,V,[f(`div`,H,[c(h,{to:`/checkout/account`,class:`flex-1 sm:flex-initial`},{default:o(()=>[c(v,{variant:`primary`,size:`lg`,block:``,type:`button`},{default:o(()=>[u(a(r(G)(`checkout.back`)),1)]),_:1})]),_:1}),f(`div`,U,[c(v,{variant:`accent`,size:`lg`,block:``,disabled:X.value,onClick:Z},{default:o(()=>[u(a(r(G)(`checkout.shipping.cta.continue`)),1)]),_:1},8,[`disabled`])])])])],64)}}};export{W as default}; |