feat(ui): add "See All" link to agent detail Recent Issues section

Remove the issue count from the Recent Issues heading and add a
"See All →" link that navigates to /issues?assignee={agentId}.
The Issues page now reads the assignee query param and pre-filters
the list to show that agent's issues.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Forgotten
2026-02-23 15:13:59 -06:00
parent 0db2795d1d
commit f800374f3a
3 changed files with 17 additions and 2 deletions

View File

@@ -125,6 +125,7 @@ interface IssuesListProps {
liveIssueIds?: Set<string>;
projectId?: string;
viewStateKey: string;
initialAssignees?: string[];
onUpdateIssue: (id: string, data: Record<string, unknown>) => void;
}
@@ -136,11 +137,17 @@ export function IssuesList({
liveIssueIds,
projectId,
viewStateKey,
initialAssignees,
onUpdateIssue,
}: IssuesListProps) {
const { openNewIssue } = useDialog();
const [viewState, setViewState] = useState<IssueViewState>(() => getViewState(viewStateKey));
const [viewState, setViewState] = useState<IssueViewState>(() => {
if (initialAssignees) {
return { ...defaultViewState, assignees: initialAssignees, statuses: [] };
}
return getViewState(viewStateKey);
});
const updateView = useCallback((patch: Partial<IssueViewState>) => {
setViewState((prev) => {

View File

@@ -708,7 +708,12 @@ function AgentOverview({
{/* Recent Issues */}
<div className="space-y-3">
<h3 className="text-sm font-medium">Recent Issues ({assignedIssues.length})</h3>
<div className="flex items-center justify-between">
<h3 className="text-sm font-medium">Recent Issues</h3>
<Link to={`/issues?assignee=${agentId}`} className="text-xs text-muted-foreground hover:text-foreground transition-colors">
See All &rarr;
</Link>
</div>
{assignedIssues.length === 0 ? (
<p className="text-sm text-muted-foreground">No assigned issues.</p>
) : (

View File

@@ -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 })}
/>
);