From ef15cab269bdae8cb46410cec412ad83ed9b23b2 Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Sat, 22 Jul 2023 17:31:15 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Settings=20now=20use=20Modal=20Sheets?= =?UTF-8?q?=20=F0=9F=A4=A9=20(#4307)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bottom_sheets/smooth_bottom_sheet.dart | 158 ++++++++ .../smooth_draggable_bottom_sheet.dart | 200 ++++++++++ .../smooth_draggable_bottom_sheet_route.dart | 130 +++++++ .../widgets/language_selector.dart | 63 ++-- .../widgets/smooth_bottom_sheet.dart | 100 ----- packages/smooth_app/lib/l10n/app_en.arb | 12 +- .../smooth_app/lib/pages/image_crop_page.dart | 2 +- .../pages/onboarding/country_selector.dart | 8 +- .../preferences/user_preferences_account.dart | 6 +- .../user_preferences_list_tile.dart | 5 + .../user_preferences_settings.dart | 352 +++++++----------- .../preferences/user_preferences_widgets.dart | 244 +++++++++--- .../goldens/user_preferences_page-amoled.png | Bin 13283 -> 13042 bytes .../goldens/user_preferences_page-dark.png | Bin 14301 -> 14058 bytes .../goldens/user_preferences_page-light.png | Bin 13736 -> 13502 bytes .../test/users/goldens/login_page-dark.png | Bin 11447 -> 11451 bytes .../test/users/goldens/login_page-light.png | Bin 11293 -> 11310 bytes .../test/users/goldens/signup_page-dark.png | Bin 13280 -> 13277 bytes .../test/users/goldens/signup_page-light.png | Bin 13113 -> 13116 bytes 19 files changed, 862 insertions(+), 418 deletions(-) create mode 100644 packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_bottom_sheet.dart create mode 100644 packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet.dart create mode 100644 packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet_route.dart delete mode 100644 packages/smooth_app/lib/generic_lib/widgets/smooth_bottom_sheet.dart diff --git a/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_bottom_sheet.dart b/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_bottom_sheet.dart new file mode 100644 index 00000000000..06c03ee2a1b --- /dev/null +++ b/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_bottom_sheet.dart @@ -0,0 +1,158 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/semantics.dart'; +import 'package:smooth_app/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet_route.dart'; +import 'package:smooth_app/generic_lib/design_constants.dart'; + +Future showSmoothModalSheet({ + required BuildContext context, + required WidgetBuilder builder, + double? minHeight, +}) { + return showModalBottomSheet( + constraints: + minHeight != null ? BoxConstraints(minHeight: minHeight) : null, + isScrollControlled: minHeight != null, + context: context, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: ROUNDED_RADIUS), + ), + builder: builder, + useSafeArea: true, + ); +} + +Future showSmoothDraggableModalSheet({ + required BuildContext context, + required SmoothModalSheetHeader header, + + /// You must return a Sliver Widget + required WidgetBuilder bodyBuilder, +}) { + return showDraggableModalSheet( + context: context, + borderRadius: const BorderRadius.vertical(top: ROUNDED_RADIUS), + headerBuilder: (_) => header, + headerHeight: + SmoothModalSheetHeader.computeHeight(context, header.closeButton), + bodyBuilder: bodyBuilder, + ); +} + +/// A non scrollable modal sheet +class SmoothModalSheet extends StatelessWidget { + const SmoothModalSheet({ + required this.title, + required this.body, + this.closeButton = true, + this.bodyPadding, + this.closeButtonSemanticsOrder, + }); + + final String title; + final bool closeButton; + final double? closeButtonSemanticsOrder; + final Widget body; + final EdgeInsetsGeometry? bodyPadding; + + @override + Widget build(BuildContext context) { + return ClipRRect( + borderRadius: const BorderRadius.vertical(top: ROUNDED_RADIUS), + child: DecoratedBox( + decoration: const BoxDecoration( + borderRadius: BorderRadius.vertical(top: ROUNDED_RADIUS), + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + SmoothModalSheetHeader( + title: title, + closeButton: closeButton, + closeButtonSemanticsOrder: closeButtonSemanticsOrder, + ), + Padding( + padding: bodyPadding ?? const EdgeInsets.all(MEDIUM_SPACE), + child: body, + ), + ], + )), + ); + } +} + +class SmoothModalSheetHeader extends StatelessWidget { + const SmoothModalSheetHeader({ + required this.title, + this.closeButton = true, + this.closeButtonSemanticsOrder, + }); + + final String title; + final bool closeButton; + final double? closeButtonSemanticsOrder; + + @override + Widget build(BuildContext context) { + final Color primaryColor = Theme.of(context).primaryColor; + + return Container( + color: primaryColor.withOpacity(0.2), + padding: EdgeInsetsDirectional.only( + start: VERY_LARGE_SPACE, + top: VERY_SMALL_SPACE, + bottom: VERY_SMALL_SPACE, + end: VERY_LARGE_SPACE - (closeButton ? LARGE_SPACE : 0), + ), + child: Row( + children: [ + Expanded( + child: Semantics( + sortKey: const OrdinalSortKey(1.0), + child: Text( + title, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: Theme.of(context).textTheme.titleLarge, + ), + ), + ), + if (closeButton) + Semantics( + value: MaterialLocalizations.of(context).closeButtonTooltip, + button: true, + excludeSemantics: true, + onScrollDown: () {}, + sortKey: OrdinalSortKey(closeButtonSemanticsOrder ?? 2.0), + child: Tooltip( + message: MaterialLocalizations.of(context).closeButtonTooltip, + enableFeedback: true, + child: InkWell( + onTap: () => Navigator.of(context).pop(), + customBorder: const CircleBorder(), + child: const Padding( + padding: EdgeInsets.all(MEDIUM_SPACE), + child: Icon(Icons.clear), + ), + ), + ), + ) + ], + ), + ); + } + + static double computeHeight( + BuildContext context, + bool hasCloseButton, + ) { + double size = VERY_SMALL_SPACE * 2; + + if (hasCloseButton == true) { + size += (MEDIUM_SPACE * 2) + (Theme.of(context).iconTheme.size ?? 20.0); + } else { + size += Theme.of(context).textTheme.titleLarge?.fontSize ?? 15.0; + } + + return size; + } +} diff --git a/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet.dart b/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet.dart new file mode 100644 index 00000000000..28725355700 --- /dev/null +++ b/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet.dart @@ -0,0 +1,200 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; + +class SmoothDraggableBottomSheet extends StatefulWidget { + const SmoothDraggableBottomSheet({ + Key? key, + required this.headerBuilder, + required this.headerHeight, + required this.bodyBuilder, + this.initHeightFraction = 0.5, + this.maxHeightFraction = 1.0, + this.animationController, + this.borderRadius, + this.bottomSheetColor, + this.draggableScrollableController, + }) : assert(maxHeightFraction > 0.0 && maxHeightFraction <= 1.0), + super(key: key); + + final double initHeightFraction; + final double maxHeightFraction; + final WidgetBuilder headerBuilder; + final double headerHeight; + final WidgetBuilder bodyBuilder; + final DraggableScrollableController? draggableScrollableController; + final AnimationController? animationController; + final BorderRadius? borderRadius; + final Color? bottomSheetColor; + + @override + SmoothDraggableBottomSheetState createState() => + SmoothDraggableBottomSheetState(); +} + +class SmoothDraggableBottomSheetState + extends State { + late final DraggableScrollableController _controller; + + bool _isClosing = false; + + @override + void initState() { + super.initState(); + _controller = + widget.draggableScrollableController ?? DraggableScrollableController(); + widget.animationController?.addStatusListener(_animationStatusListener); + } + + @override + Widget build(BuildContext context) { + return NotificationListener( + onNotification: _scrolling, + child: SafeArea( + child: DraggableScrollableSheet( + minChildSize: 0.0, + maxChildSize: widget.maxHeightFraction, + initialChildSize: widget.initHeightFraction, + snap: true, + controller: _controller, + builder: (BuildContext context, ScrollController controller) { + return DecoratedBox( + decoration: BoxDecoration( + borderRadius: widget.borderRadius, + color: widget.bottomSheetColor ?? + Theme.of(context).bottomSheetTheme.backgroundColor ?? + Theme.of(context).scaffoldBackgroundColor, + ), + child: Material( + type: MaterialType.transparency, + child: ClipRRect( + borderRadius: widget.borderRadius, + child: _SmoothDraggableContent( + bodyBuilder: widget.bodyBuilder, + headerBuilder: widget.headerBuilder, + headerHeight: widget.headerHeight, + currentExtent: _controller.isAttached + ? _controller.size + : widget.initHeightFraction, + scrollController: controller, + cacheExtent: _calculateCacheExtent( + MediaQuery.of(context).viewInsets.bottom, + ), + ), + ), + ), + ); + }, + ), + ), + ); + } + + @override + void dispose() { + widget.animationController?.removeStatusListener(_animationStatusListener); + super.dispose(); + } + + // Method will be called when scrolling. + bool _scrolling(DraggableScrollableNotification notification) { + if (_isClosing) { + return false; + } + + if (notification.extent <= 0.005) { + _isClosing = true; + Navigator.of(context).maybePop(); + } + + return false; + } + + // Method that listens for changing AnimationStatus, to track the closing of + // the bottom sheet by clicking above it. + void _animationStatusListener(AnimationStatus status) { + if (status == AnimationStatus.reverse || + status == AnimationStatus.dismissed) { + _isClosing = true; + } + } + + double _calculateCacheExtent(double bottomInset) { + const double defaultExtent = RenderAbstractViewport.defaultCacheExtent; + if (bottomInset > defaultExtent) { + return bottomInset; + } else { + return defaultExtent; + } + } +} + +class _SmoothDraggableContent extends StatefulWidget { + const _SmoothDraggableContent({ + required this.currentExtent, + required this.scrollController, + required this.cacheExtent, + required this.headerHeight, + required this.headerBuilder, + required this.bodyBuilder, + Key? key, + }) : super(key: key); + + final WidgetBuilder headerBuilder; + final double headerHeight; + final WidgetBuilder bodyBuilder; + final double currentExtent; + final ScrollController scrollController; + final double cacheExtent; + + @override + State<_SmoothDraggableContent> createState() => + _SmoothDraggableContentState(); +} + +class _SmoothDraggableContentState extends State<_SmoothDraggableContent> { + final GlobalKey> _contentKey = GlobalKey(); + + @override + Widget build(BuildContext context) { + return Scrollbar( + child: CustomScrollView( + cacheExtent: widget.cacheExtent, + key: _contentKey, + controller: widget.scrollController, + slivers: [ + SliverPersistentHeader( + pinned: true, + delegate: _SliverHeader( + child: widget.headerBuilder(context), + height: widget.headerHeight, + ), + ), + widget.bodyBuilder(context), + ], + ), + ); + } +} + +/// A fixed header +class _SliverHeader extends SliverPersistentHeaderDelegate { + _SliverHeader({required this.child, required this.height}) + : assert(height > 0.0); + + final Widget child; + final double height; + + @override + Widget build(BuildContext context, _, __) { + return child; + } + + @override + double get maxExtent => height; + + @override + double get minExtent => height; + + @override + bool shouldRebuild(_SliverHeader oldDelegate) => oldDelegate.height != height; +} diff --git a/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet_route.dart b/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet_route.dart new file mode 100644 index 00000000000..0e4013482f6 --- /dev/null +++ b/packages/smooth_app/lib/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet_route.dart @@ -0,0 +1,130 @@ +import 'package:flutter/material.dart'; +import 'package:smooth_app/generic_lib/bottom_sheets/smooth_draggable_bottom_sheet.dart'; + +/// Code freely inspired from [https://github.com/surfstudio/flutter-bottom-sheet] +Future showDraggableModalSheet({ + required BuildContext context, + required WidgetBuilder headerBuilder, + required double headerHeight, + required WidgetBuilder bodyBuilder, + double? initHeight, + double? maxHeight, + BorderRadius? borderRadius, + Color? bottomSheetColor, + Color? barrierColor, +}) { + assert(debugCheckHasMediaQuery(context)); + assert(debugCheckHasMaterialLocalizations(context)); + assert(headerHeight > 0.0); + + return Navigator.of(context, rootNavigator: true).push( + _FlexibleBottomSheetRoute( + barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel, + initHeight: initHeight ?? 0.5, + bodyBuilder: bodyBuilder, + headerBuilder: headerBuilder, + headerHeight: headerHeight, + borderRadius: borderRadius, + bottomSheetBackgroundColor: bottomSheetColor, + ), + ); +} + +/// A modal route with flexible bottom sheet. +class _FlexibleBottomSheetRoute extends PopupRoute { + _FlexibleBottomSheetRoute({ + required this.initHeight, + required this.headerBuilder, + required this.headerHeight, + required this.bodyBuilder, + this.barrierLabel, + this.borderRadius, + this.bottomSheetBackgroundColor, + RouteSettings? settings, + }) : super(settings: settings); + + final WidgetBuilder headerBuilder; + final double headerHeight; + final WidgetBuilder bodyBuilder; + final double initHeight; + final BorderRadius? borderRadius; + final Color? bottomSheetBackgroundColor; + + @override + final String? barrierLabel; + + @override + Duration get transitionDuration => const Duration(milliseconds: 200); + + @override + bool get barrierDismissible => true; + + @override + Color? get barrierColor => Colors.black54; + + late AnimationController _animationController; + + @override + AnimationController createAnimationController() { + _animationController = AnimationController( + duration: transitionDuration, + vsync: navigator!.overlay!, + ); + + return _animationController; + } + + @override + Widget buildPage( + BuildContext context, + Animation animation, + Animation secondaryAnimation, + ) { + final Widget bottomSheet = MediaQuery.removePadding( + context: context, + child: SmoothDraggableBottomSheet( + initHeightFraction: initHeight, + headerBuilder: headerBuilder, + bodyBuilder: bodyBuilder, + animationController: _animationController, + headerHeight: headerHeight, + borderRadius: borderRadius, + bottomSheetColor: bottomSheetBackgroundColor, + ), + ); + + return Theme( + data: Theme.of(context), + child: bottomSheet, + ); + } + + @override + Widget buildTransitions( + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ) { + const Offset begin = Offset(0.0, 1.0); + const Offset end = Offset.zero; + const Cubic curve = Curves.ease; + final Animatable tween = + Tween(begin: begin, end: end).chain( + CurveTween(curve: curve), + ); + + return SlideTransition( + position: animation.drive(tween), + child: super.buildTransitions( + context, + animation, + secondaryAnimation, + child, + ), + ); + } + + @override + Duration get reverseTransitionDuration => const Duration(milliseconds: 250); +} diff --git a/packages/smooth_app/lib/generic_lib/widgets/language_selector.dart b/packages/smooth_app/lib/generic_lib/widgets/language_selector.dart index 44d621e4a61..7d5f726f962 100644 --- a/packages/smooth_app/lib/generic_lib/widgets/language_selector.dart +++ b/packages/smooth_app/lib/generic_lib/widgets/language_selector.dart @@ -13,6 +13,8 @@ class LanguageSelector extends StatelessWidget { this.selectedLanguages, this.displayedLanguage, this.foregroundColor, + this.icon, + this.padding, }); /// What to do when the language is selected. @@ -25,6 +27,8 @@ class LanguageSelector extends StatelessWidget { final OpenFoodFactsLanguage? displayedLanguage; final Color? foregroundColor; + final IconData? icon; + final EdgeInsetsGeometry? padding; static const Languages _languages = Languages(); @@ -50,35 +54,40 @@ class LanguageSelector extends StatelessWidget { await setLanguage(language); }, borderRadius: ANGULAR_BORDER_RADIUS, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Icon( - Icons.language, - color: foregroundColor, - ), - Expanded( - flex: 1, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: LARGE_SPACE), - child: Text( - '$nameInLanguage ($nameInEnglish)', - softWrap: false, - overflow: TextOverflow.fade, - style: Theme.of(context) - .textTheme - .bodyMedium - ?.copyWith(color: foregroundColor) ?? - TextStyle(color: foregroundColor), + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: SMALL_SPACE, + ).add(padding ?? EdgeInsets.zero), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Icon( + Icons.language, + color: foregroundColor, + ), + Expanded( + flex: 1, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: LARGE_SPACE), + child: Text( + '$nameInLanguage ($nameInEnglish)', + softWrap: false, + overflow: TextOverflow.fade, + style: Theme.of(context) + .textTheme + .bodyMedium + ?.copyWith(color: foregroundColor) ?? + TextStyle(color: foregroundColor), + ), ), ), - ), - Icon( - Icons.arrow_drop_down, - color: foregroundColor, - ), - ], + Icon( + icon ?? Icons.arrow_drop_down, + color: foregroundColor, + ), + ], + ), ), ), ); diff --git a/packages/smooth_app/lib/generic_lib/widgets/smooth_bottom_sheet.dart b/packages/smooth_app/lib/generic_lib/widgets/smooth_bottom_sheet.dart deleted file mode 100644 index 9f20947aee5..00000000000 --- a/packages/smooth_app/lib/generic_lib/widgets/smooth_bottom_sheet.dart +++ /dev/null @@ -1,100 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/semantics.dart'; -import 'package:smooth_app/generic_lib/design_constants.dart'; - -Future showSmoothModalSheet({ - required BuildContext context, - required WidgetBuilder builder, -}) { - return showModalBottomSheet( - context: context, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: ROUNDED_RADIUS), - ), - builder: builder, - ); -} - -class SmoothModalSheet extends StatelessWidget { - const SmoothModalSheet({ - required this.title, - required this.body, - this.closeButton = true, - this.bodyPadding, - this.closeButtonSemanticsOrder = 2.0, - }); - - final String title; - final bool closeButton; - final double closeButtonSemanticsOrder; - final Widget body; - final EdgeInsetsGeometry? bodyPadding; - - @override - Widget build(BuildContext context) { - final Color primaryColor = Theme.of(context).primaryColor; - - return ClipRRect( - borderRadius: const BorderRadius.vertical(top: ROUNDED_RADIUS), - child: DecoratedBox( - decoration: const BoxDecoration( - borderRadius: BorderRadius.vertical(top: ROUNDED_RADIUS), - ), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Container( - color: primaryColor.withOpacity(0.2), - padding: EdgeInsetsDirectional.only( - start: VERY_LARGE_SPACE, - top: VERY_SMALL_SPACE, - bottom: VERY_SMALL_SPACE, - end: VERY_LARGE_SPACE - (closeButton ? LARGE_SPACE : 0), - ), - child: Row( - children: [ - Expanded( - child: Semantics( - sortKey: const OrdinalSortKey(1.0), - child: Text( - title, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: Theme.of(context).textTheme.titleLarge, - ), - ), - ), - if (closeButton) - Semantics( - value: MaterialLocalizations.of(context) - .closeButtonTooltip, - button: true, - excludeSemantics: true, - onScrollDown: () {}, - sortKey: OrdinalSortKey(closeButtonSemanticsOrder), - child: Tooltip( - message: MaterialLocalizations.of(context) - .closeButtonTooltip, - enableFeedback: true, - child: InkWell( - onTap: () => Navigator.of(context).pop(), - customBorder: const CircleBorder(), - child: const Padding( - padding: EdgeInsets.all(MEDIUM_SPACE), - child: Icon(Icons.clear), - ), - ), - ), - ) - ], - ), - ), - Padding( - padding: bodyPadding ?? const EdgeInsets.all(MEDIUM_SPACE), - child: body, - ), - ], - )), - ); - } -} diff --git a/packages/smooth_app/lib/l10n/app_en.arb b/packages/smooth_app/lib/l10n/app_en.arb index 0dca6a48f51..b26e33f39b0 100644 --- a/packages/smooth_app/lib/l10n/app_en.arb +++ b/packages/smooth_app/lib/l10n/app_en.arb @@ -734,7 +734,11 @@ }, "country_chooser_label": "Please choose a country", "@country_chooser_label": { - "description": "Label shown above a selector where the user can select their country" + "description": "Label shown above a selector where the user can select their country (in the onboarding)" + }, + "country_chooser_label_from_settings": "Your country", + "@country_chooser_label_from_settings": { + "description": "Label to use in the settings to change the user country" }, "country_selection_explanation": "Some environmental features are location-specific", "@country_label": { @@ -748,7 +752,7 @@ "@native_app_settings": { "description": "Native App Settings in app settings" }, - "native_app_description": "Open systems settings for Open Food Facts", + "native_app_description": "Open system settings for Open Food Facts", "@native_app_description": { "description": "Native App description in app settings" }, @@ -1907,8 +1911,8 @@ } }, "clipboard_barcode_copied": "Barcode {barcode} copied to the clipboard!", - "choose_app_language": "Choose App Language", - "@choose_app_language": { + "language_picker_label": "Your language", + "@language_picker_label": { "description": "Choose Application Language" }, "help_with_openfoodfacts": "Help with OpenFoodFacts", diff --git a/packages/smooth_app/lib/pages/image_crop_page.dart b/packages/smooth_app/lib/pages/image_crop_page.dart index 495f318f9f2..e5f4e6dbc59 100644 --- a/packages/smooth_app/lib/pages/image_crop_page.dart +++ b/packages/smooth_app/lib/pages/image_crop_page.dart @@ -10,9 +10,9 @@ import 'package:path_provider/path_provider.dart'; import 'package:provider/provider.dart'; import 'package:smooth_app/data_models/user_preferences.dart'; import 'package:smooth_app/database/dao_int.dart'; +import 'package:smooth_app/generic_lib/bottom_sheets/smooth_bottom_sheet.dart'; import 'package:smooth_app/generic_lib/design_constants.dart'; import 'package:smooth_app/generic_lib/loading_dialog.dart'; -import 'package:smooth_app/generic_lib/widgets/smooth_bottom_sheet.dart'; import 'package:smooth_app/helpers/camera_helper.dart'; import 'package:smooth_app/helpers/database_helper.dart'; import 'package:smooth_app/pages/crop_page.dart'; diff --git a/packages/smooth_app/lib/pages/onboarding/country_selector.dart b/packages/smooth_app/lib/pages/onboarding/country_selector.dart index 32855cacea2..e2672113de2 100644 --- a/packages/smooth_app/lib/pages/onboarding/country_selector.dart +++ b/packages/smooth_app/lib/pages/onboarding/country_selector.dart @@ -15,9 +15,13 @@ import 'package:smooth_app/query/product_query.dart'; class CountrySelector extends StatefulWidget { const CountrySelector({ this.textStyle, + this.padding, + this.icon, }); final TextStyle? textStyle; + final EdgeInsetsGeometry? padding; + final IconData? icon; @override State createState() => _CountrySelectorState(); @@ -206,7 +210,7 @@ class _CountrySelectorState extends State { ), padding: const EdgeInsets.symmetric( vertical: SMALL_SPACE, - ), + ).add(widget.padding ?? EdgeInsets.zero), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, @@ -224,7 +228,7 @@ class _CountrySelectorState extends State { ), ), ), - const Icon(Icons.arrow_drop_down), + Icon(widget.icon ?? Icons.arrow_drop_down), ], ), ), diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart index 8071f45e517..d46d08d8657 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart @@ -134,7 +134,11 @@ class UserPreferencesAccount extends AbstractUserPreferences { final ThemeData theme = Theme.of(context); final Size size = MediaQuery.of(context).size; return Container( - margin: EdgeInsets.symmetric(horizontal: size.width / 4), + margin: EdgeInsets.only( + left: size.width / 4, + right: size.width / 4, + bottom: SMALL_SPACE, + ), child: SmoothSimpleButton( child: Text( appLocalizations.sign_in, diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_list_tile.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_list_tile.dart index a4f6a0bd8d2..37d16ed1f9e 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_list_tile.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_list_tile.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:smooth_app/generic_lib/design_constants.dart'; /// Custom [ListTile] for preferences. class UserPreferencesListTile extends StatelessWidget { @@ -37,6 +38,10 @@ class UserPreferencesListTile extends StatelessWidget { style: Theme.of(context).textTheme.headlineMedium, child: title, ), + contentPadding: EdgeInsets.symmetric( + horizontal: LARGE_SPACE, + vertical: subtitle != null ? VERY_SMALL_SPACE : 2.0, + ), trailing: trailing, onTap: onTap, onLongPress: onLongPress, diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_settings.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_settings.dart index 7ce01f0ee3f..e77c0c779f8 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_settings.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_settings.dart @@ -177,91 +177,15 @@ class _ApplicationSettings extends StatelessWidget { @override Widget build(BuildContext context) { final AppLocalizations appLocalizations = AppLocalizations.of(context); - final ThemeProvider themeProvider = context.watch(); final ThemeData themeData = Theme.of(context); final UserPreferences userPreferences = context.watch(); return Column( children: [ - UserPreferencesTitle( + UserPreferencesTitle.firstItem( label: appLocalizations.settings_app_app, ), - Padding( - padding: const EdgeInsetsDirectional.only( - start: LARGE_SPACE, - top: MEDIUM_SPACE, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text( - appLocalizations.darkmode, - style: themeData.textTheme.headlineMedium, - ), - ], - ), - ), - Padding( - padding: const EdgeInsetsDirectional.only( - end: LARGE_SPACE, - bottom: MEDIUM_SPACE, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - DropdownButton( - value: themeProvider.currentTheme, - elevation: 16, - onChanged: (String? newValue) { - themeProvider.setTheme(newValue!); - }, - items: >[ - DropdownMenuItem( - value: THEME_SYSTEM_DEFAULT, - child: Text(appLocalizations.darkmode_system_default), - ), - DropdownMenuItem( - value: THEME_LIGHT, - child: Text(appLocalizations.darkmode_light), - ), - DropdownMenuItem( - value: THEME_DARK, - child: Text(appLocalizations.darkmode_dark), - ), - DropdownMenuItem( - value: THEME_AMOLED, - child: Text(appLocalizations.theme_amoled), - ) - ], - ), - ], - ), - ), - if (themeProvider.currentTheme == THEME_AMOLED) - Column( - children: [ - ListTile( - title: Text( - appLocalizations.select_accent_color, - style: themeData.textTheme.headlineMedium, - ), - subtitle: ChooseAccentColor( - appLocalizations: appLocalizations, - ), - minLeadingWidth: MEDIUM_SPACE, - ), - ListTile( - title: Text( - appLocalizations.text_contrast_mode, - style: themeData.textTheme.headlineMedium, - ), - subtitle: TextColorContrast(appLocalizations: appLocalizations), - minLeadingWidth: MEDIUM_SPACE, - ), - ], - ) - else - const SizedBox.shrink(), + const _ChooseAppTheme(), const UserPreferencesListItemDivider(), ListTile( title: Text( @@ -272,10 +196,13 @@ class _ApplicationSettings extends StatelessWidget { padding: const EdgeInsetsDirectional.only( top: SMALL_SPACE, bottom: SMALL_SPACE, - start: SMALL_SPACE, ), child: CountrySelector( textStyle: themeData.textTheme.bodyMedium, + icon: Icons.edit, + padding: const EdgeInsetsDirectional.only( + start: SMALL_SPACE, + ), ), ), minVerticalPadding: MEDIUM_SPACE, @@ -283,14 +210,13 @@ class _ApplicationSettings extends StatelessWidget { const UserPreferencesListItemDivider(), ListTile( title: Text( - appLocalizations.choose_app_language, + appLocalizations.language_picker_label, style: themeData.textTheme.headlineMedium, ), subtitle: Padding( padding: const EdgeInsetsDirectional.only( top: SMALL_SPACE, bottom: SMALL_SPACE, - start: SMALL_SPACE, ), child: LanguageSelector( setLanguage: (final OpenFoodFactsLanguage? language) async { @@ -305,179 +231,155 @@ class _ApplicationSettings extends StatelessWidget { selectedLanguages: [ ProductQuery.getLanguage(), ], + icon: Icons.edit, + padding: const EdgeInsetsDirectional.only( + start: SMALL_SPACE, + ), ), ), minVerticalPadding: MEDIUM_SPACE, ), const UserPreferencesListItemDivider(), - Padding( - padding: const EdgeInsetsDirectional.only( - start: LARGE_SPACE, - top: MEDIUM_SPACE, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text( - appLocalizations.choose_image_source_title, - style: themeData.textTheme.headlineMedium, - ), - ], - ), - ), - Padding( - padding: const EdgeInsetsDirectional.only( - end: LARGE_SPACE, - bottom: MEDIUM_SPACE, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - DropdownButton( - value: userPreferences.userPictureSource, - style: themeData.textTheme.bodyMedium, - elevation: 16, - onChanged: (final UserPictureSource? newValue) async => - userPreferences.setUserPictureSource(newValue!), - items: >[ - DropdownMenuItem( - value: UserPictureSource.SELECT, - child: Text(appLocalizations.user_picture_source_select), - ), - DropdownMenuItem( - value: UserPictureSource.CAMERA, - child: Text(appLocalizations.settings_app_camera), - ), - DropdownMenuItem( - value: UserPictureSource.GALLERY, - child: Text(appLocalizations.gallery_source_label), - ) - ], - ), - ], - ), + UserPreferencesMultipleChoicesItem( + title: appLocalizations.choose_image_source_title, + leadingBuilder: [ + (_) => const Icon(Icons.edit_note_rounded), + (_) => const Icon(Icons.camera), + (_) => const Icon(Icons.image), + ], + labels: [ + appLocalizations.user_picture_source_select, + appLocalizations.settings_app_camera, + appLocalizations.gallery_source_label, + ], + values: const [ + UserPictureSource.SELECT, + UserPictureSource.CAMERA, + UserPictureSource.GALLERY, + ], + currentValue: userPreferences.userPictureSource, + onChanged: (final UserPictureSource? newValue) async => + userPreferences.setUserPictureSource(newValue!), ), ], ); } } -class ChooseAccentColor extends StatelessWidget { - const ChooseAccentColor({required this.appLocalizations}); - - final AppLocalizations appLocalizations; +class _ChooseAppTheme extends StatelessWidget { + const _ChooseAppTheme(); @override Widget build(BuildContext context) { - final ColorProvider colorProvider = context.watch(); + final AppLocalizations appLocalizations = AppLocalizations.of(context); + final ThemeProvider themeProvider = context.watch(); - final Map localizedNames = { - 'Blue': appLocalizations.color_blue, - 'Cyan': appLocalizations.color_cyan, - 'Green': appLocalizations.color_green, - 'Default': appLocalizations.color_light_brown, - 'Magenta': appLocalizations.color_magenta, - 'Orange': appLocalizations.color_orange, - 'Pink': appLocalizations.color_pink, - 'Red': appLocalizations.color_red, - 'Rust': appLocalizations.color_rust, - 'Teal': appLocalizations.color_teal, - }; - - String getLocalizedColorName(String colorName) { - if (localizedNames.containsKey(colorName)) { - return localizedNames[colorName]!; - } - return localizedNames[COLOR_DEFAULT_NAME]!; - } + final Widget child = UserPreferencesMultipleChoicesItem( + title: appLocalizations.darkmode, + leadingBuilder: [ + (_) => const Icon(Icons.brightness_medium), + (_) => const Icon(Icons.light_mode), + (_) => const Icon(Icons.dark_mode_outlined), + (_) => const Icon(Icons.dark_mode), + ], + labels: [ + appLocalizations.darkmode_system_default, + appLocalizations.darkmode_light, + appLocalizations.darkmode_dark, + appLocalizations.theme_amoled, + ], + values: const [ + THEME_SYSTEM_DEFAULT, + THEME_LIGHT, + THEME_DARK, + THEME_AMOLED, + ], + currentValue: themeProvider.currentTheme, + onChanged: (String? newValue) { + themeProvider.setTheme(newValue!); + }, + ); - return Padding( - padding: const EdgeInsetsDirectional.only( - end: LARGE_SPACE, - bottom: MEDIUM_SPACE, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.end, + if (themeProvider.currentTheme == THEME_AMOLED) { + return Column( + mainAxisSize: MainAxisSize.min, children: [ - DropdownButton( - value: getLocalizedColorName(colorProvider.currentColor), - style: Theme.of(context).textTheme.bodyMedium, - onChanged: (String? value) { - colorProvider.setColor(value!); - }, - items: colorNamesValue.keys - .map( - (String colorName) => DropdownMenuItem( - value: colorName, - child: Row( - children: [ - CircleAvatar( - backgroundColor: getColorValue(colorName), - radius: SMALL_SPACE, - ), - const SizedBox(width: SMALL_SPACE), - Text(getLocalizedColorName(colorName)) - ], - ), - ), - ) - .toList(), - ), + child, + const _ChooseAccentColor(), + const _ChooseTextColorContrast(), ], + ); + } else { + return child; + } + } +} + +class _ChooseAccentColor extends StatelessWidget { + const _ChooseAccentColor(); + + @override + Widget build(BuildContext context) { + final AppLocalizations appLocalizations = AppLocalizations.of(context); + final ColorProvider colorProvider = context.watch(); + final Map labels = localizedNames(appLocalizations); + + return UserPreferencesMultipleChoicesItem( + title: appLocalizations.select_accent_color, + leadingBuilder: labels.keys.map( + (String key) => (_) => CircleAvatar( + backgroundColor: getColorValue(labels[key]!), + radius: SMALL_SPACE, + ), ), + labels: labels.values, + values: labels.keys, + currentValue: labels[colorProvider.currentColor], + onChanged: (String? newValue) { + colorProvider.setColor(newValue!); + }, ); } -} -class TextColorContrast extends StatelessWidget { - const TextColorContrast({super.key, required this.appLocalizations}); + Map localizedNames(AppLocalizations appLocalizations) => + { + 'Blue': appLocalizations.color_blue, + 'Cyan': appLocalizations.color_cyan, + 'Green': appLocalizations.color_green, + 'Default': appLocalizations.color_light_brown, + 'Magenta': appLocalizations.color_magenta, + 'Orange': appLocalizations.color_orange, + 'Pink': appLocalizations.color_pink, + 'Red': appLocalizations.color_red, + 'Rust': appLocalizations.color_rust, + 'Teal': appLocalizations.color_teal, + }; +} - final AppLocalizations appLocalizations; +class _ChooseTextColorContrast extends StatelessWidget { + const _ChooseTextColorContrast(); @override Widget build(BuildContext context) { + final AppLocalizations appLocalizations = AppLocalizations.of(context); final TextContrastProvider textContrastProvider = context.watch(); - return Padding( - padding: const EdgeInsets.only( - right: LARGE_SPACE, - bottom: MEDIUM_SPACE, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - DropdownButton( - value: textContrastProvider.currentContrastLevel, - style: Theme.of(context).textTheme.bodyMedium, - onChanged: (String? contrast) => - textContrastProvider.setContrast(contrast!), - items: >[ - DropdownMenuItem( - value: CONTRAST_HIGH, - child: Text( - appLocalizations.contrast_high, - style: const TextStyle(color: HIGH_CONTRAST_TEXT_COLOR), - ), - ), - DropdownMenuItem( - value: CONTRAST_MEDIUM, - child: Text( - appLocalizations.contrast_medium, - style: const TextStyle(color: MEDIUM_CONTRAST_TEXT_COLOR), - ), - ), - DropdownMenuItem( - value: CONTRAST_LOW, - child: Text( - appLocalizations.contrast_low, - style: const TextStyle(color: LOW_CONTRAST_TEXT_COLOR), - ), - ) - ], - ) - ], - ), + return UserPreferencesMultipleChoicesItem( + title: appLocalizations.text_contrast_mode, + values: const [ + CONTRAST_HIGH, + CONTRAST_MEDIUM, + CONTRAST_LOW, + ], + labels: [ + appLocalizations.contrast_high, + appLocalizations.contrast_medium, + appLocalizations.contrast_low, + ], + currentValue: textContrastProvider.currentContrastLevel, + onChanged: (String? contrast) => + textContrastProvider.setContrast(contrast!), ); } } diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_widgets.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_widgets.dart index ae70212176f..6a322667116 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_widgets.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_widgets.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:smooth_app/generic_lib/bottom_sheets/smooth_bottom_sheet.dart'; import 'package:smooth_app/generic_lib/design_constants.dart'; -import 'package:smooth_app/generic_lib/dialogs/smooth_alert_dialog.dart'; /// A dashed line class UserPreferencesListItemDivider extends StatelessWidget { @@ -111,11 +110,12 @@ class UserPreferencesSwitchItem extends StatelessWidget { class UserPreferencesMultipleChoicesItem extends StatelessWidget { const UserPreferencesMultipleChoicesItem({ required this.title, - required this.subtitle, required this.labels, required this.values, required this.currentValue, required this.onChanged, + this.leading, + this.leadingBuilder, this.descriptions, this.dialogHeight, Key? key, @@ -126,7 +126,8 @@ class UserPreferencesMultipleChoicesItem extends StatelessWidget { super(key: key); final String title; - final String subtitle; + final IconData? leading; + final Iterable? leadingBuilder; final Iterable labels; final Iterable? descriptions; final Iterable values; @@ -136,75 +137,129 @@ class UserPreferencesMultipleChoicesItem extends StatelessWidget { @override Widget build(BuildContext context) { + final ThemeData theme = Theme.of(context); + final int currentValueIndex = _findCurrentValueIndex(); + return ListTile( title: Padding( padding: const EdgeInsetsDirectional.only( top: SMALL_SPACE, bottom: SMALL_SPACE, ), - child: Text(title, style: Theme.of(context).textTheme.headlineMedium), + child: Text( + title, + style: theme.textTheme.headlineMedium, + ), ), subtitle: Padding( padding: const EdgeInsetsDirectional.only( - bottom: SMALL_SPACE, + start: SMALL_SPACE, + top: SMALL_SPACE, + bottom: LARGE_SPACE, ), - child: Text( - subtitle, - style: const TextStyle(height: 1.5), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + if (leadingBuilder != null) + Builder(builder: leadingBuilder!.elementAt(currentValueIndex)) + else if (leading != null) + Icon(leading), + Expanded( + child: Padding( + padding: EdgeInsetsDirectional.only( + start: leadingBuilder != null || leading != null + ? LARGE_SPACE + : 0.0, + end: LARGE_SPACE, + ), + child: Text( + labels.elementAt(currentValueIndex), + style: theme.textTheme.bodyMedium, + ), + ), + ), + const Icon(Icons.edit) + ], ), ), onTap: () async { - final T? res = await showDialog( + final double itemHeight = (descriptions != null ? 15.0 : 0.0) + + (5.0 * 2) + + 1.0 + + (56.0 + Theme.of(context).visualDensity.baseSizeAdjustment.dy); + + final MediaQueryData queryData = MediaQueryData.fromView( + WidgetsBinding.instance.platformDispatcher.implicitView!); + + // If there is not enough space, we use the scrolling sheet + final T? res; + if ((itemHeight * labels.length + + SmoothModalSheetHeader.computeHeight(context, true)) > + (queryData.size.height * 0.9) - queryData.viewPadding.top) { + res = await showSmoothDraggableModalSheet( + context: context, + header: SmoothModalSheetHeader(title: title), + bodyBuilder: (BuildContext context) { + return SliverList( + delegate: SliverChildBuilderDelegate( + childCount: labels.length, + (BuildContext context, int position) { + final bool selected = + currentValue == values.elementAt(position); + + return _ChoiceItem( + selected: selected, + label: labels.elementAt(position), + value: values.elementAt(position), + description: descriptions?.elementAt(position), + leading: leadingBuilder != null + ? Builder( + builder: leadingBuilder!.elementAt(position)) + : null, + hasDivider: position < labels.length - 1, + ); + }, + ), + ); + }); + } else { + res = await showSmoothModalSheet( context: context, + minHeight: SmoothModalSheetHeader.computeHeight(context, false) + + itemHeight * labels.length, builder: (BuildContext context) { - final AppLocalizations appLocalizations = - AppLocalizations.of(context); - - return SmoothAlertDialog( + return SmoothModalSheet( title: title, + bodyPadding: EdgeInsets.zero, body: SizedBox( - height: dialogHeight ?? 250.0, - child: SizedBox( - width: MediaQuery.of(context).size.width, - child: ListView.builder( - itemCount: labels.length, - itemBuilder: (BuildContext context, int position) { - final bool selected = - currentValue == values.elementAt(position); - final Color? selectedColor = - selected ? Theme.of(context).primaryColor : null; - - return ColoredBox( - color: selectedColor?.withOpacity(0.1) ?? - Colors.transparent, - child: ListTile( - title: Text( - labels.elementAt(position), - style: - Theme.of(context).textTheme.headlineMedium, - ), - subtitle: descriptions != null - ? Text(descriptions!.elementAt(position)) - : null, - contentPadding: const EdgeInsets.symmetric( - horizontal: LARGE_SPACE, - vertical: 5.0, - ), - onTap: () { - Navigator.of(context) - .pop(values.elementAt(position)); - }, - ), - ); - }), + height: itemHeight * labels.length, + child: ListView.separated( + physics: const NeverScrollableScrollPhysics(), + itemCount: labels.length, + itemBuilder: (BuildContext context, int position) { + final bool selected = + currentValue == values.elementAt(position); + + return _ChoiceItem( + selected: selected, + label: labels.elementAt(position), + value: values.elementAt(position), + description: descriptions?.elementAt(position), + leading: leadingBuilder != null + ? Builder( + builder: leadingBuilder!.elementAt(position)) + : null, + hasDivider: false, + ); + }, + separatorBuilder: (_, __) => const Divider(height: 1.0), ), ), - negativeAction: SmoothActionButton( - text: appLocalizations.cancel, - onPressed: () => Navigator.of(context).pop(), - ), ); - }); + }, + ); + } if (res != null) { onChanged?.call(res); @@ -213,23 +268,96 @@ class UserPreferencesMultipleChoicesItem extends StatelessWidget { isThreeLine: true, ); } + + int _findCurrentValueIndex() { + for (int i = 0; i < values.length; i++) { + if (values.elementAt(i) == currentValue) { + return i; + } + } + return 0; + } +} + +class _ChoiceItem extends StatelessWidget { + const _ChoiceItem({ + required this.value, + required this.label, + required this.selected, + this.description, + this.leading, + this.hasDivider = true, + }); + + final T value; + final String label; + final String? description; + final Widget? leading; + final bool selected; + final bool hasDivider; + + @override + Widget build(BuildContext context) { + final ThemeData theme = Theme.of(context); + final Color? selectedColor = selected ? theme.primaryColor : null; + + return Semantics( + value: label, + selected: selected, + button: true, + excludeSemantics: true, + child: Ink( + color: selectedColor?.withOpacity(0.1) ?? Colors.transparent, + child: Column( + children: [ + ListTile( + leading: leading, + titleAlignment: ListTileTitleAlignment.center, + title: Text( + label, + style: theme.textTheme.headlineMedium?.copyWith( + fontWeight: selected ? FontWeight.bold : FontWeight.normal, + ), + ), + subtitle: description != null ? Text(description!) : null, + contentPadding: const EdgeInsets.symmetric( + horizontal: LARGE_SPACE, + vertical: 5.0, + ), + onTap: () => Navigator.of(context).pop(value), + ), + if (hasDivider) const Divider(height: 1.0), + ], + ), + ), + ); + } } class UserPreferencesTitle extends StatelessWidget { - const UserPreferencesTitle({required this.label, Key? key}) - : assert(label.length > 0), + const UserPreferencesTitle({ + required this.label, + this.addExtraPadding = true, + Key? key, + }) : assert(label.length > 0), super(key: key); + const UserPreferencesTitle.firstItem({ + required String label, + Key? key, + }) : this(label: label, addExtraPadding: false, key: key); + final String label; + final bool addExtraPadding; @override Widget build(BuildContext context) { return SizedBox( width: double.infinity, child: Padding( - padding: const EdgeInsetsDirectional.only( - top: SMALL_SPACE, - bottom: MEDIUM_SPACE, + padding: EdgeInsetsDirectional.only( + top: addExtraPadding ? LARGE_SPACE : LARGE_SPACE, + bottom: SMALL_SPACE, // Horizontal = same as ListTile start: LARGE_SPACE, end: LARGE_SPACE, diff --git a/packages/smooth_app/test/pages/goldens/user_preferences_page-amoled.png b/packages/smooth_app/test/pages/goldens/user_preferences_page-amoled.png index 3d17eb3f0e33acab1e0a9ea70fa18557750dc1cc..d315ea48c0efdf92d1ec5455961c18036866e9b6 100644 GIT binary patch literal 13042 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 RpD7^7sT2BIMaOJ@`VW8nF0=pu literal 13283 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 diff --git a/packages/smooth_app/test/pages/goldens/user_preferences_page-dark.png b/packages/smooth_app/test/pages/goldens/user_preferences_page-dark.png index 98c3d9f01a8e0efd282985f7263432316a0dd3e9..db63b4195e24aeb8691c7b2a828d8bfee18dc843 100644 GIT binary patch literal 14058 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

j3Ocn_ZZo#vahP`cJh_gMRvR zV0Qs5%x&r;?{om%#v19w_E4}i|5SthlPLL@yBs&a&HDcxtzV=Or+`Gxg zTqeW_Mm97wl&)$1P6RBaG#u_9z5+=~|6cO_3pxD{e+KjCfccjO`afqJ|8gWdw04Wu Vu_fEM46s7bd7TT|g{QCG{$G>75H$b* literal 13736 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 E0Hy4|4*&oF diff --git a/packages/smooth_app/test/users/goldens/login_page-dark.png b/packages/smooth_app/test/users/goldens/login_page-dark.png index a132476bd9cdc2332bf721d2dded44ab07e73cb4..39fadc9d20a2f68d53f9a901d4d98c0f0b77f3c2 100644 GIT binary patch literal 11451 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 diff --git a/packages/smooth_app/test/users/goldens/login_page-light.png b/packages/smooth_app/test/users/goldens/login_page-light.png index 494960258aa250411424c491e78edb0c21546969..39ec4b740d59998ad1b37057d9a613b951611a5d 100644 GIT binary patch literal 11310 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 F{{u-GU0whH literal 11293 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

eg&>RNu*X%T7tJqUhD8T=w;fj^R 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 diff --git a/packages/smooth_app/test/users/goldens/signup_page-dark.png b/packages/smooth_app/test/users/goldens/signup_page-dark.png index a1723737423a8b356ecc220c63eed3fbec97e502..0c898098c810c1ef2472301d1fe7e09b1571acec 100644 GIT binary patch literal 13277 zcmeHucR*9ww*CQhupvei6r>2)KwuOBrK?ez4hl#|Mv5R+KnMW>*dvG_4xrL3ltG#( z5FnIMsaTOK(rem}Q{spYD zBO-_xqJuqZff=c

;`t9seFgSjdFsM}lTrA7s1+}qo}Z+s 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 S^*U(I&^hq~HtX1r*ZvLakH4w_ literal 13280 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 diff --git a/packages/smooth_app/test/users/goldens/signup_page-light.png b/packages/smooth_app/test/users/goldens/signup_page-light.png index 25d4be9e9ccd3e0df6ce65026950b4c9583c2041..f33dc72fa02e41a35646e43ab3dd7aaf1dd781e1 100644 GIT binary patch literal 13116 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 literal 13113 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