import { useCallback } from "react"; import { projectsApi } from "../api/projects"; import { useApi } from "../hooks/useApi"; import { formatDate } from "../lib/utils"; import { StatusBadge } from "../components/StatusBadge"; import { useCompany } from "../context/CompanyContext"; import { Card, CardContent } from "@/components/ui/card"; export function Projects() { const { selectedCompanyId } = useCompany(); const fetcher = useCallback(() => { if (!selectedCompanyId) return Promise.resolve([]); return projectsApi.list(selectedCompanyId); }, [selectedCompanyId]); const { data: projects, loading, error } = useApi(fetcher); if (!selectedCompanyId) { return

Select a company first.

; } return (

Projects

{loading &&

Loading...

} {error &&

{error.message}

} {projects && projects.length === 0 &&

No projects yet.

} {projects && projects.length > 0 && (
{projects.map((project) => (

{project.name}

{project.description && (

{project.description}

)} {project.targetDate && (

Target: {formatDate(project.targetDate)}

)}
))}
)}
); }