From 28095ca963602129a439308be8638536d1a1dd72 Mon Sep 17 00:00:00 2001 From: Kelrap <99418823+Kelrap@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:32:20 -0400 Subject: [PATCH] If clicking level bar does nothing, make it act unselectable (#3520) * If clicking level bar does nothing, make it act unselectable * Allow selection for vocab/grammar pages --- .../analytics_page/analytics_page_view.dart | 2 ++ .../learning_progress_indicators.dart | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/pangea/analytics_page/analytics_page_view.dart b/lib/pangea/analytics_page/analytics_page_view.dart index 7ee037d2b..f0b3e5124 100644 --- a/lib/pangea/analytics_page/analytics_page_view.dart +++ b/lib/pangea/analytics_page/analytics_page_view.dart @@ -46,6 +46,8 @@ class AnalyticsPageView extends StatelessWidget { children: [ LearningProgressIndicators( selected: controller.selectedIndicator, + canSelect: controller.selectedIndicator != + ProgressIndicatorEnum.level, ), Expanded( child: Builder( diff --git a/lib/pangea/analytics_summary/learning_progress_indicators.dart b/lib/pangea/analytics_summary/learning_progress_indicators.dart index da9f82fd4..1ed526803 100644 --- a/lib/pangea/analytics_summary/learning_progress_indicators.dart +++ b/lib/pangea/analytics_summary/learning_progress_indicators.dart @@ -21,9 +21,12 @@ import 'package:fluffychat/widgets/matrix.dart'; /// be clicked to access more fine-grained analytics data. class LearningProgressIndicators extends StatefulWidget { final ProgressIndicatorEnum? selected; + final bool canSelect; + const LearningProgressIndicators({ super.key, this.selected, + this.canSelect = true, }); @override @@ -171,7 +174,7 @@ class LearningProgressIndicatorsState builder: (context, hovered) { return Container( decoration: BoxDecoration( - color: hovered + color: hovered && widget.canSelect ? Theme.of(context) .colorScheme .primary @@ -184,11 +187,15 @@ class LearningProgressIndicatorsState horizontal: 4.0, ), child: MouseRegion( - cursor: SystemMouseCursors.click, + cursor: widget.canSelect + ? SystemMouseCursors.click + : MouseCursor.defer, child: GestureDetector( - onTap: () { - context.go("/rooms/analytics?mode=level"); - }, + onTap: widget.canSelect + ? () { + context.go("/rooms/analytics?mode=level"); + } + : null, child: Row( spacing: 8.0, children: [