import { Card, CardContent, CardHeader, CardTitle } from "@workspace/ui/components/card" import { Button } from "@workspace/ui/components/button" import { Badge } from "@workspace/ui/components/badge" import { Separator } from "@workspace/ui/components/separator" import { FileText, Clock, CheckCircle, XCircle, AlertCircle, Building2, Calendar, MapPin, DollarSign, Eye, Download, Share2 } from "lucide-react" // Mock data for applications - in real app this would come from database const mockApplications = [ { id: 1, jobTitle: "Software Engineer Intern", company: "TechCorp Solutions", status: "pending", appliedDate: "2024-01-15", deadline: "2024-02-15", location: "San Francisco, CA", salary: "$25/hour", resume: "Resume_v2.pdf" }, { id: 2, jobTitle: "Data Analyst", company: "DataFlow Inc", status: "reviewed", appliedDate: "2024-01-10", deadline: "2024-02-10", location: "New York, NY", salary: "$30/hour", resume: "Resume_v2.pdf" }, { id: 3, jobTitle: "Frontend Developer", company: "WebSolutions", status: "accepted", appliedDate: "2024-01-05", deadline: "2024-02-05", location: "Remote", salary: "$28/hour", resume: "Resume_v2.pdf" }, { id: 4, jobTitle: "Product Manager Intern", company: "InnovateTech", status: "rejected", appliedDate: "2024-01-01", deadline: "2024-02-01", location: "Seattle, WA", salary: "$32/hour", resume: "Resume_v2.pdf" } ] const getStatusConfig = (status: string) => { switch (status) { case 'pending': return { icon: Clock, color: 'bg-yellow-100 text-yellow-700', text: 'Pending Review' } case 'reviewed': return { icon: Eye, color: 'bg-blue-100 text-blue-700', text: 'Under Review' } case 'accepted': return { icon: CheckCircle, color: 'bg-green-100 text-green-700', text: 'Accepted' } case 'rejected': return { icon: XCircle, color: 'bg-red-100 text-red-700', text: 'Rejected' } default: return { icon: AlertCircle, color: 'bg-gray-100 text-gray-700', text: 'Unknown' } } } export default function ApplicationsPage() { const statusConfig = getStatusConfig('pending') const StatusIcon = statusConfig.icon // Calculate stats const totalApplications = mockApplications.length const pendingApplications = mockApplications.filter(app => app.status === 'pending').length const acceptedApplications = mockApplications.filter(app => app.status === 'accepted').length const rejectedApplications = mockApplications.filter(app => app.status === 'rejected').length return (
Track your job applications and their status
Total Applications
{totalApplications}
Pending Review
{pendingApplications}
Accepted
{acceptedApplications}
Rejected
{rejectedApplications}
{application.company}
Start applying to jobs to see your applications here