"use client"

import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple'
import HeroBillboard from '@/components/sections/hero/HeroBillboard'
import FeatureCardOne from '@/components/sections/feature/FeatureCardOne'
import MetricCardThree from '@/components/sections/metrics/MetricCardThree'
import AboutMetric from '@/components/sections/about/AboutMetric'
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix'
import ContactCenter from '@/components/sections/contact/ContactCenter'
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'
import { Zap, Shield, Users, Code, Layers, Rocket, Gauge, Globe, Quote } from 'lucide-react'

export default function NestJSPage() {
  return (
    <ThemeProvider
      defaultButtonVariant="hover-magnetic"
      defaultTextAnimation="entrance-slide"
      borderRadius="rounded"
      contentWidth="medium"
      sizing="mediumLarge"
      background="aurora"
      cardStyle="glass-elevated"
      primaryButtonStyle="gradient"
      secondaryButtonStyle="glass"
      headingFontWeight="semibold"
    >
      <div id="nav" data-section="nav">
        <NavbarStyleApple
          navItems={[
            { name: 'Documentation', id: 'documentation' },
            { name: 'Enterprise', id: 'enterprise' },
            { name: 'Resources', id: 'resources' },
            { name: 'Support', id: 'support' },
            { name: 'Contact', id: 'contact' }
          ]}
          brandName="NestJS"
        />
      </div>

      <div id="hero" data-section="hero">
        <HeroBillboard
          background={{ variant: 'sparkles-gradient' }}
          title="A progressive Node.js framework"
          description="Build efficient, reliable and scalable server-side applications with NestJS"
          tag="Hello, nest!"
          tagIcon={Rocket}
          imageSrc="https://nestjs.com/logo-small-gradient.0ed287ce.svg"
          imageAlt="NestJS Logo"
          buttons={[
            { text: 'Documentation', href: 'https://docs.nestjs.com' },
            { text: 'Source code', href: 'https://github.com/nestjs/nest' }
          ]}
        />
      </div>

      <div id="features" data-section="features">
        <FeatureCardOne
          title="Everything you need"
          description="Build robust, powerful, and scalable server-side applications and stop reinventing the wheel"
          textboxLayout="default"
          gridVariant="uniform-all-items-equal"
          animationType="slide-up"
          useInvertedBackground="invertDefault"
          features={[
            {
              title: "Extensible",              description: "Provides unparalleled flexibility through its meticulously crafted modular architecture",              imageSrc: "https://nestjs.com/3d.cfabe065.svg",              imageAlt: "Extensible architecture"
            },
            {
              title: "Versatile", 
              description: "Serves as a robust, elegant, and well-structured foundation for all kinds of server-side applications",              imageSrc: "https://nestjs.com/magic-wand.ff01fe1d.svg",              imageAlt: "Versatile framework"
            },
            {
              title: "Progressive",              description: "Introduces design patterns and well-established solutions to the Node.js landscape",              imageSrc: "https://nestjs.com/quality.d1d04ce8.svg", 
              imageAlt: "Progressive development"
            },
            {
              title: "Modularity",              description: "Streamline upkeep by organizing applications into self-contained modules",              imageSrc: "https://nestjs.com/puzzle.c9dfc495.svg",              imageAlt: "Modular design"
            }
          ]}
        />
      </div>

      <div id="benefits" data-section="benefits">
        <FeatureCardOne
          title="Core Benefits"
          description="Discover the key advantages that make NestJS the preferred choice for modern backend development"
          textboxLayout="default"
          gridVariant="uniform-all-items-equal"
          animationType="slide-up"
          useInvertedBackground="noInvert"
          features={[
            {
              title: "Type Safety",              description: "Mitigate errors through the robust type safety features of TypeScript",              imageSrc: "https://nestjs.com/type-safety.34453790.svg",              imageAlt: "TypeScript type safety"
            },
            {
              title: "Dependency Injection",              description: "Elevate testability with a sophisticated dependency injection system",              imageSrc: "https://nestjs.com/di.a0b12f44.svg",              imageAlt: "Dependency injection"
            },
            {
              title: "Rich Ecosystem",              description: "Explore a rich ecosystem offering versatile tools to craft solutions tailored to your needs",              imageSrc: "https://nestjs.com/ecosystem.eaa69289.svg",              imageAlt: "Rich ecosystem"
            },
            {
              title: "Enterprise Ready",              description: "Trusted by thousands of leading companies and organizations worldwide",              imageSrc: "https://nestjs.com/chip.3b61cda8.svg",              imageAlt: "Enterprise ready"
            }
          ]}
        />
      </div>

      <div id="metrics" data-section="metrics">
        <MetricCardThree
          title="Performance Metrics"
          description="See how NestJS delivers exceptional results for developers and organizations"
          textboxLayout="default"
          animationType="slide-up"
          useInvertedBackground="invertDefault"
          metrics={[
            {
              id: "1",              icon: Users,
              title: "Active Developers",              value: "500K+"
            },
            {
              id: "2", 
              icon: Rocket,
              title: "GitHub Stars",              value: "65K+"
            },
            {
              id: "3",              icon: Globe,
              title: "Downloads/Month",              value: "10M+"
            },
            {
              id: "4",              icon: Shield,
              title: "Enterprise Clients",              value: "1000+"
            }
          ]}
        />
      </div>

      <div id="about" data-section="about">
        <AboutMetric
          title="At NestJS, we redefine backend development by empowering developers to build scalable, maintainable applications with ease"
          useInvertedBackground="noInvert"
          metrics={[
            {
              icon: Code,
              label: "Lines of Code Saved",              value: "1M+"
            },
            {
              icon: Zap,
              label: "Performance Boost",              value: "300%"
            },
            {
              icon: Layers,
              label: "Microservices Built",              value: "50K+"
            },
            {
              icon: Gauge,
              label: "Dev Experience Score",              value: "9.8/10"
            }
          ]}
        />
      </div>

      <div id="testimonials" data-section="testimonials">
        <TestimonialCardSix
          title="What Developers Say"
          description="Hear from the community of developers who trust NestJS for their backend applications"
          textboxLayout="default"
          animationType="slide-up"
          useInvertedBackground="invertDefault"
          testimonials={[
            {
              id: "1",              name: "Sarah Johnson",              handle: "@sarahdev",              testimonial: "NestJS has revolutionized how we build backend services. The TypeScript integration and modular architecture are game-changers.",              icon: Quote
            },
            {
              id: "2", 
              name: "Michael Chen",              handle: "@mchen_dev",              testimonial: "The dependency injection system in NestJS makes testing so much easier. Our code quality has improved dramatically.",              icon: Quote
            },
            {
              id: "3",              name: "Alex Rodriguez",              handle: "@alexrod",              testimonial: "From REST APIs to GraphQL, NestJS handles everything beautifully. It's become our go-to framework for all projects.",              icon: Quote
            },
            {
              id: "4",              name: "Emma Davis",              handle: "@emmabuilds", 
              testimonial: "The learning curve was smooth and the documentation is excellent. NestJS makes complex architectures manageable.",              icon: Quote
            },
            {
              id: "5",              name: "David Kim",              handle: "@davidk_code",              testimonial: "Scalability is no longer a concern with NestJS. We've built microservices that handle millions of requests effortlessly.",              icon: Quote
            },
            {
              id: "6",              name: "Lisa Wang",              handle: "@lisa_codes",              testimonial: "The enterprise features and support make NestJS perfect for large-scale applications. Highly recommended!",              icon: Quote
            },
            {
              id: "7",              name: "James Wilson",              handle: "@jwilson_dev",              testimonial: "NestJS brings structure and elegance to Node.js development. It's like having Rails for the Node.js ecosystem.",              icon: Quote
            },
            {
              id: "8",              name: "Maria Garcia",              handle: "@maria_tech",              testimonial: "The decorator-based approach and powerful CLI tools make development incredibly productive and enjoyable.",              icon: Quote
            }
          ]}
        />
      </div>

      <div id="contact" data-section="contact">
        <ContactCenter
          tag="Newsletter"
          tagIcon={Rocket}
          title="Stay up to date with NestJS"
          description="Subscribe to stay up to date with the latest Nest updates, features, and videos!"
          useInvertedBackground="noInvert"
          buttonText="Subscribe"
          inputPlaceholder="Enter your email"
          termsText="By subscribing, you agree to receive updates from the NestJS team."
          onSubmit={(email) => console.log('Newsletter subscription:', email)}
        />
      </div>

      <div id="footer" data-section="footer">
        <FooterBaseCard
          logoText="NestJS"
          copyrightText="Copyright © 2017-2026 Kamil Mysliwiec"
          columns={[
            {
              title: "Framework",              items: [
                { label: "Documentation", href: "https://docs.nestjs.com" },
                { label: "Getting Started", href: "https://docs.nestjs.com/first-steps" },
                { label: "Examples", href: "https://github.com/nestjs/nest/tree/master/sample" },
                { label: "CLI", href: "https://docs.nestjs.com/cli/overview" }
              ]
            },
            {
              title: "Community",              items: [
                { label: "GitHub", href: "https://github.com/nestjs/nest" },
                { label: "Discord", href: "https://discord.gg/G7Qnnhy" },
                { label: "Twitter", href: "https://twitter.com/nestframework" },
                { label: "Reddit", href: "https://www.reddit.com/r/Nestjs_framework/" }
              ]
            },
            {
              title: "Enterprise",              items: [
                { label: "Support", href: "https://enterprise.nestjs.com" },
                { label: "Consulting", href: "https://trilon.io" },
                { label: "Training", href: "https://courses.nestjs.com" },
                { label: "Official Courses", href: "https://courses.nestjs.com" }
              ]
            }
          ]}
        />
      </div>
    </ThemeProvider>
  )
}
