Overview
Add a comment section to each genesis and plot page, similar to Wattpad chapter comments.
Components
CommentSection component
- Text input with "Write a comment..." placeholder
- Submit requires connected wallet (sign message for auth, NOT a tx)
- Comment list with pagination (20 per page, "Show more" button)
- Each comment shows: commenter address (truncated), content, timestamp
- Newest first ordering
API routes
- GET /api/comments?storylineId=X&plotIndex=Y&page=1&limit=20
- Returns paginated comments
- Include total count for pagination
- POST /api/comments
- Body: { storylineId, plotIndex, content, signature }
- Verify wallet signature server-side
- Rate limit: max 1 comment per address per plot per minute
Where it appears
- Genesis page (main story page): plotIndex = 0
- Each plot detail page: plotIndex = N
Moderation
- Use existing
hidden column in comments table
- Admin hide/unhide routes (extend existing moderation pattern from plots)
Acceptance Criteria
Blocked by: #185 (DB schema for comments table)
Part of: Phase 9 Epic (#183)
Overview
Add a comment section to each genesis and plot page, similar to Wattpad chapter comments.
Components
CommentSection component
API routes
Where it appears
Moderation
hiddencolumn in comments tableAcceptance Criteria
commentstableBlocked by: #185 (DB schema for comments table)
Part of: Phase 9 Epic (#183)