···
class _PostDetailScreenState extends State<PostDetailScreen> {
final ScrollController _scrollController = ScrollController();
String _currentSort = 'hot';
···
-
onCommentTap: _openCommentComposer,
final authProvider = context.read<AuthProvider>();
···
/// Open the reply screen for composing a comment
···
commentsProvider.currentTimeNotifier,
// Comments header with sort dropdown
commentCount: comments.length,
currentSort: _currentSort,
onSortChanged: _onSortChanged,
···
···
class _PostDetailScreenState extends State<PostDetailScreen> {
final ScrollController _scrollController = ScrollController();
+
final GlobalKey _commentsHeaderKey = GlobalKey();
String _currentSort = 'hot';
···
+
onCommentInputTap: _openCommentComposer,
+
onCommentCountTap: _scrollToComments,
final authProvider = context.read<AuthProvider>();
···
+
/// Scroll to the comments section
+
void _scrollToComments() {
+
final context = _commentsHeaderKey.currentContext;
+
Scrollable.ensureVisible(
+
duration: const Duration(milliseconds: 300),
+
curve: Curves.easeInOut,
/// Open the reply screen for composing a comment
···
commentsProvider.currentTimeNotifier,
+
// Visual divider before comments section
+
margin: const EdgeInsets.symmetric(vertical: 16),
+
color: AppColors.border,
// Comments header with sort dropdown
+
key: _commentsHeaderKey,
commentCount: comments.length,
currentSort: _currentSort,
onSortChanged: _onSortChanged,
···
+
showAuthorFooter: true,
+
titleFontWeight: FontWeight.w600,