sojorn/sojorn_app/lib/widgets/video_comments_sheet.dart
Patrick Britton 93a2c45a92 feat: Reaction system for Quips feed + fix groups 500 + reduce jank
- Replace heart/like in Quips sidebar with full reaction system:
  tap = quick ❤️, long-press = full ReactionPicker dialog
- Add reactionPackageProvider (CDN → local assets → emoji fallback)
- Switch ReactionPicker to ConsumerStatefulWidget using provider
- Add CachedNetworkImage support in ReactionPicker + _ReactionIcon
- Fix CreateGroup handler: use 'privacy' column, drop non-existent
  'is_private'/'banner_url' columns (were causing 500 on group creation)
- Cache overlayJson parsing in QuipVideoItem initState/didUpdateWidget
  to eliminate double jsonDecode per build frame (was causing 174ms jank)
- Add post_hides table + HidePost handler + feed filtering
- Add showNavActions param to TraditionalQuipsSheet for clean Quips header

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 08:11:08 -06:00

41 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:timeago/timeago.dart' as timeago;
import '../models/post.dart';
import '../models/thread_node.dart';
import '../services/api_service.dart';
import '../theme/app_theme.dart';
import '../widgets/traditional_quips_sheet.dart';
/// Traditional video comments sheet (TikTok/Reddit style)
class VideoCommentsSheet extends StatefulWidget {
final String postId;
final int initialCommentCount;
final VoidCallback? onCommentPosted;
/// Set to false for Quips feed (hides Home/Chat/Search nav icons in header)
final bool showNavActions;
const VideoCommentsSheet({
super.key,
required this.postId,
this.initialCommentCount = 0,
this.onCommentPosted,
this.showNavActions = true,
});
@override
State<VideoCommentsSheet> createState() => _VideoCommentsSheetState();
}
class _VideoCommentsSheetState extends State<VideoCommentsSheet> {
@override
Widget build(BuildContext context) {
return TraditionalQuipsSheet(
postId: widget.postId,
initialQuipCount: widget.initialCommentCount,
onQuipPosted: widget.onCommentPosted,
showNavActions: widget.showNavActions,
);
}
}