mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-25 17:45:53 +01:00
Implement the reply-to-comment thread UI per the reply-to-comment plan (design D3) against the
P2 replyTo types/API:
- Reply icon button (hover-reveal on desktop, always-on for touch) in each
non-deleted, persisted comment's toolbar.
- Composer reply chip with accent bar, "Replying to {author}", clamped
excerpt, and X; Escape clears when the editor is empty; target persists
with the localStorage draft (debounced) and survives reload.
- Sends metadata.replyTo.commentId through issuesApi.addComment; server
builds the authoritative snapshot.
- Sent replies render a compact quoted header (clickable → scroll+highlight
original) with an "Original comment deleted" tombstone when the target is
soft-deleted.
- Optimistic quote via a client-built replyTo snapshot on the addComment
mutation.
Shared helper lib (comment-reply.ts) is surface-agnostic. Export
IssueCommentReplyToMetadata from the shared barrel.
Co-Authored-By: Claude Opus 4.8 <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.