diff --git a/ui/src/components/artifacts/ArtifactGroupCard.test.tsx b/ui/src/components/artifacts/ArtifactGroupCard.test.tsx index aff9f5dc5c2..fbff8193160 100644 --- a/ui/src/components/artifacts/ArtifactGroupCard.test.tsx +++ b/ui/src/components/artifacts/ArtifactGroupCard.test.tsx @@ -14,7 +14,7 @@ vi.mock("@/context/CompanyContext", () => ({ function sampleArtifact(overrides: Partial = {}): CompanyArtifact { return { id: "artifact-1", - source: "image", + source: "attachment", mediaKind: "image", title: "Hero shot", previewText: null, diff --git a/ui/src/pages/Artifacts.test.tsx b/ui/src/pages/Artifacts.test.tsx index 3e36a498932..b01d66ca32d 100644 --- a/ui/src/pages/Artifacts.test.tsx +++ b/ui/src/pages/Artifacts.test.tsx @@ -360,6 +360,7 @@ describe("Artifacts page", () => { expect(card).not.toBeNull(); expect(card.getAttribute("data-count")).toBe("4"); expect(card.getAttribute("data-stacked")).toBe("true"); + expect(card.getAttribute("href")).toBe("/artifacts?groupIssueId=issue-1"); expect(card.textContent).toContain("4 artifacts"); }); @@ -389,6 +390,9 @@ describe("Artifacts page", () => { cursor: undefined, }); expect(container.querySelector('[data-testid="artifact-stack-back"]')).not.toBeNull(); + expect( + (container.querySelector('[data-testid="artifact-stack-back"]') as HTMLAnchorElement).getAttribute("href"), + ).toBe("/artifacts"); expect(container.textContent).toContain("Stacked Artifact"); expect(container.querySelector('[data-testid="artifact-card"]')).not.toBeNull(); }); diff --git a/ui/src/pages/Artifacts.tsx b/ui/src/pages/Artifacts.tsx index c97557fa410..48cef7b3f1c 100644 --- a/ui/src/pages/Artifacts.tsx +++ b/ui/src/pages/Artifacts.tsx @@ -152,15 +152,20 @@ export function Artifacts() { const stackTo = useCallback( (issueId: string): To => buildTo((next) => { - if (groupBy !== "none") next.set("groupBy", groupBy); + if (groupBy === "task") next.delete("groupBy"); + else if (groupBy !== "none") next.set("groupBy", groupBy); next.set("groupIssueId", issueId); }), [buildTo, groupBy], ); const backToStacksTo = useMemo( - () => buildTo((next) => next.delete("groupIssueId")), - [buildTo], + () => + buildTo((next) => { + if (groupBy === "task") next.delete("groupBy"); + next.delete("groupIssueId"); + }), + [buildTo, groupBy], ); const {