code
Clone this repository
https://tangled.org/bretton.dev/coves-mobile
git@knot.bretton.dev:bretton.dev/coves-mobile
For self-hosted knots, clone URLs may differ based on your setup.
- Full post detail view with nested comment display
- Pull-to-refresh support for comments
- Sort dropdown integration (Hot/Top/New)
- Infinite scroll pagination with scroll listener
- Loading and error states with retry functionality
- Performance optimized with ValueListenableBuilder
- Prevents unnecessary rebuilds via _PostHeader and _CommentItem wrappers
Features:
- Post card displayed without navigation (disableNavigation flag)
- Real-time comment sorting with error recovery
- Proper safe area handling (top and bottom)
- Error snackbar with retry action on sort failures
- NotFoundError screen for missing posts
- Integrates with CommentsProvider and VoteProvider
Performance optimizations:
- Timer updates only rebuild time-dependent widgets
- Post header doesn't rebuild when comments change
- Individual comment items rebuild independently
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
CommentCard:
- Display individual comments with author info and content
- Colorful threading indicators (6-color palette) showing nesting depth
- Optimistic voting via VoteProvider integration
- Right-aligned vote button with proper accessibility labels
- Custom painter for vertical threading lines (2px stroke, 6px spacing)
- Dynamic left padding based on nesting depth
CommentThread:
- Recursive rendering of nested comment replies
- Proper depth tracking and max depth limiting
- "Load more replies" button support
CommentsHeader:
- Comment count display with pluralization
- Sort dropdown (Hot/Top/New) with visual feedback
- Empty state handling
Visual features:
- Threading lines extend through full comment height
- Border dividers respect threading indicator spacing
- Subtle author name and timestamp styling (50% opacity)
- Consistent spacing (6px per level + 14px base padding)
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive state management for comments with pagination
- Implement sort options (hot/top/new) with pending refresh mechanism
- Support optimistic vote integration via VoteProvider
- Add time update mechanism with ValueNotifier for efficient rebuilds
- Handle auth state changes and automatic vote state loading
- Implement error recovery with rollback on sort change failures
Features:
- Cursor-based pagination for infinite scroll
- Automatic refresh scheduling when sort changes during loading
- Clean separation of concerns with proper provider lifecycle
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add CommentView, ThreadViewComment, and CommentsResponse models
- Implement getComments API endpoint in CovesApiService
- Support optional Dio injection for testing
- Handle nested comment threads with proper JSON parsing
- Add support for comment stats, viewer state, and parent tracking
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update CLAUDE.md with Flutter PR review guidelines
- Regenerate macOS plugin registrant
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Dependencies added/updated:
- video_player: ^2.8.7 (pinned for stability)
- http_mock_adapter: ^0.6.1 (dev, for testing)
- Removed chewie: ^1.7.0 (unused)
Configuration fixes:
- Moved http to dev_dependencies (was misplaced)
- Fixed YAML syntax error
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>