"use client"; import { DashboardHeader } from "@/components/dashboard-header"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { mockApplications, mockJobs } from "@/lib/mock-data"; import { Search, Calendar, Building2, MapPin, ExternalLink, } from "lucide-react"; import { useState } from "react"; import Link from "next/link"; const statusMap = { pending: { label: "Pendente", variant: "secondary" as const }, reviewing: { label: "Em anĂ¡lise", variant: "default" as const }, interview: { label: "Entrevista", variant: "default" as const }, rejected: { label: "Rejeitado", variant: "destructive" as const }, accepted: { label: "Aceito", variant: "default" as const }, }; export default function CandidaturasPage() { const [searchTerm, setSearchTerm] = useState(""); const filteredApplications = mockApplications.filter( (app) => app.jobTitle.toLowerCase().includes(searchTerm.toLowerCase()) || app.company.toLowerCase().includes(searchTerm.toLowerCase()) ); return (

Minhas Candidaturas

Acompanhe o status das suas candidaturas

setSearchTerm(e.target.value)} className="pl-10" />
{/* Stats */}
{mockApplications.length}

Total

{ mockApplications.filter((a) => a.status === "reviewing") .length }

Em anĂ¡lise

{ mockApplications.filter((a) => a.status === "interview") .length }

Entrevistas

{ mockApplications.filter((a) => a.status === "pending") .length }

Pendentes

{/* Applications List */}
{filteredApplications.length > 0 ? ( filteredApplications.map((application) => { const job = mockJobs.find((j) => j.id === application.jobId); const status = statusMap[application.status]; return (
{application.jobTitle} {application.company}
{status.label}
Candidatura:{" "} {new Date(application.appliedAt).toLocaleDateString( "pt-BR" )}
{job && ( <>
{job.location}
)}
); }) ) : (

Nenhuma candidatura encontrada.

)}
); }