mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-25 17:45:53 +01:00
P2 UI for per-user document stars (parent PAP-14541, on top of P1
PAP-14810 server/contract). All star affordances reuse StarToggle and the
resource-membership optimistic machinery.
- api/hooks: add resourceMembershipsApi.updateDocument (PUT
.../resource-memberships/me/documents/:id { starred }) and a
useDocumentStarMutation hook with an applyDocumentStarChange optimistic
update over starredDocumentIds/documentStarredAt.
- IssueDocumentsSection: StarToggle in the DocumentFrameHeader actionsSlot
(covers IssueDetail, CaseDetail, SkillStudio).
- ArtifactCard: star on document-source cards (id decodes to document:<id>),
visible-at-rest when starred, hover-reveal otherwise.
- ArtifactsPanel DocumentViewer: star in the viewer header.
- Artifacts page: URL-driven Starred tab (?starred=1) that composes with q,
resets kind + grouping (documents-only V1), with a dedicated empty state.
Tests: artifacts query serialization, Starred-tab param wiring, and the
optimistic flip + rollback for the document star mutation. UI typecheck green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@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.