From 96b4142b3457ffde1205eac740a0efbd676f3edf Mon Sep 17 00:00:00 2001 From: Kelrap <99418823+Kelrap@users.noreply.github.com> Date: Thu, 11 Sep 2025 11:45:36 -0400 Subject: [PATCH] Set thumbVisibility true for grammar activity scrolling (#3942) * Set thumbVisibility true for grammar activity scrolling * always show scrollbar --------- Co-authored-by: ggurdin Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com> --- .../reading_assistance_input_bar.dart | 26 ++++++++++++++++--- .../multiple_choice_activity.dart | 9 +++---- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart b/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart index a597ea356..8ee5e110d 100644 --- a/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart +++ b/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart @@ -12,7 +12,7 @@ import 'package:fluffychat/pangea/toolbar/widgets/practice_mode_buttons.dart'; const double minContentHeight = 120; -class ReadingAssistanceInputBar extends StatelessWidget { +class ReadingAssistanceInputBar extends StatefulWidget { final ChatController controller; final MessageOverlayController overlayController; @@ -22,6 +22,21 @@ class ReadingAssistanceInputBar extends StatelessWidget { super.key, }); + @override + ReadingAssistanceInputBarState createState() => + ReadingAssistanceInputBarState(); +} + +class ReadingAssistanceInputBarState extends State { + final ScrollController _scrollController = ScrollController(); + MessageOverlayController get overlayController => widget.overlayController; + + @override + void dispose() { + _scrollController.dispose(); + super.dispose(); + } + Widget barContent(BuildContext context) { Widget? content; final target = @@ -120,8 +135,13 @@ class ReadingAssistanceInputBar extends StatelessWidget { duration: const Duration( milliseconds: AppConfig.overlayAnimationDuration, ), - child: SingleChildScrollView( - child: barContent(context), + child: Scrollbar( + thumbVisibility: true, + controller: _scrollController, + child: SingleChildScrollView( + controller: _scrollController, + child: barContent(context), + ), ), ), ), diff --git a/lib/pangea/toolbar/widgets/practice_activity/multiple_choice_activity.dart b/lib/pangea/toolbar/widgets/practice_activity/multiple_choice_activity.dart index b9c46062c..145e25479 100644 --- a/lib/pangea/toolbar/widgets/practice_activity/multiple_choice_activity.dart +++ b/lib/pangea/toolbar/widgets/practice_activity/multiple_choice_activity.dart @@ -258,15 +258,12 @@ class MultipleChoiceActivityState extends State { return ConstrainedBox( constraints: const BoxConstraints( - // see https://github.com/pangeachat/client/issues/1422 maxWidth: AppConfig.toolbarMinWidth, maxHeight: AppConfig.toolbarMaxHeight, ), - child: SingleChildScrollView( - child: Padding( - padding: const EdgeInsets.all(8), - child: content, - ), + child: Padding( + padding: const EdgeInsets.all(8), + child: content, ), ); }