1import{l as v,q as y,k as N,i as w,j as e,L as b,A as k}from"./index-DmAwtKPh.js";import{u as C}from"./use-meta-B1XvhCo1.js";import{a as S,b as L}from"./schema-dHSZFFaN.js";import{t as I,j as p}from"./use-reduced-motion-B7jTDl9z.js";import{A as h}from"./index-CNl1XckO.js";import{C as z,a as A}from"./chevron-right-C8mbzOyY.js";import{M as $}from"./map-pin-_lNUQP0H.js";const g=[.22,1,.36,1],P={en:{metaTitle:"Clubs",metaDescription:"Find your Urban Fitness club. Select a city to see every location â premium equipment, extended opening hours, industrial atmosphere.",eyebrow:"Locations",title:"Find your club",subtitle:"Pick a city and discover the Urban Fitness clubs near you.",cityLabel:"City",clubsIn:"Clubs in",oneClub:"club",manyClubs:"clubs",viewClub:"View club",zone:"Zone",prev:"Previous city",next:"Next city",soon:"New clubs opening soon.",comingSoon:"Coming soon",opening:"Opening"},ro:{metaTitle:"Cluburi",metaDescription:"GÄseÈte-Èi clubul Urban Fitness. Alege un oraÈ pentru a vedea toate locaÈiile â echipamente premium, program prelungit în cluburile din reÈea, atmosferÄ industrialÄ.",eyebrow:"LocaÈii",title:"GÄseÈte-Èi clubul",subtitle:"Alege un oraÈ Èi descoperÄ cluburile Urban Fitness din apropiere.",cityLabel:"OraÈ",clubsIn:"Cluburi în",oneClub:"club",manyClubs:"cluburi",viewClub:"Vezi clubul",zone:"ZonÄ",prev:"OraÈul anterior",next:"OraÈul urmÄtor",soon:"Cluburi noi se deschid în curând.",comingSoon:"Ãn curând",opening:"Se deschide"}};function O(){const l=!!I(),{lang:i}=v(),a=P[i],{data:o}=y(),n=o.cities,[[f,c],x]=N.useState([0,0]),r=n.length?Math.min(f,n.length-1):0,s=n[r],d=s?w(o.clubs,s.id):[];C({title:a.metaTitle,description:a.metaDescription,path:"/cluburi",jsonLd:[S(o.clubs),L([{name:"AcasÄ",path:"/"},{name:"Cluburi",path:"/cluburi"}])]});const u=t=>{const m=(r+t+n.length)%n.length;x([m,t])},j=t=>x([t,t>r?1:-1]);return e.jsxs("div",{className:"relative min-h-screen bg-background text-white",children:[e.jsx("section",{className:"relative pt-24 md:pt-28 pb-10 section-solid",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6 md:px-14 lg:px-20",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("span",{className:"h-px w-10 bg-accent block"}),e.jsx("span",{className:"font-mono text-xs uppercase tracking-[0.3em] text-muted-foreground",children:a.eyebrow})]}),e.jsx("h1",{className:"font-display uppercase text-[clamp(2.5rem,8vw,6rem)] leading-[0.9]",children:a.title}),e.jsx("p",{className:"mt-5 text-lg text-muted-foreground max-w-xl leading-relaxed",children:a.subtitle})]})}),e.jsx("section",{className:"relative pb-8",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6 md:px-14 lg:px-20",children:[e.jsx("div",{className:"relative overflow-hidden border border-border bg-surface",children:e.jsxs("div",{className:"relative h-[clamp(320px,52vh,540px)]",children:[e.jsx(h,{custom:c,initial:!1,mode:"popLayout",children:e.jsxs(p.div,{custom:c,initial:l?{opacity:0}:{opacity:0,x:c>=0?80:-80},animate:{opacity:1,x:0},exit:l?{opacity:0}:{opacity:0,x:c>=0?-80:80},transition:{duration:.6,ease:g},className:"absolute inset-0",children:[e.jsx("img",{src:s.image,alt:s.name[i],className:"absolute inset-0 w-full h-full object-cover",loading:"eager"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black via-black/55 to-black/20"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-black/70 to-transparent"}),e.jsxs("div",{className:"absolute inset-0 flex flex-col justify-end p-7 md:p-12",children:[e.jsxs("span",{className:"font-mono text-xs uppercase tracking-[0.3em] text-accent mb-3",children:[a.cityLabel," ",String(r+1).padStart(2,"0")," /"," ",String(n.length).padStart(2,"0")]}),e.jsx("span",{className:"font-headline uppercase leading-[0.85] text-[clamp(3rem,12vw,8rem)] text-white",children:s.name[i]}),s.comingSoon?e.jsxs("span",{className:"mt-3 inline-flex w-fit items-center gap-2 bg-accent text-black px-3 py-1.5 font-mono text-xs uppercase tracking-widest",children:[a.comingSoon,s.quarter?` · ${a.opening} ${s.quarter}`:""]}):e.jsxs("span",{className:"mt-3 font-mono text-sm uppercase tracking-wider text-white/70",children:[d.length," ",d.length===1?a.oneClub:a.manyClubs]})]})]},s.id)}),e.jsx("button",{type:"button",onClick:()=>u(-1),"aria-label":a.prev,className:"absolute left-4 top-1/2 -translate-y-1/2 z-10 w-11 h-11 inline-flex items-center justify-center bg-black/50 backdrop-blur border border-white/20 hover:border-accent hover:text-accent transition-colors",children:e.jsx(z,{className:"w-5 h-5"})}),e.jsx("button",{type:"button",onClick:()=>u(1),"aria-label":a.next,className:"absolute right-4 top-1/2 -translate-y-1/2 z-10 w-11 h-11 inline-flex items-center justify-center bg-black/50 backdrop-blur border border-white/20 hover:border-accent hover:text-accent transition-colors",children:e.jsx(A,{className:"w-5 h-5"})})]})}),e.jsx("div",{className:"mt-5 flex flex-wrap items-center gap-3",children:n.map((t,m)=>e.jsx("button",{type:"button",onClick:()=>j(m),className:["px-5 py-2.5 font-mono text-xs uppercase tracking-widest border transition-all",m===r?"bg-accent text-black border-accent":"border-border text-white/70 hover:border-accent hover:text-accent"].join(" "),children:t.name[i]},t.id))})]})}),e.jsx("section",{className:"relative py-12 md:py-16",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6 md:px-14 lg:px-20",children:[e.jsxs("h2",{className:"font-display uppercase text-2xl md:text-4xl mb-8",children:[a.clubsIn," ",e.jsx("span",{className:"text-accent",children:s.name[i]})]}),e.jsx("nav",{className:"sr-only",children:o.clubs.map(t=>e.jsx(b,{to:"/cluburi/$clubId",params:{clubId:t.id},children:t.name},t.id))}),e.jsx(h,{mode:"wait",children:e.jsx(p.div,{initial:"hidden",animate:"show",exit:{opacity:0}
1,variants:{hidden:{},show:{transition:l?{}:{staggerChildren:.07}}},className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:d.length===0?e.jsxs("div",{className:"col-span-full border border-border bg-surface p-8 md:p-10",children:[e.jsxs("span",{className:"inline-flex items-center gap-2 bg-accent text-black px-3 py-1.5 font-mono text-xs uppercase tracking-widest",children:[a.comingSoon,s.quarter?` · ${a.opening} ${s.quarter}`:""]}),e.jsx("p",{className:"mt-4 text-muted-foreground",children:a.soon})]}):d.map(t=>e.jsx(p.div,{variants:{hidden:l?{opacity:0}:{opacity:0,y:28},show:{opacity:1,y:0,transition:{duration:.6,ease:g}}},children:e.jsxs(b,{to:"/cluburi/$clubId",params:{clubId:t.id},className:"card-hover group relative flex flex-col h-full bg-surface border border-border overflow-hidden",children:[e.jsxs("div",{className:"relative aspect-[16/10] overflow-hidden",children:[e.jsx("img",{src:t.image,alt:t.name,loading:"lazy",className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"}),e.jsx("span",{className:"absolute top-3 left-3 bg-accent text-black px-2.5 py-1 font-mono text-[10px] uppercase tracking-widest",children:t.zone}),t.isPlus&&e.jsx("div",{className:"absolute top-3 right-3 rounded bg-black/55 px-2.5 py-1.5 backdrop-blur-sm",children:e.jsx("img",{src:"/images/brand/plus-logo.png",alt:"PLUS",className:"h-4 w-auto",loading:"lazy"})})]}),e.jsxs("div",{className:"flex flex-col flex-1 p-6",children:[e.jsx("h3",{className:"font-display uppercase text-2xl leading-tight",children:t.name}),e.jsxs("p",{className:"mt-3 flex items-start gap-2 text-sm text-muted-foreground leading-relaxed",children:[e.jsx($,{className:"w-4 h-4 text-accent shrink-0 mt-0.5"}),t.address]}),t.comingSoon&&e.jsxs("span",{className:"mt-4 inline-flex w-fit items-center bg-accent text-black px-2.5 py-1 font-mono text-[10px] uppercase tracking-widest",children:[a.comingSoon,t.openingDate?` · ${a.opening} ${t.openingDate}`:""]}),e.jsxs("span",{className:"mt-auto pt-6 inline-flex items-center gap-2 font-mono text-xs uppercase tracking-widest text-white group-hover:text-accent transition-colors",children:[a.viewClub,e.jsx(k,{className:"w-4 h-4 transition-transform group-hover:translate-x-1"})]})]})]})},t.id))},s.id)})]})})]})}export{O as component};
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.