"use client"; import { motion, AnimatePresence } from "framer-motion"; import { useRef, useState, useEffect } from "react"; import type { DemoData } from "@/data/demos"; const fadeUp = { hidden: { opacity: 0, y: 40 }, show: { opacity: 1, y: 0, transition: { duration: 0.7, ease: [0.25, 0.46, 0.45, 0.94] as [number, number, number, number] } }, }; const stagger = { hidden: {}, show: { transition: { staggerChildren: 0.1 } }, }; interface DrinkSpec { name: string; desc: string; capacity: string; alcohol: string; relax: string; color: string; } const translations = { tr: { navSpecials: "İmza Serisi", navReserve: "Etkinlik Planla", navFlights: "Tadım Serileri", navReviews: "Gurme Yorumları", scheduleCall: "Görüşme Planla", ultimateExp: "EŞSİZ KOKTEYL DENEYİMİ", dedicationTitle: "PROFESYONEL MİKSOLOJİ VE", dedicationTail: "EL YAPIMI BAĞLILIK", heroDesc: "Zanaatkar viski tadım uçuşları, kişisel miksoloji eğitimleri ve kurumsal atölye buluşmalarına dahil olun. Ham meşe ağacı ve oyma taş tezgahlar üzerinde hazırlanır.", scheduleCallBtn: "GÖRÜŞME AYARLA", artisanalSelections: "SANATSAL SEÇENEKLER", signatureLiquors: "İmza İksirler", chooseDrink: "FAVORİ İÇKİNİZİ SEÇİN", sliderDesc: "Ustalıkla hazırlanan reçetelerimizi inceleyin. Aktif hacim, alkol derecesi ve gevşeme oranlarını görüntüleyin.", capacity: "HACİM", alcohol: "ALKOL", relax: "GEVŞEME", barrelhouseEvents: "Fıçı Evi Etkinlikleri", featuredServices: "SEÇKİN HİZMETLER", learnMore: "DAHA FAZLA KEŞFET →", masterclassBooking: "Rezervasyon", scheduleEvent: "BİR ETKİNLİK PLANLAYIN", formDesc: "Viski tadım serileri veya miksoloji dersleri organize etmek için sommelier koordinatörümüzle iletişime geçin.", fieldsName: "İsim Soyisim", fieldsEmail: "E-Posta Adresi", fieldsPhone: "İrtibat Numarası", fieldsEvent: "Etkinlik Kategorisi", fieldsNotes: "Özel İstekler", fieldsNotesPlaceholder: "Aroma tercihleri veya VIP mihmandar gereksinimleri...", dispatchRequest: "ETKİNLİK TALEBİNİ GÖNDER", sommelierReviews: "Gurme Yorumları", happyGuests: "MİSAFİR DENEYİMLERİ", happyGuestsDesc: "Yıllanmış tek malt ve fıçı serisi tadım etkinliklerimiz hakkında ne yazdıklarını keşfedin.", artisanalDials: "SANATSAL SERİ", vipServices: "VIP HİZMETLER", privacyRegs: "Gizlilik Sözleşmesi", termsStay: "Fıçı Koşulları", dismiss: "KAPAT", enquiryActive: "TALEBİNİZ GÖNDERİLDİ", ambassadorActive: "Mihmandar Sommelier Aktif", enquirySuccess: "Özel fıçı evi tadım/etkinlik talebinizi başarıyla kaydettik. Sertifikalı mihmandarımız tadım parametrelerinizi kesinleştirmek için sizinle iletişime geçecektir. Teşekkürler!", }, en: { navSpecials: "Specials", navReserve: "Book experience", navFlights: "Sommelier flights", navReviews: "Sommelier reviews", scheduleCall: "Schedule call", ultimateExp: "THE ULTIMATE COCKTAIL EXPERIENCE", dedicationTitle: "DEDICATION TO", dedicationTail: "PROFESSIONAL CRAFT & SPIRIT", heroDesc: "Indulge in artisanal whiskey flights, custom mixology, and corporate masterclass gatherings. Staged on heavy raw oak and carved stones.", scheduleCallBtn: "SCHEDULE A CALL", artisanalSelections: "ARTISANAL SELECTIONS", signatureLiquors: "Signature Liquors", chooseDrink: "CHOOSE FAVORITE DRINK", sliderDesc: "Cycle through our mastercraft recipes. Toggle active stats, proof, and relax levels.", capacity: "CAPACITY", alcohol: "ALCOHOL", relax: "RELAX", barrelhouseEvents: "Barrelhouse Events", featuredServices: "FEATURED SERVICES", learnMore: "LEARN MORE →", masterclassBooking: "Masterclass booking", scheduleEvent: "SCHEDULE AN EVENT", formDesc: "Connect with our sommelier coordinator to arrange whiskey flights or mixology classes.", fieldsName: "Name", fieldsEmail: "Email", fieldsPhone: "Phone", fieldsEvent: "Event Type", fieldsNotes: "Special notes", fieldsNotesPlaceholder: "Flavor preferences or VIP requirements...", dispatchRequest: "DISPATCH EVENT REQUEST", sommelierReviews: "Sommelier Reviews", happyGuests: "HAPPY GUESTS", happyGuestsDesc: "Hear what craft enthusiasts write about our private aged single malt coordinates.", artisanalDials: "ARTISANAL DIALS", vipServices: "VIP SERVICES", privacyRegs: "Privacy Regulations", termsStay: "Terms of Cask", dismiss: "DISMISS", enquiryActive: "EVENT DISPATCHED", ambassadorActive: "Barrelhouse Sommelier Active", enquirySuccess: "We have registered your private barrelhouse coordinate request. A certified somatic host will contact you shortly to confirm whiskey flights or mixology parameters. Thank you!", } }; export default function BarTemplate2({ data }: { data: DemoData }) { const { firma, istatistikler = [], hizmetler = [], yorumlar = [] } = data; const [showBookingModal, setShowBookingModal] = useState(false); const [activeDrink, setActiveDrink] = useState(1); // Mai Tai active by default const [menuOpen, setMenuOpen] = useState(false); const [lang, setLang] = useState<"tr" | "en">("tr"); const [preloader, setPreloader] = useState(true); const t = translations[lang]; // 1. Lenis Smooth Scroll Integration useEffect(() => { let lenis: any; import("@studio-freight/lenis").then(({ default: Lenis }) => { lenis = new Lenis({ duration: 1.2, easing: (t: number) => Math.min(1, 1.001 - Math.pow(2, -10 * t)) }); function raf(time: number) { lenis.raf(time); requestAnimationFrame(raf); } requestAnimationFrame(raf); }); return () => lenis?.destroy(); }, []); // 2. Preloader Curtain Timer useEffect(() => { const timer = setTimeout(() => { setPreloader(false); }, 1500); return () => clearTimeout(timer); }, []); const getLocalizedDrinks = () => { return [ { name: lang === "tr" ? "Mojito" : "Mojito", desc: lang === "tr" ? "Taze beyaz Küba romu, el ezmesi nane yaprakları, organik misket limonu suyu, ham kamış şekeri ve soğuk maden suyu." : "Fresh white cuban rum, hand-crushed spearmint, organic lime juice reduction, raw cane sugar, chilled splash of soda.", capacity: "350ml", alcohol: "12%", relax: "80%", color: "#00E5FF" }, { name: lang === "tr" ? "Mai Tai" : "Mai Tai", desc: lang === "tr" ? "Premium Jamaika kehribar romu, üç kez damıtılmış portakal likörü, organik badem şurubu ve taze sıkılmış misket limonu." : "Premium Jamaican amber rum, triple-distilled orange curaçao, organic almond orgeat syrup, fresh lime squeeze.", capacity: "280ml", alcohol: "18%", relax: "90%", color: "#FF9F00" }, { name: lang === "tr" ? "Rum Cosmo" : "Rum Cosmo", desc: lang === "tr" ? "Fıçıda yıllanmış koyu rom, dağ kızılcığı infüzyonu, organik portakal likörü ve portakal yağı buğusu." : "Cask-aged dark rum, wild mountain cranberry infusion, organic triple sec, orange oil mist garnish.", capacity: "200ml", alcohol: "22%", relax: "95%", color: "#FF007A" } ]; }; const getLocalizedService = (baslik: string, aciklama: string) => { if (baslik.toLowerCase().includes("whiskey") || baslik.toLowerCase().includes("flight") || baslik.toLowerCase().includes("tadim")) { return { title: lang === "tr" ? "VİSKİ TADIM UÇUŞLARI" : "WHISKEY FLIGHTS", desc: lang === "tr" ? "Dünyanın en seçkin fıçılarından gelen yıllanmış tek malt ve burbon viski serilerinin özel sunumu." : aciklama }; } if (baslik.toLowerCase().includes("mixology") || baslik.toLowerCase().includes("class") || baslik.toLowerCase().includes("ders")) { return { title: lang === "tr" ? "MİKSOLOJİ EĞİTİMLERİ" : "MIXOLOGY CLASSES", desc: lang === "tr" ? "Profesyonel barmenlerimiz eşliğinde kendi taze şuruplarınızı ve kokteyllerinizi yapmayı öğrenin." : aciklama }; } return { title: lang === "tr" ? "ÖZEL KOKTEYL HİZMETİ" : "PRIVATE COCKTAIL CATERING", desc: lang === "tr" ? "Kurumsal lansmanlar, VIP davetler ve butik etkinlikler için özel miksoloji menüsü ve servis ekibi." : aciklama }; }; const drinks = getLocalizedDrinks(); // Custom visual styles & Google Fonts for our Rustic Chalk & Char aesthetic const css = ` @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400&family=Space+Grotesk:wght@300;400;500;600;700&display=swap'); :root { --color-char-red: #E63946; --color-char-slate: #111215; --color-char-card: #18191E; --color-text-white: #FCFAF7; --color-text-muted: rgba(252, 252, 247, 0.5); } .font-industrial { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 700; } .font-sans-clean { font-family: 'Space Grotesk', sans-serif; } .bg-mesh-char { background-image: radial-gradient(circle at 10% 20%, rgba(230, 57, 70, 0.04) 0%, transparent 45%), radial-gradient(circle at 90% 80%, rgba(229, 169, 0, 0.03) 0%, transparent 50%), linear-gradient(rgba(255, 255, 255, 0.005) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.005) 1px, transparent 1px); background-size: 100% 100%, 100% 100%, 40px 40px, 40px 40px; } .crimson-glow { box-shadow: 0 0 20px rgba(230, 57, 70, 0.25); } /* Pulse animation for CTA strip */ .pulse-glow-crimson { animation: crimsonPulse 2s infinite; } @keyframes crimsonPulse { 0% { box-shadow: 0 0 0 0 rgba(230, 57, 70, 0.4); } 70% { box-shadow: 0 0 0 12px rgba(230, 57, 70, 0); } 100% { box-shadow: 0 0 0 0 rgba(230, 57, 70, 0); } } .hero-title-clamp { font-size: clamp(42px, 7.5vw, 100px); letter-spacing: -0.02em; line-height: 0.95; } `; return ( <> {/* ── IMZA AN: CURTAIN REVEAL PRELOADER ── */} {preloader && (
CHAR BARRELHOUSE
barrel aged mixology
)}
{/* ── CHALK & CHAR BARRELHOUSE ── */}
{/* Floating Ambient Red Orbs */}
{/* ── MANDATORY FLOATING DEMO BANNER ── */}
{lang === "tr" ? "Bu web sitesi Ayris Tech tarafından hazırlanmış bir konsept çalışmasıdır." : "This website is a premium concept prototype designed by Ayris Tech."}
{/* ── HIGH CONTRAST NAVBAR ── */}
{/* Logo */} {firma.adi} {/* Navigation Links */} {/* Action button */}
{/* Language Switcher */}
setShowBookingModal(true)} className="text-[10px] font-bold tracking-[2.5px] uppercase text-white bg-[#E63946] hover:bg-white hover:text-black px-6 py-3.5 rounded-xl transition-all cursor-pointer shadow-[0_5px_15px_rgba(230,57,70,0.2)] hidden sm:block" whileHover={{ scale: 1.02 }} whileTap={{ scale: 0.98 }} > {t.scheduleCall}
{/* ── HERO SECTION ── */}
{/* Left Column: Heading and description */} {t.ultimateExp} {t.dedicationTitle}
{t.dedicationTail}
{t.heroDesc} {/* Quick actions */} setShowBookingModal(true)} className="px-8 py-4 rounded-xl bg-[#E63946] hover:bg-white hover:text-black text-white font-bold text-[10px] tracking-[2px] uppercase transition-all shadow-[0_5px_15px_rgba(230,57,70,0.25)] cursor-pointer" whileHover={{ scale: 1.02 }} > {t.scheduleCallBtn} {t.artisanalSelections}
{/* Right Column: High-fidelity image (steak/drink counter) */}
{/* Using 8k Chef Plating Smoke image to represent premium cask smoking counter */} {/* eslint-disable-next-line @next/next/no-img-element */} Char Barrelhouse Cask-Aged Spirits Smoking Counter
{/* ── ARTISANAL CAROUSEL SLIDER ── */}
{t.signatureLiquors}

