"use client" import { useState, useCallback, useEffect } from "react" import { Button } from "@/components/ui/button" import { mockJobs } from "@/lib/mock-data" import Link from "next/link" import { ArrowRight, CheckCircle2, ChevronLeft, ChevronRight } from "lucide-react" import Image from "next/image" import { motion } from "framer-motion" import { useTranslation } from "@/lib/i18n" import { Navbar } from "@/components/navbar" import { Footer } from "@/components/footer" import { HomeSearch } from "@/components/home-search" import { JobCard } from "@/components/job-card" import useEmblaCarousel from "embla-carousel-react" export default function Home() { const { t } = useTranslation() const [emblaRef, emblaApi] = useEmblaCarousel({ align: "start", loop: false, skipSnaps: false, dragFree: true }) const [prevBtnDisabled, setPrevBtnDisabled] = useState(true) const [nextBtnDisabled, setNextBtnDisabled] = useState(true) const scrollPrev = useCallback(() => { if (emblaApi) emblaApi.scrollPrev() }, [emblaApi]) const scrollNext = useCallback(() => { if (emblaApi) emblaApi.scrollNext() }, [emblaApi]) const onSelect = useCallback((emblaApi: any) => { setPrevBtnDisabled(!emblaApi.canScrollPrev()) setNextBtnDisabled(!emblaApi.canScrollNext()) }, []) useEffect(() => { if (!emblaApi) return onSelect(emblaApi) emblaApi.on("reInit", onSelect) emblaApi.on("select", onSelect) }, [emblaApi, onSelect]) return (
{/* Hero Section */}
Background
{t("home.hero.title")}
{t("home.hero.titleLine2")}
{t("home.hero.subtitle")}
{/* Search Section */}
{/* Latest Jobs Section */}

{t("home.featuredJobs.title")}

{mockJobs.slice(0, 8).map((job, index) => (
))}
{/* More Jobs Section */}

{t("home.moreJobs.title")}

{mockJobs.slice(0, 8).map((job, index) => ( ))}
{/* Bottom CTA Section */}

{t("home.cta.title")}

{t("home.cta.subtitle")}

Professional
) }