Bundle data extracted to src/api/bundles.js (single source of truth shared by HomePage's grid and the new BundlePage). Each card on the home grid now links to the bundle's detail route. BundleCard's `imageFit` default flipped to `cover` to match the new /bundles/background/* artwork — full-bleed lifestyle scenes instead of padded product line-ups. The `contain` mode stays available for future bundles whose art needs breathing room. BundlePage layout: split brand-green hero with the bundle artwork on the left, name + items list (linking to component product pages where matched) + pricing + qty + add-to-cart on the right. Mirrors ProductPage chrome (Navbar, dynamic back button, CartDrawer) so the detail-page experience reads as one piece across SKUs and bundles. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 lines
1.9 KiB
JavaScript
3 lines
1.9 KiB
JavaScript
import{C as e,G as t,c as n,ft as r,j as i,m as a,s as o}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as s}from"./i18n-yr4x-3Jp.js";import{t as c}from"./LanguageSwitcher-cknrBiEg.js";import{t as l}from"./SectionShell-CyPmh1h8.js";import{t as u}from"./Card-GDlIV5WI.js";var d={class:`eyebrow mb-5`},f={class:`grid md:grid-cols-3 gap-4`},p={class:`eyebrow mb-4`},m={class:`text-[13px] text-muted mt-4 leading-relaxed`},h={class:`eyebrow mb-4`},g={class:`text-[13px] text-muted mt-4 leading-relaxed`},_={class:`eyebrow mb-4`},v={class:`text-[13px] opacity-80 mt-4 leading-relaxed`},y={class:`eyebrow mb-5`},b={class:`text-[13px] text-muted max-w-2xl leading-relaxed`},x={class:`eyebrow mb-5`},S={__name:`LanguageSwitcherSection`,setup(S){let{t:C}=s();return(s,S)=>(e(),n(l,{eyebrow:t(C)(`ds.eyebrow.components`),title:t(C)(`ds.language.title`),description:t(C)(`ds.language.description`)},{default:i(()=>[o(`section`,null,[o(`h2`,d,r(t(C)(`ds.heading.onDifferentSurfaces`)),1),o(`div`,f,[a(u,{tone:`paper`},{default:i(()=>[o(`p`,p,r(t(C)(`ds.cards.paper`)),1),a(c,{tone:`paper`}),o(`p`,m,r(t(C)(`ds.language.paperNote`)),1)]),_:1}),a(u,{tone:`cream`},{default:i(()=>[o(`p`,h,r(t(C)(`ds.cards.cream`)),1),a(c,{tone:`cream`}),o(`p`,g,r(t(C)(`ds.language.creamNote`)),1)]),_:1}),a(u,{tone:`brand`},{default:i(()=>[o(`p`,_,r(t(C)(`ds.cards.brand`)),1),a(c,{tone:`brand`}),o(`p`,v,r(t(C)(`ds.language.brandNote`)),1)]),_:1})])]),o(`section`,null,[o(`h2`,y,r(t(C)(`ds.language.floating`)),1),a(u,{tone:`paper`},{default:i(()=>[o(`p`,b,r(t(C)(`ds.language.floatingNote`)),1)]),_:1})]),o(`section`,null,[o(`h2`,x,r(t(C)(`ds.heading.usage`)),1),S[0]||=o(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[o(`pre`,{class:`whitespace-pre-wrap`},`<LanguageSwitcher />
|
|
<LanguageSwitcher tone="brand" />
|
|
<LanguageSwitcher floating />`)],-1)])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{S as default}; |