1"use strict";(self.webpackChunkroyal_indian_cuisine=self.webpackChunkroyal_indian_cuisine||[]).push([[559],{919:(n,e,a)=>{n.exports=a.p+"static/media/10.8cf0673e9c36d8625621.webp"},4588:(n,e,a)=>{n.exports=a.p+"static/media/2.d9680d7577d9c515e19e.webp"},6559:(n,e,a)=>{a.r(e),a.d(e,{Gallery:()=>z});var t=a(65043),i=a(40111),r=a(85781),s=a(13133),o=a(35014),l=a(12027),c=a(91706),d=(a(69189),a(80033)),p=a(60519),m=a(57483),g=a(42993),y=(a(4399),a(14490)),h=a(28556),f=a(4588),x=a(61679),u=a(22898),w=a(25661),b=a(31408),v=a(8410),j=a(92214),k=a(56945),N=a(919),C=a(70579);const S=[{src:h,category:"restaurant",isVideo:!0,isVertical:!0},{src:f,category:"restaurant"},{src:x,category:"restaurant"},{src:u,category:"restaurant"},{src:w,category:"restaurant"},{src:b,category:"restaurant"},{src:v,category:"restaurant",isVideo:!0,isVertical:!0},{src:j,category:"restaurant"},{src:k,category:"restaurant"},{src:N,category:"restaurant"}],V=n=>{let{image:e,index:a,progress:t,onClick:o}=n;const l=[-70,38,-52,26,-44,30,-64,18],c=(0,i.I)()?0:l[a%l.length],d=(0,r.G)(t,[0,1],[c,-c]);return(0,C.jsxs)(s.P.div,{style:{y:d},className:"rc-gtile ".concat(e.isVertical?"rc-tall":""),onClick:o,initial:{opacity:0,scale:.92},whileInView:{opacity:1,scale:1},viewport:{once:!0,margin:"-40px"},transition:{duration:.6,delay:a%4*.06,ease:[.2,.7,.2,1]},children:[e.isVideo?(0,C.jsx)("video",{src:e.src,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",style:{backgroundColor:"#000"}}):(0,C.jsx)("img",{src:e.src,alt:"",decoding:"async"}),(0,C.jsx)("span",{className:"rc-gring"}),(0,C.jsx)("div",{className:"rc-gicon",children:(0,C.jsx)("i",{className:e.isVideo?"fas fa-play":"fas fa-search-plus"})})]})};function z(n){let{language:e}=n;const a=(0,t.useRef)(null),{scrollYProgress:i}=(0,o.L)({target:a,offset:["start end","end start"]}),{colors:r}=y.restaurantConfig,[s,h]=(0,t.useState)(!1),[f,x]=(0,t.useState)(0),[u,w]=(0,t.useState)(window.innerWidth<=768),[b,v]=(0,t.useState)(!1),[j,k]=(0,t.useState)("");(0,t.useEffect)((()=>{const n=()=>{w(window.innerWidth<=768)};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)}),[]);const N=S,z=N.map((n=>n.isVideo?{type:"video",width:n.isVertical?480:1280,height:n.isVertical?853:720,poster:"",sources:[{src:n.src,type:"video/mp4"}]}:{src:n.src})),I=(n,e)=>{x(e),h(!0)};return(0,C.jsxs)("section",{id:"gallery",className:"gallery-section py-16 bg-white",children:[(0,C.jsxs)("div",{className:"container mx-auto px-4",children:[(0,C.jsxs)("div",{className:"section-title",children:[(0,C.jsx)("h2",{children:"en"===e?"Our Gallery":"A Nossa Galeria"}),(0,C.jsx)("div",{className:"title-separator",style:{backgroundColor:y.restaurantConfig.colors.primary}}),(0,C.jsx)("p",{className:"section-subtitle",children:"en"===e?"A space crafted with heart and soul, made for those who celebrate life in every moment.":"Um espa\xe7o criado com carinho e alma, pensado para quem celebra a vida em cada momento."})]}),u?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(l.default,{images:N,onImageClick:I}),(0,C.jsx)("div",{className:"swipe-hint text-center text-sm text-gray-500 mt-4",children:(0,C.jsxs)("p",{children:[(0,C.jsx)("i",{className:"fas fa-hand-point-right mr-2"}),"en"===e?"Swipe to see more photos":"Deslize para ver mais fotos"]})})]}):(0,C.jsx)("div",{ref:a,className:"rc-gallery-grid mt-10",children:N.map(((n,e)=>(0,C.jsx)(V,{image:n,index:e,progress:i,onClick:()=>I(0,e)},"gallery-".concat(e))))}),(0,C.jsx)("div",{className:"instagram-button-container mt-10 mb-16 flex justify-center px-4 md:px-0",children:(0,C.jsxs)("button",{className:"w-full md:w-auto uppercase font-medium border-4 border-[var(--color-primary)] text-[var(--color-primary)] py-4 px-8 tracking-widest hover:bg-[var(--color-primary)] hover:text-white transition-all duration-500 text-base md:text-lg rounded-lg flex items-center justify-center",onClick:()=>window.open("https://www.instagram.com/royalindiancuisine_lagos/","_blank"),children:[(0,C.jsx)("i",{className:"fab fa-instagram mr-2 text-xl"}),"en"===e?"See More on Instagram":"pt"===e?"Ver Mais no Instagram":"Vedi di Pi\xf9 su Instagram"]})})]}),(0,C.jsx)(c.Ay,{open:s,close:()=>h(!1),slides:z,index:f,plugins:[d.A,p.A,m.A,g.A],carousel:{finite:N.length<=5},animation:{swipe:250},controller:{closeOnBackdropClick:!0},thumbnails:{position:"bottom",width:120,height:80,gap:10,vignette:!0},video:{autoPlay:!0,controls:!0},styles:{container:{backgroundColor:"rgba(0, 0, 0, .9)"},thumbnailsContainer:{backgroundColor:"rgba(0, 0, 0, .8)"}
1,thumbnail:{border:"2px solid ".concat(r.primary)},thumbnailsTrack:{padding:"10px 0"}}}),(0,C.jsx)("style",{children:"\n /* Gallery Styles */\n .gallery-section {\n padding: 4rem 0;\n background-color: #fff;\n }\n\n /* Gallery Categories Tabs */\n .gallery-categories {\n margin-bottom: 30px;\n }\n \n .gallery-tabs {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 10px;\n }\n \n .gallery-tab:hover {\n background: #eaeaea;\n transform: translateY(-2px);\n }\n \n .team-icon {\n font-size: 0.9em;\n margin-left: 4px;\n }\n\n .gallery-masonry {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: 1fr;\n gap: 1rem;\n }\n\n @media (min-width: 576px) {\n .gallery-masonry {\n grid-template-columns: repeat(2, 1fr);\n }\n }\n\n @media (min-width: 768px) {\n .gallery-masonry {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n\n @media (min-width: 1200px) {\n .gallery-masonry {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n\n .gallery-item-wrapper {\n cursor: pointer;\n overflow: hidden;\n border-radius: 8px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n transition: transform 0.3s ease;\n }\n\n /* Style for vertical videos (spans two rows) */\n .vertical-video {\n grid-row: span 2;\n }\n\n /* Make sure vertical videos maintain proper aspect ratio */\n @media (max-width: 767px) {\n .vertical-video {\n grid-column: span 2;\n grid-row: span 1;\n }\n }\n\n .gallery-item-wrapper:hover {\n transform: translateY(-5px);\n }\n\n .gallery-item {\n position: relative;\n overflow: hidden;\n width: 100%;\n height: 100%;\n aspect-ratio: 1;\n }\n\n /* For vertical videos, adjust aspect ratio */\n .vertical-video .gallery-item {\n height: 100%;\n aspect-ratio: auto;\n }\n\n .vertical-video .gallery-image {\n height: 100%;\n object-fit: cover;\n object-position: center;\n }\n\n .gallery-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform 0.5s ease;\n }\n\n .gallery-item-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.4);\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .gallery-item:hover .gallery-item-overlay {\n opacity: 1;\n }\n\n .gallery-item:hover .gallery-image {\n transform: scale(1.1);\n }\n\n .gallery-item-icon {\n color: white;\n font-size: 1.5rem;\n }\n\n /* Image Modal Styles */\n .image-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.9);\n z-index: 1000;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 1rem;\n }\n\n .image-modal-content {\n position: relative;\n max-width: 100%;\n max-height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n\n .image-modal-img-container {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n }\n\n .image-modal-img {\n max-width: 100%;\n max-height: 85vh;\n object-fit: contain;\n }\n\n .image-modal-counter {\n color: white;\n position: absolute;\n bottom: -25px;\n font-size: 0.9rem;\n }\n\n .image-modal-close {\n position: absolute;\n top: -40px;\n right: 0;\n background: transparent;\n border: none;\n color: white;\n font-size: 1.5rem;\n cursor: pointer;\n padding: 0.5rem;\n z-index: 1001;\n }\n\n .image-modal-nav {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n background: rgba(255, 255, 255, 0.2);\n border: none;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 1.2rem;\n cursor: pointer;\n transition: background 0.3s ease;\n z-index: 1001;\n }\n\n .image-modal-prev {\n left: 20px;\n }\n\n .image-modal-next {\n right: 20px;\n }\n\n .image-modal-nav:hover {\n background: rgba(255, 255, 255, 0.4);\n }\n\n @media (max-width: 768px) {\n .image-modal-content {\n width: 100%;\n }\n .image-modal-nav {\n width: 35px;\n height: 35px;\n font-size: 1rem;\n }\n .image-modal-close {\n top: -30px;\n font-size: 1.2rem;\n }\n .gallery-tabs {\n flex-wrap: wrap;\n gap: 8px;\n }\n }\n\n /* Mobile Gallery Swiper Styles */\n .gallery-swiper {\n width: 100%;\n padding: 0 10px;\n }\n\n .gallery-swiper .swiper-slide {\n height: 250px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .gallery-swiper .gallery-item {\n width: 100%;\n height: 100%;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n }\n\n .gallery-swiper .gallery-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .gallery-swiper .swiper-pagination,\n .swiper-pagination-gallery {\n position: relative;\n bottom: 0 !important;\n margin-top: 15px;\n display: flex;\n justify-content: center;\n }\n\n .gallery-swiper .swiper-pagination-bullet,\n .swiper-pagination-gallery .swiper-pagination-bullet {\n width: 8px;\n height: 8px;\n transition: all 0.3s ease;\n opacity: 0.7;\n background: #ccc;\n margin: 0 5px;\n }\n\n .gallery-swiper .swiper-pagination-bullet-active,\n .swiper-pagination-gallery .swiper-pagination-bullet-active {\n background-color: ".concat(r.primary,";\n transform: scale(1.3);\n opacity: 1;\n }\n\n @media (max-width: 768px) {\n .gallery-swiper {\n margin-bottom: 10px;\n }\n .gallery-swiper .swiper-slide {\n height: 200px;\n }\n }\n\n /* Swipe Hint */\n .swipe-hint {\n text-align: center;\n color: #555;\n margin: 15px 0 5px;\n font-size: 0.9rem;\n opacity: 0.9;\n animation: fadeInUp 1s ease forwards;\n }\n \n .swipe-hint i {\n color: ").concat(r.primary,";\n animation: pulse 1.5s infinite;\n display: inline-block;\n margin-right: 6px;\n }\n \n @keyframes pulse {\n 0% {\n opacity: 0.6;\n transform: scale(0.9);\n }\n 50% {\n opacity: 1;\n transform: scale(1.1);\n }\n 100% {\n opacity: 0.6;\n transform: scale(0.9);\n }\n }\n \n @keyframes fadeInUp {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 0.9;\n transform: translateY(0);\n }\n }\n ")})]})}},8410:(n,e,a)=>{n.exports=a.p+"static/media/7.bab6a708d416fa43cfc2.mp4"},12027:(n,e,a)=>{a.r(e),a.d(e,{default:()=>s});a(65043);var t=a(74975),i=(a(44014),a(5084),a(15551),a(45856),a(72692)),r=a(70579);const s=n=>{let{images:e,onImageClick:a}=n;return(0,r.jsxs)("div",{className:"gallery-swiper mt-8",children:[(0,r.jsx)(t.RC,{modules:[i.dK,i.Ij,i.t9],spaceBetween:20,slidesPerView:1.3,centeredSlides:!0,pagination:{clickable:!0,el:".swiper-pagination-gallery",bulletActiveClass:"swiper-pagination-bullet-active"},loop:!0,autoplay:{delay:4e3,disableOnInteraction:!1,pauseOnMouseEnter:!0},speed:800,effect:"coverflow",coverflowEffect:{rotate:0,stretch:0,depth:100,modifier:1.5,slideShadows:!0},children:e.map(((n,e)=>(0,r.jsx)(t.qr,{children:(0,r.jsxs)("div",{className:"gallery-item ".concat(n.isVertical?"vertical-video-slide":""),onClick:()=>a(n,e),children:[n.isVideo?(0,r.jsx)("video",{src:n.src,className:"gallery-image",autoPlay:!0,loop:!0,muted:!0,playsInl
1ine:!0}):(0,r.jsx)("img",{src:n.src,alt:"",className:"gallery-image",loading:"lazy"}),(0,r.jsx)("div",{className:"gallery-item-overlay",children:(0,r.jsx)("div",{className:"gallery-item-icon",children:n.isVideo?(0,r.jsx)("i",{className:"fas fa-play"}):(0,r.jsx)("i",{className:"fas fa-search-plus"})})})]})},"slide-".concat(e))))}),(0,r.jsx)("div",{className:"swiper-pagination-gallery",style:{display:"flex",justifyContent:"center",marginTop:"20px"}}),(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"\n .gallery-item {\n position: relative;\n overflow: hidden;\n width: 100%;\n height: 100%;\n aspect-ratio: 1;\n border-radius: 0;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n transition: transform 0.3s ease;\n }\n \n .gallery-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform 0.5s ease;\n }\n \n /* Special styling for vertical videos */\n .vertical-video-slide {\n aspect-ratio: 9/16;\n height: 320px;\n }\n \n .vertical-video-slide video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n \n .gallery-item-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.3);\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n \n .gallery-item:hover .gallery-item-overlay {\n opacity: 1;\n }\n \n .gallery-item-icon {\n color: white;\n font-size: 2rem;\n background-color: rgba(255, 200, 0, 0.8);\n border-radius: 50%;\n width: 60px;\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n transform: scale(0.8);\n transition: transform 0.3s ease;\n }\n \n .gallery-item:hover .gallery-item-icon {\n transform: scale(1);\n }\n \n .swiper-pagination-bullet {\n width: 10px;\n height: 10px;\n background-color: #ccc;\n opacity: 0.7;\n margin: 0 5px;\n transition: all 0.3s ease;\n }\n \n .swiper-pagination-bullet-active {\n background-color: #ffc800 !important;\n transform: scale(1.3);\n opacity: 1;\n }\n \n .swiper-slide-active .gallery-item {\n transform: scale(1.05);\n }\n "}})]})}},22898:(n,e,a)=>{n.exports=a.p+"static/media/4.6345d270e0fce1d9965d.webp"},25661:(n,e,a)=>{n.exports=a.p+"static/media/5.21372512b1d9756a4bae.webp"},28556:(n,e,a)=>{n.exports=a.p+"static/media/1.824b7274d0a432ec01bc.mp4"},31408:(n,e,a)=>{n.exports=a.p+"static/media/6.18f98383f7510d94d24e.webp"},56945:(n,e,a)=>{n.exports=a.p+"static/media/9.ce4cf9cff06450149dbb.webp"},61679:(n,e,a)=>{n.exports=a.p+"static/media/3.cdabe24c7012108be3af.webp"},92214:(n,e,a)=>{n.exports=a.p+"static/media/8.f718fe54e8459dffdfe2.webp"}}]); 2//# sourceMappingURL=559.deb44d35.chunk.js.map
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.