import { useNavigate } from 'react-router-dom'; import type { Project } from '@/types'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; interface ProjectsWidgetProps { projects: Project[]; } const statusColors: Record = { not_started: 'bg-gray-500/10 text-gray-500 border-gray-500/20', in_progress: 'bg-accent/10 text-accent border-accent/20', completed: 'bg-green-500/10 text-green-500 border-green-500/20', blocked: 'bg-red-500/10 text-red-500 border-red-500/20', review: 'bg-yellow-500/10 text-yellow-500 border-yellow-500/20', on_hold: 'bg-orange-500/10 text-orange-500 border-orange-500/20', }; export default function ProjectsWidget({ projects }: ProjectsWidgetProps) { const navigate = useNavigate(); return ( Active Projects {projects.length === 0 ? (

No active projects. Create one to get started!

) : (
{projects.map((project) => { const completedTasks = project.tasks?.filter((t) => t.status === 'completed').length || 0; const totalTasks = project.tasks?.length || 0; const progress = totalTasks > 0 ? (completedTasks / totalTasks) * 100 : 0; return (
navigate(`/projects/${project.id}`)} >

{project.name}

{project.status.replace('_', ' ')}
{totalTasks > 0 && (
Progress {completedTasks}/{totalTasks} tasks
)}
); })}
)} ); }