{t.chooseDrink}

{t.sliderDesc}

{/* Slider container */}
{/* Left Column: Drink Tabs & Specifications */}
{/* Tabs */}
{drinks.map((d, dIdx) => ( ))}
{/* Active Drink Info */}

{drinks[activeDrink].name}

{drinks[activeDrink].desc}

{/* Circular Dials Indicators */}
{/* Dial 1: Capacity */}
{drinks[activeDrink].capacity} {t.capacity}
{/* Dial 2: Alcohol */}
{drinks[activeDrink].alcohol} {t.alcohol}
{/* Dial 3: Relax */}
{drinks[activeDrink].relax} {t.relax}
{/* Right Column: Large closeup beverage display */}
{/* Using 8k lemon/citrus flatlay to represent fresh botanical drink prep */} {/* eslint-disable-next-line @next/next/no-img-element */} Fresh citrus botanic preparation
{/* ── FEATURED EXPERIENCES ── */}
{t.barrelhouseEvents}

{t.featuredServices}

{lang === "tr" ? "Özel viski tadım uçuşları ve sommelier eğitim paketleri ayırtın." : "Reserve custom whiskey flights and private sommelier masterclass packages."}

{/* Bento Grid layout */}
{hizmetler.map((experience, idx) => { const locServ = getLocalizedService(experience.baslik, experience.aciklama); return ( {/* Header cover using chef smoke image to represent luxury experience */}
{/* eslint-disable-next-line @next/next/no-img-element */} {locServ.title}

{locServ.title}

{locServ.desc}

setShowBookingModal(true)} className="text-[#E63946] group-hover:text-white transition-colors text-[10px] font-bold tracking-[2px] uppercase flex items-center gap-1.5 cursor-pointer" > {t.learnMore}
); })}
{/* ── RESERVATION RESERVATION RESERVATION ── */}
{t.masterclassBooking}

