import { useEffect } from "react"; import { useQuery } from "@tanstack/react-query"; import { issuesApi } from "../api/issues"; import { useCompany } from "../context/CompanyContext"; import { useBreadcrumbs } from "../context/BreadcrumbContext"; import { queryKeys } from "../lib/queryKeys"; import { StatusIcon } from "../components/StatusIcon"; import { PriorityIcon } from "../components/PriorityIcon"; import { EntityRow } from "../components/EntityRow"; import { EmptyState } from "../components/EmptyState"; import { PageSkeleton } from "../components/PageSkeleton"; import { formatDate } from "../lib/utils"; import { ListTodo } from "lucide-react"; export function MyIssues() { const { selectedCompanyId } = useCompany(); const { setBreadcrumbs } = useBreadcrumbs(); useEffect(() => { setBreadcrumbs([{ label: "My Issues" }]); }, [setBreadcrumbs]); const { data: issues, isLoading, error } = useQuery({ queryKey: queryKeys.issues.list(selectedCompanyId!), queryFn: () => issuesApi.list(selectedCompanyId!), enabled: !!selectedCompanyId, }); if (!selectedCompanyId) { return ; } if (isLoading) { return ; } // Show issues that are not assigned (user-created or unassigned) const myIssues = (issues ?? []).filter( (i) => !i.assigneeAgentId && !["done", "cancelled"].includes(i.status) ); return (
{error &&

{error.message}

} {myIssues.length === 0 && ( )} {myIssues.length > 0 && (
{myIssues.map((issue) => ( } trailing={ {formatDate(issue.createdAt)} } /> ))}
)}
); }