From 1f64a3203080cddeee45f003977037f3764a9bb0 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 10 Jul 2025 15:05:03 -0400 Subject: [PATCH] chore: update analytics page spacing for mobile (#3412) --- .../analytics_details_popup.dart | 41 +++++++++++-------- .../morph_analytics_list_view.dart | 8 +++- .../vocab_analytics_list_view.dart | 34 +++++++-------- .../analytics_page/analytics_page_view.dart | 1 - 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/lib/pangea/analytics_details_popup/analytics_details_popup.dart b/lib/pangea/analytics_details_popup/analytics_details_popup.dart index a4ef88441..bbf3b880a 100644 --- a/lib/pangea/analytics_details_popup/analytics_details_popup.dart +++ b/lib/pangea/analytics_details_popup/analytics_details_popup.dart @@ -181,24 +181,29 @@ class AnalyticsPopupWrapperState extends State { if (kIsWeb) const SizedBox(width: 4.0), ], ) - : localConstructZoom != null - ? AppBar( - leading: widget.backButtonOverride ?? - (localConstructZoom != null - ? IconButton( - icon: const Icon(Icons.arrow_back), - onPressed: () => setConstructZoom(null), - ) - : const SizedBox()), - ) - : null, - body: localView == ConstructTypeEnum.morph - ? localConstructZoom == null - ? MorphAnalyticsListView(controller: this) - : MorphDetailsView(constructId: localConstructZoom!) - : localConstructZoom == null - ? VocabAnalyticsListView(controller: this) - : VocabDetailsView(constructId: localConstructZoom!), + : null, + body: Stack( + children: [ + localView == ConstructTypeEnum.morph + ? localConstructZoom == null + ? MorphAnalyticsListView(controller: this) + : MorphDetailsView(constructId: localConstructZoom!) + : localConstructZoom == null + ? VocabAnalyticsListView(controller: this) + : VocabDetailsView(constructId: localConstructZoom!), + if (localConstructZoom != null) + Positioned( + top: 0, + left: 0, + child: IconButton( + icon: const Icon(Icons.arrow_back), + onPressed: () { + setConstructZoom(null); + }, + ), + ), + ], + ), ); } } diff --git a/lib/pangea/analytics_details_popup/morph_analytics_list_view.dart b/lib/pangea/analytics_details_popup/morph_analytics_list_view.dart index fc37b953b..6e164fe5e 100644 --- a/lib/pangea/analytics_details_popup/morph_analytics_list_view.dart +++ b/lib/pangea/analytics_details_popup/morph_analytics_list_view.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:collection/collection.dart'; import 'package:fluffychat/config/app_config.dart'; +import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/pangea/analytics_details_popup/analytics_details_popup.dart'; import 'package:fluffychat/pangea/analytics_misc/construct_type_enum.dart'; import 'package:fluffychat/pangea/analytics_misc/construct_use_model.dart'; @@ -27,15 +28,18 @@ class MorphAnalyticsListView extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: const EdgeInsets.all(16.0), + padding: FluffyThemes.isColumnMode(context) + ? const EdgeInsets.all(16.0) + : const EdgeInsets.all(0.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, - spacing: 16.0, children: [ // Add your text widget here const InstructionsInlineTooltip( instructionsEnum: InstructionsEnum.morphAnalyticsList, ), + if (!InstructionsEnum.morphAnalyticsList.isToggledOff) + const SizedBox(height: 16.0), Expanded( child: ListView.builder( key: const PageStorageKey('morph-analytics'), diff --git a/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart b/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart index 7db44d463..e602332b7 100644 --- a/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart +++ b/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart @@ -87,9 +87,6 @@ class VocabAnalyticsListView extends StatelessWidget { AnimatedContainer( duration: const Duration(milliseconds: 300), curve: Curves.easeInOut, - padding: EdgeInsets.symmetric( - horizontal: controller.isSearching ? 8.0 : 24.0, - ), child: Container( height: 60, alignment: Alignment.center, @@ -134,24 +131,21 @@ class VocabAnalyticsListView extends StatelessWidget { ), ), Expanded( - child: Padding( - padding: const EdgeInsets.all(8.0), - child: GridView.builder( - gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent( - maxCrossAxisExtent: 100.0, - mainAxisExtent: 100.0, - crossAxisSpacing: 8.0, - mainAxisSpacing: 8.0, - ), - itemCount: _filteredVocab.length, - itemBuilder: (context, index) { - final vocabItem = _filteredVocab[index]; - return VocabAnalyticsListTile( - onTap: () => controller.setConstructZoom(vocabItem.id), - constructUse: vocabItem, - ); - }, + child: GridView.builder( + gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent( + maxCrossAxisExtent: 100.0, + mainAxisExtent: 100.0, + crossAxisSpacing: 8.0, + mainAxisSpacing: 8.0, ), + itemCount: _filteredVocab.length, + itemBuilder: (context, index) { + final vocabItem = _filteredVocab[index]; + return VocabAnalyticsListTile( + onTap: () => controller.setConstructZoom(vocabItem.id), + constructUse: vocabItem, + ); + }, ), ), ], diff --git a/lib/pangea/analytics_page/analytics_page_view.dart b/lib/pangea/analytics_page/analytics_page_view.dart index 458343305..256c634e0 100644 --- a/lib/pangea/analytics_page/analytics_page_view.dart +++ b/lib/pangea/analytics_page/analytics_page_view.dart @@ -42,7 +42,6 @@ class AnalyticsPageView extends StatelessWidget { child: Padding( padding: const EdgeInsetsGeometry.all(16.0), child: Column( - spacing: 16.0, crossAxisAlignment: CrossAxisAlignment.start, children: [ LearningProgressIndicators(