Files
kaiser-natron/dist/assets/BundlePage-B9Vv-GD3.js
2026-05-26 13:26:36 -05:00

1 line
8.6 KiB
JavaScript

import{B as e,C as t,D as n,G as r,S as i,T as a,c as o,ft as s,j as c,l,m as u,o as d,p as f,r as p,s as m,u as h,x as ee}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as te,o as ne}from"./vue-router-Cyqru1db.js";import{t as g}from"./Icon-CtR1FGIT.js";import{t as re}from"./i18n-BPHBAYJ6.js";import{t as _}from"./Badge-DiccZCC_.js";import{r as v}from"./products-BqW5PUnm.js";import{c as y,d as ie,f as ae,p as oe,u as se}from"./api-Dmuwbd_X.js";import{t as ce}from"./Navbar-DzWL8tVE.js";import{t as b}from"./Button-JT3QbcL8.js";import{t as x}from"./QuantityStepper-BB38-Td1.js";import{t as le}from"./CartDrawer-B5-Oi-Om.js";import{t as ue}from"./Footer-BgNIDT7a.js";import{n as de}from"./bundles-CDwVE6_O.js";var fe={key:0,class:`bg-cream min-h-[60svh] flex items-center justify-center px-6`},pe={class:`text-center max-w-md`},me={class:`font-display text-3xl text-ink mb-4`},he={class:`text-muted mb-6`},ge={key:1,class:`bg-brand text-cream`},S={class:`mx-auto w-full max-w-7xl px-6 md:px-10 lg:px-16 pt-6`},C={class:`hidden lg:block mx-auto w-full max-w-7xl px-6 md:px-10 lg:px-16 pt-4 pb-14`},w={class:`grid grid-cols-[1.4fr_1fr] gap-12 xl:gap-16 items-center`},T={class:`relative overflow-hidden rounded-lg bg-cream/10`},E={class:`relative aspect-[16/10]`},D=[`src`,`alt`],O={class:`flex flex-col gap-6 min-w-0 text-cream`},k={key:0,class:`text-xs tracking-label uppercase text-cream/75`},A={class:`font-display font-normal leading-[1.05] tracking-tight text-cream text-[2.25rem] xl:text-[2.75rem] 2xl:text-[3.25rem]`},j={key:1,class:`text-base xl:text-lg leading-relaxed text-cream/85`},M={class:`flex flex-col gap-2`},N={class:`text-xs tracking-label uppercase text-cream/75`},P={class:`flex flex-col gap-1.5`},F={key:1},I={class:`flex flex-col gap-1`},L={class:`font-display text-3xl xl:text-4xl text-cream`},_e={key:0,class:`text-sm text-cream/75`},ve={class:`text-accent font-medium`},ye={class:`flex flex-wrap items-center gap-4 mt-2`},be={class:`lg:hidden`},xe={class:`mx-auto w-full max-w-7xl px-6 md:px-10 pt-6 md:pt-8`},Se={class:`relative overflow-hidden rounded-lg bg-cream/10`},Ce=[`src`,`alt`],we={class:`mx-auto w-full max-w-7xl px-6 md:px-10 py-10 md:py-14`},Te={class:`flex flex-col gap-6`},R={key:0,class:`text-xs tracking-label uppercase text-cream/70`},Ee={class:`font-display font-normal leading-[1.06] tracking-tight text-cream text-[2rem] md:text-[2.5rem]`},De={key:1,class:`text-base md:text-lg leading-relaxed text-cream/85`},Oe={class:`flex flex-col gap-2`},ke={class:`text-xs tracking-label uppercase text-cream/70`},Ae={class:`flex flex-col gap-1.5`},je={key:1},Me={class:`flex flex-col gap-1`},Ne={class:`font-display text-3xl md:text-4xl text-cream`},Pe={key:0,class:`text-sm text-cream/70`},Fe={class:`text-accent font-medium`},Ie={class:`flex flex-wrap items-center gap-4 mt-2`},Le={__name:`BundlePage`,setup(Le){let{t:z}=re(),B=oe(),Re=te(),V=ne(),H=e(!1),U=e(1),ze=d(()=>String(Re.params.slug||``)),W=d(()=>de(ze.value)),G=e(null);i(()=>{se();let e=typeof window<`u`?window.history.state?.back:null;G.value=typeof e==`string`?e:null});let Be=d(()=>{let e=G.value;return!e||e===`/`||e.startsWith(`/#`)?`product.backHome`:`product.backGeneric`});function Ve(){G.value?V.back():V.push(`/`)}let He=[{key:`nav.shop`,href:`/shop`},{key:`nav.bundles`,href:`/#bundles`},{key:`nav.revitalization`,href:`/#revitalize`},{key:`nav.about`,href:`/#about`},{key:`nav.kaiserhacks`,href:`/kaiserhacks`}],Ue=[],K=d(()=>{let e=W.value;return e?`${e.price.toFixed(2).replace(`.`,`,`)}`:``}),q=d(()=>{let e=W.value;return e?.memberPrice?`${e.memberPrice.toFixed(2).replace(`.`,`,`)}`:``}),J=d(()=>{let e=W.value;return e?{name:z(e.nameKey),usage:e.usageKey?z(e.usageKey):``,description:e.descriptionKey?z(e.descriptionKey):``,imageAlt:e.imageAltKey?z(e.imageAltKey):``,badge:e.badgeKey?z(e.badgeKey):``}:null}),Y=d(()=>{let e=W.value;return e?e.itemKeys.map(e=>{let t=z(e);return{label:t,product:v.find(e=>t.toLowerCase().includes(e.title.toLowerCase().replace(/®/g,``).trim()))}}):[]});async function X(){let e=W.value;e?.anchorProductId&&(await y(e.anchorProductId,U.value),H.value=!0)}async function We({productId:e,quantity:t}){await ae(e,t)}async function Ge(e){await ie(e)}function Ke(){H.value=!1,V.push(`/checkout`)}async function qe(e){await y(e.id,1),H.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 i(()=>{if($(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}typeof window<`u`&&window.addEventListener(`resize`,$)}),ee(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,i)=>{let d=n(`RouterLink`);return t(),h(p,null,[u(ce,{ref_key:`navRef`,ref:Z,variant:`brand`,layout:`standard`,items:He,"secondary-items":Ue,"cart-count":r(B).count,products:r(v),onCart:i[0]||=e=>H.value=!0,onSearch:qe},null,8,[`cart-count`,`products`]),W.value?(t(),h(`main`,ge,[m(`div`,S,[m(`button`,{type:`button`,class:`inline-flex items-center gap-2 text-sm tracking-label uppercase text-cream/75 hover:text-cream transition-colors`,onClick:Ve},[u(g,{name:`arrow-left`,size:16}),f(` `+s(r(z)(Be.value)),1)])]),m(`section`,C,[m(`div`,w,[m(`div`,T,[J.value.badge?(t(),o(_,{key:0,variant:W.value.badgeVariant||`accent`,class:`absolute top-4 left-4 z-[1] shadow-sm`},{default:c(()=>[f(s(J.value.badge),1)]),_:1},8,[`variant`])):l(``,!0),m(`div`,E,[m(`img`,{src:W.value.image,alt:J.value.imageAlt||J.value.name,loading:`eager`,decoding:`async`,class:`absolute inset-0 w-full h-full object-cover`},null,8,D)])]),m(`div`,O,[J.value.usage?(t(),h(`p`,k,s(J.value.usage),1)):l(``,!0),m(`h1`,A,s(J.value.name),1),J.value.description?(t(),h(`p`,j,s(J.value.description),1)):l(``,!0),m(`div`,M,[m(`p`,N,s(r(z)(`bundle.items`)),1),m(`ul`,P,[(t(!0),h(p,null,a(Y.value,(e,n)=>(t(),h(`li`,{key:n,class:`flex items-start gap-2 text-base text-cream/95 leading-relaxed`},[u(g,{name:`check`,size:18,class:`mt-0.5 shrink-0 text-accent`}),e.product?(t(),o(d,{key:0,to:e.product.href,class:`hover:text-accent transition-colors`},{default:c(()=>[f(s(e.label),1)]),_:2},1032,[`to`])):(t(),h(`span`,F,s(e.label),1))]))),128))])]),m(`div`,I,[m(`span`,L,s(K.value),1),q.value?(t(),h(`span`,_e,[f(s(r(z)(`bundle.memberPrice`))+` `,1),m(`span`,ve,s(q.value),1)])):l(``,!0)]),m(`div`,ye,[u(x,{modelValue:U.value,"onUpdate:modelValue":i[1]||=e=>U.value=e,min:1,max:10},null,8,[`modelValue`]),u(b,{variant:`accent`,size:`lg`,onClick:X},{before:c(()=>[u(g,{name:`plus`,size:16})]),default:c(()=>[f(` `+s(r(z)(`ds.buttons.addToCart`)),1)]),_:1})])])])]),m(`div`,be,[m(`section`,xe,[m(`div`,Se,[J.value.badge?(t(),o(_,{key:0,variant:W.value.badgeVariant||`accent`,class:`absolute top-4 left-4 z-[1] shadow-sm`},{default:c(()=>[f(s(J.value.badge),1)]),_:1},8,[`variant`])):l(``,!0),m(`img`,{src:W.value.image,alt:J.value.imageAlt||J.value.name,loading:`eager`,decoding:`async`,class:`block w-full h-auto`},null,8,Ce)])]),m(`section`,we,[m(`div`,Te,[J.value.usage?(t(),h(`p`,R,s(J.value.usage),1)):l(``,!0),m(`h1`,Ee,s(J.value.name),1),J.value.description?(t(),h(`p`,De,s(J.value.description),1)):l(``,!0),m(`div`,Oe,[m(`p`,ke,s(r(z)(`bundle.items`)),1),m(`ul`,Ae,[(t(!0),h(p,null,a(Y.value,(e,n)=>(t(),h(`li`,{key:n,class:`flex items-start gap-2 text-base text-cream/95 leading-relaxed`},[u(g,{name:`check`,size:18,class:`mt-0.5 shrink-0 text-accent`}),e.product?(t(),o(d,{key:0,to:e.product.href,class:`hover:text-accent transition-colors`},{default:c(()=>[f(s(e.label),1)]),_:2},1032,[`to`])):(t(),h(`span`,je,s(e.label),1))]))),128))])]),m(`div`,Me,[m(`span`,Ne,s(K.value),1),q.value?(t(),h(`span`,Pe,[f(s(r(z)(`bundle.memberPrice`))+` `,1),m(`span`,Fe,s(q.value),1)])):l(``,!0)]),m(`div`,Ie,[u(x,{modelValue:U.value,"onUpdate:modelValue":i[2]||=e=>U.value=e,min:1,max:10},null,8,[`modelValue`]),u(b,{variant:`accent`,size:`lg`,onClick:X},{before:c(()=>[u(g,{name:`plus`,size:16})]),default:c(()=>[f(` `+s(r(z)(`ds.buttons.addToCart`)),1)]),_:1})])])])])])):(t(),h(`main`,fe,[m(`div`,pe,[m(`h1`,me,s(r(z)(`product.notFound.title`)),1),m(`p`,he,s(r(z)(`product.notFound.body`)),1),u(d,{to:`/`,class:`inline-flex`},{default:c(()=>[u(b,{variant:`primary`,size:`lg`},{default:c(()=>[f(s(r(z)(`product.backHome`)),1)]),_:1})]),_:1})])])),i[4]||=m(`div`,{"aria-hidden":`true`,class:`min-[1100px]:hidden bg-brand`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),u(ue),u(le,{modelValue:H.value,"onUpdate:modelValue":i[3]||=e=>H.value=e,items:r(B).items,subtotal:r(B).subtotal,count:r(B).count,onUpdateQuantity:We,onRemove:Ge,onCheckout:Ke},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64)}}};export{Le as default};