{t.scheduleEvent}

{t.formDesc}

{[ { label: t.fieldsName, placeholder: lang === "tr" ? "Adınız Soyadınız" : "Your Name", type: "text", full: false }, { label: t.fieldsEmail, placeholder: "you@company.com", type: "email", full: false }, { label: t.fieldsPhone, placeholder: lang === "tr" ? "İrtibat Numarası" : "Contact Number", type: "tel", full: false }, { label: t.fieldsEvent, placeholder: lang === "tr" ? "Viski Tadım Serisi" : "Whiskey Tasting Flight", type: "text", full: false }, { label: t.fieldsNotes, placeholder: t.fieldsNotesPlaceholder, type: "text", full: true }, ].map((field, idx) => (
))}
setShowBookingModal(true)} className="mt-8 w-full py-4.5 rounded-xl bg-[#E63946] hover:bg-white hover:text-black text-white font-bold text-[10px] tracking-[2.5px] uppercase transition-colors cursor-pointer" whileHover={{ scale: 1.02 }} whileTap={{ scale: 0.98 }} > {t.dispatchRequest}
{/* ── TESTIMONIALS ── */}
{t.sommelierReviews}

{t.happyGuests}

{t.happyGuestsDesc}

{/* Testimonials 2-Column Grid */}
{yorumlar.map((y, yIdx) => ( {/* Rating Stars SVG */}
{[...Array(5)].map((_, starIdx) => ( ))}

“{y.yorum}”

{y.yazar.charAt(0)}

{y.yazar}

{y.tarih}
))}
{/* ── FOOTER ── */}
{/* About Column */}
CharBarrel

{firma.slogan} — Heavy rustic slate-crimson themed barrelhouse coordinates offering masterclass mixology and corporate single malt tastings.

{firma.adres}

{firma.email}

{/* Dials Column */}

{t.artisanalDials}

{drinks.map(d => ( {d.name} Signature ))}
{/* Experiences Column */}

{t.vipServices}

{hizmetler.map((h, hIdx) => { const locS = getLocalizedService(h.baslik, h.aciklama); return ( {locS.title} ); })}

© 2026 {firma.adi}. All rights reserved.

{/* ── FAST BOOKING SUCCESS MODAL ── */} {showBookingModal && ( {/* Close Button */} {/* Success check indicator */}

{t.enquiryActive}

{t.ambassadorActive}

{t.enquirySuccess}

setShowBookingModal(false)} > {t.dismiss}
)}
); }