1import{j as e}from"./ui-5c7joxtO.js";import{r as u}from"./vendor-B5y6T5cR.js";import{i as h,u as x,e as b,h as g,c as p,X as f,j as v}from"./index-qd56CCe9.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const j=h("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),k=()=>{const{t:s}=x(),[t,o]=u.useState(null),l=[{src:"/lovable-uploads/f049b623-e41d-4c02-a6f8-fdfd4eb18a3d.png",alt:"Modern Student Room with Green Desk",title:"Private Room with Study Area"},{src:"/lovable-uploads/1b08c714-cdb8-4384-a7c4-76a1dadda1c9.png",alt:"Comfortable Bedroom with Large Windows",title:"Bright and Spacious Room"},{src:"/lovable-uploads/360d3e6d-eb29-4a23-9de5-329b9e2bc10d.png",alt:"Room with En-Suite Bathroom",title:"Private Room with Bathroom Access"},{src:"/lovable-uploads/ba985ee8-4aca-45e1-ab57-5fcd11f4441e.png",alt:"Balcony View of Milan",title:"Beautiful View from Balcony"},{src:"/lovable-uploads/cd4ee825-2814-4bf1-928d-5d3812583fd2.png",alt:"Individual Study Space",title:"Dedicated Study Corner"},{src:"/lovable-uploads/23577233-43dd-4941-a03e-e67dc7c0fb53.png",alt:"Shared Co-Working Space",title:"Common Study Area"}],n=a=>{o(a)},c=()=>{o(null)},i=()=>{t!==null&&o((t+1)%l.length)},d=()=>{t!==null&&o(t===0?l.length-1:t-1)},m=()=>{const a=document.querySelector("#contact");a&&a.scrollIntoView({behavior:"smooth"})};return e.jsx("section",{id:"gallery",className:"py-20 bg-background",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("div",{className:"text-center mb-12 sm:mb-16 space-y-4 px-4",children:[e.jsx("h2",{className:"font-display text-3xl sm:text-4xl md:text-5xl font-bold text-foreground",children:s("gallery.title")}),e.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground max-w-2xl mx-auto",children:s("gallery.subtitle")})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 mb-12",children:l.map((a,r)=>e.jsx(b,{className:"group cursor-pointer overflow-hidden border-border/50 hover:shadow-elegant transition-all duration-300 hover:scale-105",onClick:()=>n(r),children:e.jsxs(g,{className:"p-0 relative",children:[e.jsx("img",{src:a.src,alt:a.alt,loading:"lazy",className:"w-full h-48 sm:h-56 lg:h-64 object-cover group-hover:scale-110 transition-transform duration-500"}),e.jsx("div",{className:"absolute inset-0 bg-primary/0 group-hover:bg-primary/20 transition-colors duration-300 flex items-center justify-center",children:e.jsx("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity duration-300 text-white font-semibold text-lg text-center p-4",children:a.title})})]})},r))}),e.jsx("div",{className:"text-center px-4",children:e.jsx(p,{onClick:m,size:"lg",className:"bg-primary hover:bg-primary/90 text-primary-foreground font-semibold px-6 sm:px-8 py-3 shadow-elegant hover:shadow-lg transition-all duration-300 hover:scale-105 w-full sm:w-auto max-w-sm sm:max-w-none",children:"Book Your Room Today"})}),t!==null&&e.jsx("div",{className:"fixed inset-0 bg-black/90 z-50 flex items-center justify-center p-4",children:e.jsxs("div",{className:"relative max-w-6xl max-h-full",children:[e.jsx("img",{src:l[t].src,alt:l[t].alt,className:"max-w-full max-h-full object-contain rounded-lg"}),e.jsx("button",{onClick:c,className:"absolute top-4 right-4 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors",children:e.jsx(f,{className:"h-6 w-6"})}),e.jsx("button",{onClick:d,className:"absolute left-4 top-1/2 transform -translate-y-1/2 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors",children:e.jsx(j,{className:"h-6 w-6"})}),e.jsx("button",{onClick:i,className:"absolute right-4 top-1/2 transform -translate-y-1/2 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors",children:e.jsx(v,{className:"h-6 w-6"})}),e.jsx("div",{className:"absolute bottom-4 left-1/2 transform -translate-x-1/2 bg-black/70 text-white px-4 py-2 rounded-lg",children:e.jsx("h3",{className:"font-semibold",children:l[t].title})})]})})]})})};export{k 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.