import { useCallback, useEffect } from "react"; import { activityApi } from "../api/activity"; import { useCompany } from "../context/CompanyContext"; import { useBreadcrumbs } from "../context/BreadcrumbContext"; import { useApi } from "../hooks/useApi"; import { EmptyState } from "../components/EmptyState"; import { timeAgo } from "../lib/timeAgo"; import { Badge } from "@/components/ui/badge"; import { History } from "lucide-react"; export function Activity() { const { selectedCompanyId } = useCompany(); const { setBreadcrumbs } = useBreadcrumbs(); useEffect(() => { setBreadcrumbs([{ label: "Activity" }]); }, [setBreadcrumbs]); const fetcher = useCallback(() => { if (!selectedCompanyId) return Promise.resolve([]); return activityApi.list(selectedCompanyId); }, [selectedCompanyId]); const { data, loading, error } = useApi(fetcher); if (!selectedCompanyId) { return ; } return (

Activity

{loading &&

Loading...

} {error &&

{error.message}

} {data && data.length === 0 && ( )} {data && data.length > 0 && (
{data.map((event) => (
{event.entityType} {event.action} {event.entityId.slice(0, 8)}
{timeAgo(event.createdAt)}
))}
)}
); }