diff --git a/ui/src/components/IssuesList.tsx b/ui/src/components/IssuesList.tsx index 0a465155..41fc53bc 100644 --- a/ui/src/components/IssuesList.tsx +++ b/ui/src/components/IssuesList.tsx @@ -125,6 +125,7 @@ interface IssuesListProps { liveIssueIds?: Set; projectId?: string; viewStateKey: string; + initialAssignees?: string[]; onUpdateIssue: (id: string, data: Record) => void; } @@ -136,11 +137,17 @@ export function IssuesList({ liveIssueIds, projectId, viewStateKey, + initialAssignees, onUpdateIssue, }: IssuesListProps) { const { openNewIssue } = useDialog(); - const [viewState, setViewState] = useState(() => getViewState(viewStateKey)); + const [viewState, setViewState] = useState(() => { + if (initialAssignees) { + return { ...defaultViewState, assignees: initialAssignees, statuses: [] }; + } + return getViewState(viewStateKey); + }); const updateView = useCallback((patch: Partial) => { setViewState((prev) => { diff --git a/ui/src/pages/AgentDetail.tsx b/ui/src/pages/AgentDetail.tsx index bb3d9951..f8f2addf 100644 --- a/ui/src/pages/AgentDetail.tsx +++ b/ui/src/pages/AgentDetail.tsx @@ -708,7 +708,12 @@ function AgentOverview({ {/* Recent Issues */}
-

Recent Issues ({assignedIssues.length})

+
+

Recent Issues

+ + See All → + +
{assignedIssues.length === 0 ? (

No assigned issues.

) : ( diff --git a/ui/src/pages/Issues.tsx b/ui/src/pages/Issues.tsx index aaf5c287..45cfd750 100644 --- a/ui/src/pages/Issues.tsx +++ b/ui/src/pages/Issues.tsx @@ -1,4 +1,5 @@ import { useEffect, useMemo } from "react"; +import { useSearchParams } from "react-router-dom"; import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { issuesApi } from "../api/issues"; import { agentsApi } from "../api/agents"; @@ -13,6 +14,7 @@ import { CircleDot } from "lucide-react"; export function Issues() { const { selectedCompanyId } = useCompany(); const { setBreadcrumbs } = useBreadcrumbs(); + const [searchParams] = useSearchParams(); const queryClient = useQueryClient(); const { data: agents } = useQuery({ @@ -66,6 +68,7 @@ export function Issues() { agents={agents} liveIssueIds={liveIssueIds} viewStateKey="paperclip:issues-view" + initialAssignees={searchParams.get("assignee") ? [searchParams.get("assignee")!] : undefined} onUpdateIssue={(id, data) => updateIssue.mutate({ id, data })} /> );