From c6f22ab28226d0e81783f945cc3f51f3fe7bbffc Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Mon, 22 Aug 2022 17:01:43 +0200 Subject: [PATCH] improvements --- lib/locale/l10n/app_de.arb | 3 +- lib/locale/l10n/app_en.arb | 3 +- lib/screens/memory_map_screen.dart | 2 +- lib/screens/timeline_screen/memory_sheet.dart | 31 ++++++++++++++++-- lib/widgets/help_sheet.dart | 32 ++++++++++++++++--- lib/widgets/modal_sheet.dart | 7 ++-- 6 files changed, 65 insertions(+), 13 deletions(-) diff --git a/lib/locale/l10n/app_de.arb b/lib/locale/l10n/app_de.arb index 000a67e..90928b3 100644 --- a/lib/locale/l10n/app_de.arb +++ b/lib/locale/l10n/app_de.arb @@ -4,10 +4,11 @@ "generalError": "Ein Fehler ist aufgetreten", "generalCancelButtonLabel": "Abbrechen", "generalContinueButtonLabel": "Weiter", + "generalSaveButtonLabel": "Speichern", "generalUnderstoodButtonLabel": "OK", "generalLoadingLabel": "Wird geladen...", "generalSwipeForMore": "Wische hoch für mehr", - "generalSaveButtonLabel": "Speichern", + "generalSwipeDownToClose": "Wische runter um zu schließen", "welcomeScreenDescription": "Finde heraus was du den ganzen Tag gemacht hast und erlebe Erinnerungen wieder, die du komplett vergessen hast!", "welcomeScreenSubtitle": "Was hab ich heute gemacht?", diff --git a/lib/locale/l10n/app_en.arb b/lib/locale/l10n/app_en.arb index 0620154..566df6f 100644 --- a/lib/locale/l10n/app_en.arb +++ b/lib/locale/l10n/app_en.arb @@ -7,7 +7,8 @@ "generalSaveButtonLabel": "Save", "generalUnderstoodButtonLabel": "OK", "generalLoadingLabel": "Loading...", - "generalSwipeForMore": "Swipe up for more", + "generalSwipeUpForMore": "Swipe up for more", + "generalSwipeDownToClose": "Swipe down to close this sheet", "welcomeScreenDescription": "Find out what you did all the days and unlock moments you completely forgot!", "welcomeScreenSubtitle": "What did I do today?", diff --git a/lib/screens/memory_map_screen.dart b/lib/screens/memory_map_screen.dart index 614091c..c3cb1ee 100644 --- a/lib/screens/memory_map_screen.dart +++ b/lib/screens/memory_map_screen.dart @@ -98,7 +98,7 @@ class _MemoryMapScreenState extends State with Loadable { const SheetIndicator(), const SizedBox(height: MEDIUM_SPACE), Text( - localizations.generalSwipeForMore, + localizations.generalSwipeUpForMore, style: getBodyTextTextStyle(context), ), ], diff --git a/lib/screens/timeline_screen/memory_sheet.dart b/lib/screens/timeline_screen/memory_sheet.dart index 437c7a1..78a0eab 100644 --- a/lib/screens/timeline_screen/memory_sheet.dart +++ b/lib/screens/timeline_screen/memory_sheet.dart @@ -36,6 +36,8 @@ class MemorySheet extends StatefulWidget { final supabase = Supabase.instance.client; class _MemorySheetState extends State with Loadable { + bool isExpanded = false; + Future deleteFile() async { await FileManager.deleteFile(widget.memory.filePath); @@ -130,6 +132,16 @@ class _MemorySheetState extends State with Loadable { final backgroundColor = getSheetColor(context); return ExpandableBottomSheet( + onIsContractedCallback: () { + setState(() { + isExpanded = false; + }); + }, + onIsExtendedCallback: () { + setState(() { + isExpanded = true; + }); + }, background: GestureDetector( onTap: () => Navigator.pop(context), ), @@ -239,9 +251,22 @@ class _MemorySheetState extends State with Loadable { ), if (widget.memory.location != null) ...[ const SizedBox(height: SMALL_SPACE), - Text( - localizations.generalSwipeForMore, - style: getBodyTextTextStyle(context), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + isExpanded + ? context.platformIcons.downArrow + : context.platformIcons.upArrow, + ), + const SizedBox(width: TINY_SPACE), + Text( + isExpanded + ? localizations.generalSwipeDownToClose + : localizations.generalSwipeUpForMore, + style: getBodyTextTextStyle(context), + ), + ], ), ], ], diff --git a/lib/widgets/help_sheet.dart b/lib/widgets/help_sheet.dart index e4cc2d2..7b97ce9 100644 --- a/lib/widgets/help_sheet.dart +++ b/lib/widgets/help_sheet.dart @@ -36,6 +36,7 @@ class HelpSheet extends StatefulWidget { class _HelpSheetState extends State { bool isShowingSheet = false; + BuildContext? buildContext; @override void initState() { @@ -48,6 +49,15 @@ class _HelpSheetState extends State { } } + @override + void dispose() { + if (isShowingSheet && buildContext != null) { + Navigator.pop(buildContext!); + } + + super.dispose(); + } + @override void didUpdateWidget(covariant HelpSheet oldWidget) { super.didUpdateWidget(oldWidget); @@ -92,10 +102,22 @@ class _HelpSheetState extends State { semanticsDismissible: false, ), context: context, - builder: (_) => HelpSheetForm( - helpContent: widget.helpContent, - title: widget.title, - ), + builder: (buildContext) { + this.buildContext = buildContext; + + return WillPopScope( + onWillPop: () async { + Navigator.pop(buildContext); + Navigator.pop(context); + + return false; + }, + child: HelpSheetForm( + helpContent: widget.helpContent, + title: widget.title, + ), + ); + }, ); if (widget.onSheetHidden != null) { @@ -118,7 +140,7 @@ class _HelpSheetState extends State { final hasSheetBeShownAlready = await UserHelpSheetsManager.getIfAlreadyShown(widget.helpID); - if (!hasSheetBeShownAlready) { + if (!hasSheetBeShownAlready && !isShowingSheet) { showSheet(); } } diff --git a/lib/widgets/modal_sheet.dart b/lib/widgets/modal_sheet.dart index 76270ff..eb0418c 100644 --- a/lib/widgets/modal_sheet.dart +++ b/lib/widgets/modal_sheet.dart @@ -15,7 +15,7 @@ class ModalSheet extends StatelessWidget { @override Widget build(BuildContext context) { return SingleChildScrollView( - padding: const EdgeInsets.symmetric(vertical: MEDIUM_SPACE), + padding: const EdgeInsets.only(top: MEDIUM_SPACE), child: Column( mainAxisSize: MainAxisSize.min, children: [ @@ -29,7 +29,10 @@ class ModalSheet extends StatelessWidget { color: getSheetColor(context), ), padding: const EdgeInsets.symmetric(vertical: LARGE_SPACE), - child: child, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: MEDIUM_SPACE), + child: child, + ), ), cupertino: (_, __) => CupertinoPopupSurface( isSurfacePainted: false,