1import{j as e}from"./framer-motion-D_zjAnjw.js";import{r as x,L as y}from"./vendor-DF062BdS.js";import{u as L}from"./useCanonical-DtHc_kJ2.js";import{D as b}from"./lpcSeo-D5jsqcqU.js";import{L as j}from"./lpcTheme-7WsCjSeF.js";import{L as w}from"./index-Df2aYqkM.js";import{g as C,p as N}from"./locationGroups-L6g_sclX.js";import"./lucide-react-D3h7R6ya.js";import"./recharts-65EOoOu0.js";const v="/assets/LePetitChef-Logo_6e7098b8_0896396b.webp",T={de:{metaTitle:"Le Petit Chef Toronto | Le Petit Chef",metaDesc:"Entdecke Le Petit Chef in Toronto. Hier findest du aktuelle Standorte und Shows sowie Informationen zu deinem Besuch.",heroEyebrow:"Le Petit Chef in Toronto",heroTitle:"Le Petit Chef in Toronto",heroSubtitle:"Entdecke die aktuellen Standorte und Shows in Toronto.",venueDesc:"Ein immersives 3D-Dinner: ein kleiner animierter Koch erwacht auf Ihrem Teller zum Leben und führt Sie durch ein mehrgängiges Menü.",venueCta:"Zum Standort",empty:"Derzeit sind keine öffentlichen Standorte in Toronto verfügbar.",addressLabel:"Adresse"},en:{metaTitle:"Le Petit Chef Toronto | Le Petit Chef",metaDesc:"Discover Le Petit Chef in Toronto. Find current venues and shows, and explore details for your visit.",heroEyebrow:"Le Petit Chef in Toronto",heroTitle:"Le Petit Chef in Toronto",heroSubtitle:"Explore current venues and shows in Toronto.",venueDesc:"An immersive 3D dining experience: a tiny animated chef comes alive on your plate and guides you through a multi-course menu.",venueCta:"View Venue",empty:"There are currently no public venues available in Toronto.",addressLabel:"Address"}},P={"The Beginning":"Le Petit Chef â The Beginning","Marco Polo":"Le Petit Chef â In the Footsteps of Marco Polo",Friends:"Le Petit Chef & Friends",Family:"Le Petit Chef & Family","World's Greatest Chef":"Le Petit Chef â The World's Greatest Chef","The Magical Cooking Book":"Le Petit Chef & The Magical Cooking Book","Le Petit Chef and the Musical":"Le Petit Chef - The Smallest Musical in the World","The smallest musical in the world":"Le Petit Chef - The Smallest Musical in the World"};async function k(m){try{const s=await fetch(`/api/content/locations/${encodeURIComponent(m)}`,{headers:{accept:"application/json"}});return s.ok?(await s.json())?.published??null:null}catch{return null}}function S({lang:m,t:s,location:r,content:i}){const l=x.useRef(null);x.useEffect(()=>{const o=l.current;o&&(o.muted=!0,o.play().catch(()=>{}))},[i]);const c=i?.heroVideo??null,u=i?.heroVideoMobile??c,f=i?.addressLines?.filter(o=>o.trim())??[],t=r.hotel||(m==="de"?r.cityDe:r.cityEn),a=N(r,m),n=r.hotelLogoUrl||i?.hotelLogoUrl||null,p=(r.hotelLogoUrl?r.hotelLogoLight:i?.hotelLogoLight)===!0?null:"#ffffff",d=[...new Set(r.show.split(",").map(o=>o.trim()).filter(Boolean))];return e.jsxs("div",{className:"tor-card group relative flex flex-col h-full rounded-3xl overflow-hidden border border-white/10 bg-white/[0.03]","data-venue-slug":r.slug,style:{transition:"transform .35s ease, border-color .35s ease, box-shadow .35s ease",boxShadow:"0 8px 40px rgba(0,0,0,.45)"},children:[e.jsxs("div",{className:"relative w-full overflow-hidden",style:{aspectRatio:"16/9"},children:[c?e.jsxs(e.Fragment,{children:[e.jsxs("video",{ref:l,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,preload:"auto",poster:"",className:"w-full h-full object-cover","aria-hidden":"true",children:[u&&u!==c&&e.jsx("source",{src:u,media:"(max-width: 768px)",type:"video/mp4"}),e.jsx("source",{src:c,type:"video/mp4"})]},c),e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:"linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.6) 100%)"}})]}):e.jsx("div",{className:"w-full h-full flex items-center justify-center",style:{background:"#111"},children:e.jsx("img",{src:v,alt:"",className:"w-36 opacity-50"})}),e.jsx("div",{className:"absolute top-4 left-4 right-4 z-10 flex flex-wrap gap-2",children:d.map(o=>e.jsx("span",{className:"inline-block rounded-full px-3 py-1 text-xs font-semibold tracking-wide uppercase",style:{background:"rgba(200,75,47,.85)",color:"#fff"},children:P[o]??o},o))})]}),e.jsxs("div",{className:"p-6 flex flex-col gap-4 flex-1",children:[n&&e.jsx("div",{className:"self-start inl
1ine-flex items-center rounded-2xl",style:p?{background:p,padding:"12px 20px",boxShadow:"0 6px 20px rgba(0,0,0,.25)"}:{padding:"12px 0"},children:e.jsx("img",{src:n,alt:t,loading:"lazy",className:"h-20 w-auto max-w-[220px] object-contain"})}),e.jsx("div",{children:e.jsx("h2",{className:"text-xl font-bold text-white leading-tight",children:t})}),e.jsx("p",{className:"text-sm text-gray-300 leading-relaxed",children:s.venueDesc}),f.length>0&&e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-widest text-gray-500 mb-1",children:s.addressLabel}),e.jsx("address",{className:"not-italic text-sm text-gray-400 leading-snug",children:f.map((o,g)=>e.jsxs("span",{children:[o,g<f.length-1&&e.jsx("br",{})]},g))})]}),e.jsx("div",{className:"mt-auto pt-1",children:e.jsx(y,{href:a,children:e.jsxs("span",{className:"inline-flex items-center gap-2 rounded-full px-5 py-2.5 text-sm font-semibold transition-all duration-300 cursor-pointer",style:{background:j.terracotta,color:"#fff"},children:[s.venueCta,e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e.jsx("path",{d:"M5 12h14M12 5l7 7-7 7"})})]})})})]})]})}function z({initialLang:m}){const s=m??"en";L("/en/toronto");const r=T[s],i=x.useContext(w),l=C().find(t=>t.key==="ca:toronto")?.members??[],c=l.map(t=>t.slug).join(","),[u,f]=x.useState(()=>{const t={};for(const a of l)t[a.slug]=i?.venues?.[a.slug]??null;return t});return x.useEffect(()=>{const t=l.filter(n=>!u[n.slug]);if(t.length===0)return;let a=!1;return Promise.all(t.map(async n=>{const h=await k(n.slug);!a&&h&&f(p=>({...p,[n.slug]:h}))})),()=>{a=!0}},[c]),x.useEffect(()=>{const t=(n,h,p)=>{let d=document.head.querySelector(`meta[${n}="${h}"]`);d||(d=document.createElement("meta"),d.setAttribute(n,h),document.head.appendChild(d)),d.setAttribute("content",p)},a=`${b}/en/toronto`;document.title=r.metaTitle,t("name","description",r.metaDesc),t("property","og:type","website"),t("property","og:title",r.metaTitle),t("property","og:description",r.metaDesc),t("property","og:url",a),t("property","og:image",`${b}/opengraph.jpg`),t("name","twitter:card","summary_large_image"),t("name","twitter:title",r.metaTitle),t("name","twitter:description",r.metaDesc)},[r.metaTitle,r.metaDesc,s]),e.jsxs("div",{className:"min-h-screen",style:{background:"#0a0a0f",fontFamily:"'DM Sans', 'Inter', sans-serif",color:"#fff"},children:[e.jsx("style",{children:` 2 @keyframes lpcspin { to { transform: rotate(360deg); } } 3 .tor-card:hover { transform: translateY(-6px); border-color: rgba(200,75,47,.5) !important; box-shadow: 0 20px 60px rgba(0,0,0,.55); } 4 @media (prefers-reduced-motion: reduce) { .tor-card { transition: none !important; } .tor-card:hover { transform: none !important; } } 5 `}),e.jsx("header",{className:"sticky top-0 z-50 border-b border-white/10",style:{background:"rgba(10,10,15,.85)",backdropFilter:"blur(12px)"},children:e.jsx("div",{className:"max-w-5xl mx-auto px-6 py-4 flex items-center justify-between",children:e.jsx(y,{href:"/",children:e.jsx("img",{src:v,alt:"Le Petit Chef",className:"h-9 sm:h-11 w-auto object-contain cursor-pointer hover:opacity-80 transition-opacity"})})})}),e.jsxs("main",{className:"max-w-5xl mx-auto px-6 py-12 md:py-20",children:[e.jsxs("div",{className:"text-center mb-12 md:mb-16",children:[e.jsx("p",{className:"text-xs font-semibold tracking-[0.25em] uppercase mb-4",style:{color:j.terracotta},children:r.heroEyebrow}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-tight mb-4",children:r.heroTitle}),e.jsx("p",{className:"text-base md:text-lg text-gray-400 max-w-xl mx-auto leading-relaxed",children:r.heroSubtitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8",children:l.map(t=>e.jsx(S,{lang:s,t:r,location:t,content:u[t.slug]},t.slug))}),l.length===0&&e.jsx("p",{className:"text-center text-gray-400",children:r.empty})]}),e.jsx("footer",{className:"border-t border-white/10 mt-20 py-8 text-center",children:e.jsxs("p",{className:"text-xs text-gray-600",children:["© ",new Date().getFullYear()," Le Petit Chef · 2Spicy Entertainment GmbH"]})})]})}export{z as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.