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>
13 lines
1.2 KiB
JavaScript
13 lines
1.2 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"./SectionShell-CyPmh1h8.js";import{t as l}from"./DevicePreview-BQG4JYnV.js";var u={class:`eyebrow mb-5`},d=`/design/preview/revitalization`,f={__name:`RevitalizationSection`,setup(f){let{t:p}=s();return(s,f)=>(e(),n(c,{eyebrow:t(p)(`ds.eyebrow.components`),title:t(p)(`ds.revitalization.title`),description:t(p)(`ds.revitalization.description`),wide:``},{default:i(()=>[o(`section`,null,[a(l,{src:d,initial:`desktop`,height:720})]),o(`section`,null,[o(`h2`,u,r(t(p)(`ds.heading.usage`)),1),f[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`},`<Revitalization
|
|
:eyebrow="t('revit.eyebrow')"
|
|
:headline="t('revit.headline.a')"
|
|
:headline-em="t('revit.headline.em')"
|
|
:sub="t('revit.sub')"
|
|
:features="[
|
|
{ title: t('revit.feature.1.title'), icon: '⚗️' },
|
|
{ title: t('revit.feature.2.title'), icon: '💊' },
|
|
{ title: t('revit.feature.3.title'), icon: '🌿' },
|
|
]"
|
|
:notify-cta="t('revit.notifyCta')"
|
|
@notify="captureEmail()"
|
|
/>`)],-1)])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{f as default}; |