Files
PaperClipAI/ui
DottaandPaperclip 04c7907ff5 feat(artifacts): grouped /artifacts UI with URL state (PAP-10444)
Add a group-by control (None / Task / Parent task) to the company
Artifacts page and drive grouping, selected stack, media filter, and
search entirely from URL params so every view is shareable and
reloadable.

- ui/src/api/artifacts.ts: serialize groupBy/groupIssueId; preserve
  groups/selectedGroup in the normalized envelope.
- ui/src/lib/queryKeys.ts: key artifact queries by groupBy/groupIssueId.
- ui/src/components/artifacts/ArtifactGroupCard.tsx: new stack card with
  count metadata, count-only badge, and a stack effect when count > 1.
- ui/src/components/artifacts/ArtifactCard.tsx: export ArtifactPreview so
  group cards reuse identical previews.
- ui/src/pages/Artifacts.tsx: URL-backed kind/q/groupBy/groupIssueId,
  group control, stack-list and selected-stack rendering, back
  affordance, breadcrumb awareness, filter/search preservation.
- Tests: query serialization, group-control navigation, stack rendering,
  selected-stack restore, filter preservation, and ArtifactGroupCard
  stack/count/link coverage.

Builds on the shared/server grouping contract (PAP-10443).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-06 13:47:53 +00:00
..

@paperclipai/ui

Published static assets for the Paperclip board UI.

What gets published

The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.

Storybook

Storybook config, stories, and fixtures live under ui/storybook/.

pnpm --filter @paperclipai/ui storybook
pnpm --filter @paperclipai/ui build-storybook

Typical use

Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.