hero-section.tsx 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. "use client"
  2. import { Button } from "@/components/ui/button"
  3. import { ArrowRightIcon, PlayIcon } from "lucide-react"
  4. import ImageComparison from "@/components/image-comparison"
  5. import { useTranslations } from "next-intl"
  6. interface HeroSectionProps {
  7. locale: string
  8. }
  9. export default function HeroSection({ locale }: HeroSectionProps) {
  10. const t = useTranslations("hero")
  11. const scrollToSection = (sectionId: string) => {
  12. const element = document.getElementById(sectionId)
  13. if (element) {
  14. element.scrollIntoView({ behavior: "smooth" })
  15. }
  16. }
  17. return (
  18. <section className="pt-24 pb-12 md:pt-32 md:pb-20">
  19. <div className="container mx-auto px-4 sm:px-6 lg:px-8">
  20. <div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
  21. {/* Left Content */}
  22. <div className="space-y-8">
  23. <div className="space-y-4">
  24. <h1 className="text-4xl md:text-5xl lg:text-6xl font-bold leading-tight">
  25. <span className="bg-gradient-to-r from-purple-600 via-blue-600 to-cyan-600 bg-clip-text text-transparent">
  26. {t("headline")}
  27. </span>
  28. </h1>
  29. <p className="text-xl text-muted-foreground leading-relaxed">{t("subheadline")}</p>
  30. </div>
  31. <div className="flex flex-col sm:flex-row gap-4">
  32. <Button
  33. size="lg"
  34. onClick={() => scrollToSection("demo")}
  35. className="bg-gradient-to-r from-purple-600 to-blue-600 hover:from-purple-700 hover:to-blue-700 text-white"
  36. >
  37. <PlayIcon className="mr-2 h-5 w-5" />
  38. {t("tryDemo")}
  39. </Button>
  40. <Button size="lg" variant="outline" onClick={() => scrollToSection("pricing")}>
  41. {t("viewPricing")}
  42. <ArrowRightIcon className="ml-2 h-5 w-5" />
  43. </Button>
  44. </div>
  45. {/* Stats */}
  46. <div className="flex flex-wrap gap-8 pt-8">
  47. <div className="text-center">
  48. <div className="text-3xl font-bold text-primary">1M+</div>
  49. <div className="text-sm text-muted-foreground">{t("imagesProcessed")}</div>
  50. </div>
  51. <div className="text-center">
  52. <div className="text-3xl font-bold text-primary">50K+</div>
  53. <div className="text-sm text-muted-foreground">{t("happyUsers")}</div>
  54. </div>
  55. <div className="text-center">
  56. <div className="text-3xl font-bold text-primary">99.9%</div>
  57. <div className="text-sm text-muted-foreground">{t("uptime")}</div>
  58. </div>
  59. </div>
  60. </div>
  61. {/* Right Content - Image Comparison */}
  62. <div className="relative">
  63. <ImageComparison locale={locale} />
  64. </div>
  65. </div>
  66. </div>
  67. </section>
  68. )
  69. }