1import{j as e}from"./vendor-data-BnyH3H2J.js";import{h as f,a as d,L as y}from"./vendor-react-Dov0ElfX.js";import{x as u,S as w,L as N,M as i,v as b}from"./index-DaefrmzX.js";import{d as z}from"./use-venues-Bot0BQ-0.js";import{u as k,n as L,P as M}from"./PrideBanner-lCzlAVOj.js";import{c as P,g as $}from"./venueCountry-B7OSSHGZ.js";import{s as m,i as x}from"./openDays-CPuAuOTK.js";import{P as B}from"./PoczytajSection-Dkua2jSw.js";import{A as I}from"./arrow-left-Ch-yxgjx.js";import"./vendor-supabase-DnveRTE1.js";function C({venue:s}){return e.jsxs(y,{href:b(s.id,s.name,s.city),className:"flex gap-3 p-2 rounded-lg hover:bg-white/5 cursor-pointer transition-colors","data-testid":`venue-${s.id}`,children:[e.jsx("div",{className:`w-12 h-12 rounded-md flex-shrink-0 overflow-hidden flex items-center justify-center ${s.type==="organizacja"||s.type==="media"?"bg-white p-1":"bg-secondary"}`,children:s.coverImage||s.galleryImages?.[0]?e.jsx("img",{src:s.coverImage||s.galleryImages[0],alt:s.name,className:`w-full h-full ${s.type==="organizacja"||s.type==="media"?"object-contain":"object-cover"}`,loading:"lazy"}):e.jsx(i,{className:"w-4 h-4 text-primary/60"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h4",{className:"text-sm font-semibold text-foreground truncate",children:s.name}),e.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:[s.type,s.district?` · ${s.district}`:"",s.openInfo?e.jsxs("span",{className:"text-foreground",children:[" · ",s.openInfo]}):""]}),e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[x(s.openDays)===!0&&e.jsx("span",{className:"text-xs text-emerald-400",children:"â otwarte dziÅ"}),x(s.openDays)===!1&&e.jsx("span",{className:"text-xs text-muted-foreground",children:"â dziÅ zamkniÄte"}),m(s.scene)&&e.jsx("span",{className:"text-xs text-foreground/70",children:m(s.scene)})]})]})]})}function F(){const[,s]=f("/miejsca/miasto/:city"),o=(s?.city||"").toLowerCase(),{data:c,isLoading:p}=z({}),r=d.useMemo(()=>(c||[]).filter(t=>(!t.gayDays||t.gayDays.length>0)&&u(t.city||"")===o).sort((t,h)=>t.name.localeCompare(h.name,"pl")),[c,o]),a=r[0]?.city||"",j=a?`Kluby, bary i sauny gejowskie â ${a} | gay.pl`:"Miejsca LGBT+ | gay.pl",g=a?`${a}: ${r.length} miejsc LGBT+ â kluby, bary, sauny i wiÄcej. Adresy, godziny i wydarzenia.`:"",{data:n}=k(a||void 0),l=d.useMemo(()=>L(n),[n]);return e.jsxs("div",{className:"max-w-3xl mx-auto px-4 py-5",children:[e.jsx(w,{title:j,description:g}),e.jsxs(y,{href:a?P($(a)):"/miejsca",className:"inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-primary mb-4",children:[e.jsx(I,{className:"w-4 h-4"})," Wszystkie miasta"]}),p?e.jsx("div",{className:"flex justify-center py-16",children:e.jsx(N,{className:"w-6 h-6 animate-spin text-primary"})}):r.length?e.jsxs(e.Fragment,{children:[e.jsxs("header",{className:"mb-4",children:[e.jsxs("h1",{className:"text-2xl font-bold text-foreground flex items-center gap-2",children:[e.jsx(i,{className:"w-6 h-6 text-primary"})," Miejsca LGBT+ â ",a]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[r.length," lokali â kluby, bary, sauny i wiÄcej."]})]}),l&&e.jsx(M,{event:l}),e.jsx("div",{className:"rounded-xl border border-white/10 bg-card/50 p-2 divide-y divide-white/5",children:r.map(t=>e.jsx(C,{venue:t},t.id))}),e.jsxs("section",{className:"mt-6 rounded-xl border border-white/10 bg-card/30 p-4",children:[e.jsxs("h2",{className:"text-base font-bold text-foreground mb-1.5",children:["Kluby, bary i sauny gejowskie â ",a,": co poleca gay.pl?"]}),e.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[a,": ",r.length," miejsc LGBT+ w katalogu gay.pl â ",r.slice(0,8).map(t=>t.name).join(", "),". Adresy, godziny otwarcia i wydarzenia znajdziesz przy każdym miejscu wyżej."]})]}),e.jsx("div",{className:"mt-6",children:e.jsx(B,{})})]}):e.jsxs("div",{className:"text-center py-16 text-muted-foreground",children:[e.jsx(i,{className:"w-8 h-8 mx-auto opacity-50 mb-2"}),e.jsx("p",{children:"Brak lokali dla tego miasta."})]})]})}export{F 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.