'use client' import Footer from "@/components/Footer/Footer"; import FAQ from "@/components/FAQ/FAQ"; import Image from "next/image"; import Link from "next/link"; import styles from "./about.module.css"; import { featuresData, ctaData, aboutFaqData } from "@/utils/constant"; import Testimonials from "@/components/Testimonials/Testimonials"; import { useState, useEffect } from "react"; import { motion } from "framer-motion"; import { Swiper, SwiperSlide } from 'swiper/react'; import { Autoplay, Navigation } from 'swiper/modules'; import 'swiper/css'; import 'swiper/css/navigation'; import { FaStar, FaChevronLeft, FaChevronRight } from 'react-icons/fa'; interface Review { text?: string; description?: string; snippet?: string; review_text?: string; body?: string; content?: string; rating: number; profile_photo_url?: string; author_profile_photo_url?: string; user?: { thumbnail?: string; name?: string; }; author_name?: string; } export default function AboutContent() { const [reviews, setReviews] = useState([]); const [loading, setLoading] = useState(true); const [expandedReview, setExpandedReview] = useState(null); const [swiperInstance, setSwiperInstance] = useState(null); // Auto-collapse expanded review after 10 seconds and handle autoplay useEffect(() => { if (expandedReview !== null) { // Stop autoplay when a review is expanded if (swiperInstance && swiperInstance.autoplay) { swiperInstance.autoplay.stop(); } const timer = setTimeout(() => { setExpandedReview(null); }, 5000); // 10 seconds return () => { clearTimeout(timer); }; } else { // Resume autoplay when reviews are collapsed if (swiperInstance && swiperInstance.autoplay) { swiperInstance.autoplay.start(); } } }, [expandedReview, swiperInstance]); // Animation variants const fadeInUp = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { duration: 0.6 } } }; const fadeIn = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { duration: 0.8 } } }; const slideInLeft = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { duration: 0.7 } } }; const slideInRight = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { duration: 0.7 } } }; const staggerContainer = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.2, delayChildren: 0.1 } } }; useEffect(() => { async function loadReviews() { try { const res = await fetch("/api/reviews"); if (!res.ok) throw new Error("Failed to fetch"); const data = await res.json(); const cleaned = (data.reviews || []).filter((r: Review) => (r.text || r.description || r.snippet || r.review_text || r.body || r.content) && r.rating >= 4 ); setReviews(cleaned); } catch (error) { console.error("About: Failed to fetch reviews", error); } finally { setLoading(false); } } loadReviews(); }, []); const displayedReviews = reviews.length > 0 && reviews.length < 3 ? [...reviews, ...reviews, ...reviews] : reviews; function renderStars(rating: number) { return [...Array(5)].map((_, i) => ( )); } function getReviewText(r: Review) { return r.text || r.description || r.snippet || r.review_text || r.body || r.content || ""; } function truncateText(text: string) { return text.length > 200 ? text.substring(0, 200) + "..." : text; } function getProfileImage(r: Review) { const url = r.profile_photo_url || r.author_profile_photo_url || r.user?.thumbnail; if (!url) return null; return url.startsWith("http") ? url : `https://lh3.googleusercontent.com/${url}`; } function getInitials(name: string) { if (!name) return "U"; return name.split(' ').map(n => n[0]).join('').substring(0, 2).toUpperCase(); } return (
{/* Hero Banner */}

About Us

Home / About

{/* About Section - No boxed structure */}
Our Story Decorative Dinner Icon ANTALYA Our Story Decorative Cutlery Icon

Our Story

Antalya began with a simple vision - to share the flavours, warmth, and culinary traditions of Turkey with our community. What started as a humble kitchen has grown into a beloved dining destination, celebrated for its hospitality, charcoal-grilled artistry, and authentic taste.

From handcrafted dishes to time-honoured recipes passed through generations, every plate tells a story of heritage and passion. Our chefs blend tradition with refined technique, using the freshest ingredients to create experiences that feel familiar yet unforgettable.

At Antalya, dining is more than a meal - it is a celebration of culture, flavour, and shared moments. We welcome you to discover the essence of Turkish hospitality and the rich culinary legacy we proudly nurture.

VIEW OUR MENU
Our Story
{/* Features Section - With real images */}
Features Section Dinner Icon ANTALYA Features Section Cutlery Icon
What Sets Antalya Apart {featuresData.map((feature) => (
{feature.title}

{feature.title}

{feature.description}

))}
{/* Why Choose Us Section */}
Why Choose Us
Why Choose Us Dinner Icon ANTALYA Why Choose Us Cutlery Icon

Why Choose Us

At Antalya Restaurant, we don’t just serve meals - we curate meaningful dining moments. Our commitment to authenticity ensures that every ingredient, seasoning, and cooking method honours true Turkish culinary heritage.

From our charcoal-grilled kebabs to handcrafted baklava, every dish is made with care to transport you to the bustling streets of Istanbul and the coastal charm of Antalya. We take pride in delivering warmth, flavour, and hospitality that make every visit unforgettable.

{/* Testimonials Section - Auto Slider */}
Testimonials Section Dinner Icon ANTALYA Testimonials Section Cutlery Icon

What Our Guests Say

{loading ? (

Loading reviews...

) : ( {displayedReviews.map((r, index) => { const fullText = getReviewText(r); const isExpanded = expandedReview === index; const profileImg = getProfileImage(r); const name = r.user?.name || r.author_name || "Customer"; return (
{profileImg ? ( {name} ((e.target as HTMLImageElement).src = '/images/placeholder.png')} /> ) : (
{getInitials(name)}
)}

{name}

{renderStars(r.rating)}

"{isExpanded ? fullText : truncateText(fullText)}"

{fullText.length > 300 && ( )}
); })}
)}
{/* FAQ Section - Image Left, FAQ Right */}
Frequently Asked Questions
FAQ Section Decorative Dinner Icon ANTALYA FAQ Section Decorative Cutlery Icon

FAQ – Your Questions Answered

Find helpful answers to common questions about dining at Antalya.

{aboutFaqData.map((faq, index) => ( ))}
{/* Call to Action */}
About CTA Dinner Icon ANTALYA About CTA Cutlery Icon
{ctaData.title} {ctaData.subtitle} {ctaData.buttonText}
); } // FAQ Item Component function FaqItem({ question, answer }: { question: string; answer: string }) { const [isOpen, setIsOpen] = useState(false); return (
{isOpen && (

{answer}

)}
); }