"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()
// Embla Carousel for Latest Jobs
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 Image with Overlay */}
Encontre a Vaga de TI
dos Seus Sonhos.
Conectamos você com as melhores empresas e techs.
{/* Search Section */}
{/* Latest Jobs Section - WITH CAROUSEL */}
Últimas Vagas Cadastradas
{mockJobs.slice(0, 8).map((job, index) => (
))}
{/* More Jobs Section */}
Mais Vagas
{mockJobs.slice(0, 8).map((job, index) => (
))}
{/* Bottom CTA Section */}
{/* Content */}
Milhares de oportunidades
esperam você.
Conecte cargos, talentos, tomada de ações de vagas.
{/* Image Background for CTA */}
{/* Gradient Overlay to blend with dark background */}
)
}