feat(web): add inline post editing for topics and replies (#134)
* feat(web): add inline post editing for topics and replies
Allow authors to edit their own topics and replies. Topics use a
dedicated /edit page with pre-populated form. Replies use inline
editing with MarkdownEditor directly in the ReplyCard.
- Add updateReply API client function and UpdateReplyInput type
- Add isEdited utility (30s threshold) to format.ts
- Add canEdit/onEdit props to TopicView with edit button
- Convert ReplyCard to client component with inline edit mode
- Wire canEdit through ReplyThread via currentUserDid prop
- Move TopicView rendering into TopicDetailClient for auth access
- Add author guard to edit page (only own posts)
- Add "(edited)" indicator on modified content
- Add comprehensive tests for all edit functionality
* fix(notifications): wait for auth before fetching notifications
The notifications page called getAccessToken() immediately on mount,
before the AuthProvider's silent refresh completed. This sent an empty
Bearer token, causing a 401 that displayed as "Failed to load
notifications." Wrap in ProtectedRoute and gate fetch on auth loading.
authored by