"use client";

import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import HeroSplitKpi from "@/components/sections/hero/HeroSplitKpi";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
import ProductCardOne from "@/components/sections/product/ProductCardOne";
import TextAbout from "@/components/sections/about/TextAbout";
import MetricCardOne from "@/components/sections/metrics/MetricCardOne";
import ContactFaq from "@/components/sections/contact/ContactFaq";
import FeatureCardNine from "@/components/sections/feature/FeatureCardNine";
import TestimonialCardTen from "@/components/sections/testimonial/TestimonialCardTen";
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
import { Heart, Utensils, BookOpen, Clock, Camera, Star, Phone, X, Moon, Sun } from "lucide-react";

export default function LandingPage() {
  return (
    <ThemeProvider
      defaultButtonVariant="text-shift"
      defaultTextAnimation="reveal-blur"
      borderRadius="pill"
      contentWidth="small"
      sizing="medium"
      background="noiseDiagonalGradient"
      cardStyle="layered-gradient"
      primaryButtonStyle="radial-glow"
      secondaryButtonStyle="layered"
      headingFontWeight="extrabold"
    >
      <div id="nav" data-section="nav">
        <NavbarLayoutFloatingInline
          brandName="Gaststätte Haubner"
          navItems={[
            { name: "Startseite", id: "hero" },
            { name: "Über uns", id: "about" },
            { name: "Öffnungszeiten", id: "hours" },
            { name: "Kontakt", id: "contact" }
          ]}
          button={{ text: "Reservieren", href: "#reservation" }}
        />
      </div>

      <div id="hero" data-section="hero">
        <HeroSplitKpi
          title="Fränkische Küche in gemütlicher Atmosphäre"
          description="Genießen Sie traditionelle, hochwertige fränkische Spezialitäten in der Gaststätte Haubner. Familiengeführt seit Generationen – frisch zubereitet, regional authentic und herzlich willkommen."
          tag="Willkommen bei Haubner"
          tagIcon={Heart}
          tagAnimation="slide-up"
          buttons={[
            { text: "Jetzt reservieren", href: "#reservation" },
            { text: "Tisch anfragen", href: "#contact" }
          ]}
          buttonAnimation="slide-up"
          imageSrc="http://img.b2bpic.net/free-photo/candlelight-dinner-glass-juice_140725-9361.jpg"
          imageAlt="Gemütliches Gaststätteninterieur mit traditionellem Ambiente"
          mediaAnimation="blur-reveal"
          imagePosition="right"
          kpis={[
            { value: "Mo–Do", label: "Geschlossen" },
            { value: "Fr–Sa", label: "17:00–22:00" },
            { value: "So", label: "11:30–14:00 & 17:00–21:00" }
          ]}
          enableKpiAnimation={true}
          ariaLabel="Hero section with opening hours and reservation buttons"
          background={{ variant: "plain" }}
        />
      </div>

      <div id="trust" data-section="trust">
        <SocialProofOne
          names={["Regionale Küche", "Frisch zubereitet", "", "Gemütliches Ambiente"]}
          title="Warum Gaststätte Haubner?"
          description="Wir stehen für Qualität, Tradition und echte fränkische Gastlichkeit. Jedes Gericht wird mit sorgfalt und den besten regionalen Zutaten zubereitet."
          textboxLayout="default"
          useInvertedBackground={false}
          speed={40}
          showCard={true}
          ariaLabel="Trust indicators section"
        />
      </div>

      <div id="specialties" data-section="specialties">
        <ProductCardOne
          title="Fränkische Spezialitäten"
          description="Unsere beliebtesten Gerichte – traditionell, authentisch und köstlich."
          tag="Unsere Favoriten"
          tagIcon={Utensils}
          tagAnimation="slide-up"
          products={[
            {
              id: "schäufele",              name: "Schäufele",              price: "ab €18,00",              imageSrc: "http://img.b2bpic.net/free-photo/high-angle-steak-plate-with-chips-beer_23-2148754938.jpg",              imageAlt: "Traditionelles Schäufele – geröstetes Schweinefleisch"
            },
            {
              id: "braten",              name: "Braten",              price: "ab €16,00",              imageSrc: "http://img.b2bpic.net/free-photo/traditional-irish-soda-bread-with-raisins-freshly-baked_123827-37320.jpg",              imageAlt: "Authentischer deutscher Braten mit Soße"
            },
            {
              id: "knödel",              name: "Knödel",              price: "ab €12,00",              imageSrc: "http://img.b2bpic.net/free-photo/delicious-sambal-dish-arrangement-with-copy-space_23-2149076078.jpg",              imageAlt: "Traditionelle deutsche Semmelknödel"
            }
          ]}
          gridVariant="uniform-all-items-equal"
          animationType="slide-up"
          textboxLayout="default"
          useInvertedBackground={true}
          buttons={[{ text: "Vollständige Speisekarte", href: "#" }]}
          buttonAnimation="slide-up"
          ariaLabel="Featured specialty dishes section"
        />
      </div>

      <div id="about" data-section="about">
        <TextAbout
          tag="Unsere Geschichte"
          tagIcon={BookOpen}
          tagAnimation="slide-up"
          title="Tradition trifft Qualität – Die Gaststätte Haubner"
          useInvertedBackground={false}
          buttons={[{ text: "Tisch reservieren", href: "#reservation" }]}
          buttonAnimation="slide-up"
          ariaLabel="About us section"
        />
      </div>

      <div id="hours" data-section="hours">
        <MetricCardOne
          title="Öffnungszeiten"
          description="Planen Sie Ihren Besuch bei uns – wir freuen uns auf Sie!"
          tag="Wann geöffnet?"
          tagIcon={Clock}
          tagAnimation="slide-up"
          gridVariant="uniform-all-items-equal"
          animationType="opacity"
          metrics={[
            {
              id: "weekday",              value: "Mo–Do",              title: "Montag - Donnerstag",              description: "Geschlossen ",              icon: X
            },
            {
              id: "weekend",              value: "Fr–Sa",              title: "Freitag & Samstag",              description: "17:00 – 22:00 Uhr – gemütliches Abendessen",              icon: Moon
            },
            {
              id: "sunday",              value: "Sonntag",              title: "Sonntags",              description: "11:30–14:00 & 17:00–21:00 – Mittagstisch & Abdendessen",              icon: Sun
            }
          ]}
          useInvertedBackground={true}
          ariaLabel="Opening hours section"
          textboxLayout="default"
        />
      </div>

      <div id="reservation" data-section="reservation">
        <ContactFaq
          ctaTitle="Reservierungen"
          ctaDescription="Sichern Sie sich Ihren Tisch bei uns – telefonisch oder per Formular."
          ctaButton={{ text: "Jetzt anrufen: 09129 4279", href: "tel:+4991294279" }}
          ctaIcon={Phone}
          useInvertedBackground={false}
          animationType="slide-up"
          accordionAnimationType="smooth"
          showCard={true}
          faqs={[
            {
              id: "1",              title: "Wie kann ich einen Tisch reservieren?",              content: "Sie können uns direkt anrufen unter 09129 4279. Wir freuen uns auf Ihren Anruf!"
            },
            {
              id: "2",              title: "Bietet ihr Platz für Gruppen?",              content: "Ja, wir können Gruppen aufnehmen. Bitte kontaktieren Sie uns vorher, damit wir alles optimal vorbereiten können."
            },
            {
              id: "3",              title: "Gibt es eine Speisekarte für Vegetarier?",              content: "Selbstverständlich! Wir bieten auch vegetarische Optionen an. Teilen Sie uns Ihre Wünsche mit – wir sind flexibel."
            },
            {
              id: "4",              title: "Sind Kinder willkommen ",              content: "Ja, Kinder sind herzlich willkommen. Wir haben auch kinderfreundliche Gerichte auf der Speisekarte."
            }
          ]}
          ariaLabel="Contact and reservation section"
        />
      </div>

      <div id="atmosphere" data-section="atmosphere">
        <FeatureCardNine
          title="Atmosphäre & Ambiente"
          description="Ein Ort, an dem sich Tradition und Gemütlichkeit treffen – perfekt für jeden Anlass."
          tag="Entdecken Sie unseren Gastraum"
          tagIcon={Camera}
          tagAnimation="slide-up"
          features={[
            {
              id: 1,
              title: "Traditioneller Gastraum",              description: "Authentisches Flair mit moderner Küche – ein Ort zum Entspannen und Genießen.",              phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/young-happy-lady-presenting-gift-box-handsome-guy_23-2148016833.jpg", imageAlt: "elegant restaurant dining table setting" },
              phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/top-view-pretzels-with-beer-mustard_23-2148754966.jpg", imageAlt: "restaurant wooden tables traditional setup" }
            }
          ]}
          showStepNumbers={false}
          animationType="slide-up"
          textboxLayout="default"
          useInvertedBackground={false}
          ariaLabel="Atmosphere and ambiance feature section"
        />
      </div>

      <div id="testimonial" data-section="testimonial">
        <TestimonialCardTen
          title="Gästebewertungen"
          description="Das sagen unsere zufriedenen Gäste über uns..."
          tag="Stammgäste berichten"
          tagIcon={Star}
          tagAnimation="slide-up"
          textboxLayout="default"
          useInvertedBackground={true}
          testimonials={[
            {
              id: "1",              title: "Authentic & Köstlich",              quote: "Die Schäufele schmeckt wie bei Großmutter zuhause – absolut authentisch und hervorragend zubereitet!",              name: "Maria Schmidt",              role: "Stammgast"
            },
            {
              id: "2",              title: "Perfekter Ort für Familie",              quote: "Wir kommen regelmäßig mit der ganzen Familie. Das Personal ist herzlich, die Atmosphäre gemütlich, das Essen immer köstlich.",              name: "Thomas Müller",              role: "Familienbesucher"
            },
            {
              id: "3",              title: "Hochwertige Regionalität",              quote: "Man merkt, dass hier noch handwerklich gekocht wird. Regionale Zutaten, traditionelle Rezepte – genau das wir wir lieben.",              name: "Anna Weber",              role: "Gourmet-Gast"
            },
            {
              id: "4",              title: "Persönlicher Service",              quote: "Der Service ist ausgezeichnet – freundlich, aufmerksam und immer mit einem Lächeln. Gerne wieder!",              name: "Klaus Fischer",              role: "Wochenendbesucher"
            }
          ]}
          buttons={[{ text: "Tisch reservieren", href: "#reservation" }]}
          buttonAnimation="slide-up"
          ariaLabel="Guest testimonials section"
        />
      </div>

      <div id="contact" data-section="contact">
        <FaqSplitText
          sideTitle="Kontakt & Lage"
          sideDescription="Besuchen Sie uns in der Alten Salzstraße – zentral gelegen und leicht zu finden."
          buttons={[{ text: "Anfahrt planen", href: "#" }]}
          buttonAnimation="slide-up"
          textPosition="left"
          useInvertedBackground={false}
          showCard={true}
          faqsAnimation="slide-up"
          faqs={[
            {
              id: "1",              title: "Adresse",              content: "Gaststätte Haubner, Alte Salzstraße 14, 90530 [Stadt]"
            },
            {
              id: "2",              title: "Telefon",              content: "09129 4279 – Rufen Sie uns gerne an!"
            },
            {
              id: "3",              title: "Parkplätze",              content: "Kostenloses Parken in der unmittelbaren Umgebung verfügbar."
            },
            {
              id: "4",              title: "Barrierefreiheit",              content: "Unser Restaurant ist barrierefrei zugänglich. Bei Fragen kontaktieren Sie uns gerne."
            }
          ]}
          ariaLabel="Contact and location information section"
        />
      </div>

      <div id="footer" data-section="footer">
        <FooterLogoReveal
          logoText="Gaststätte Haubner"
          leftLink={{ text: "Startseite", href: "#hero" }}
          rightLink={{ text: "Reservierungen: 09129 4279", href: "tel:+4991294279" }}
          ariaLabel="Site footer"
        />
      </div>
    </ThemeProvider>
  );
}