From 91c8cb9760267443ecbe30c064dcd39cf4dfb090 Mon Sep 17 00:00:00 2001 From: Shawn Date: Fri, 8 Dec 2023 09:54:26 -0700 Subject: [PATCH] Fix for #155, App stuck in onboarding --- lib/ui/screens/intro/intro_screen.dart | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/ui/screens/intro/intro_screen.dart b/lib/ui/screens/intro/intro_screen.dart index 5be404f8..ab7678ae 100644 --- a/lib/ui/screens/intro/intro_screen.dart +++ b/lib/ui/screens/intro/intro_screen.dart @@ -1,6 +1,7 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:wonders/common_libs.dart'; import 'package:wonders/logic/common/platform_info.dart'; +import 'package:wonders/ui/common/app_icons.dart'; import 'package:wonders/ui/common/controls/app_page_indicator.dart'; import 'package:wonders/ui/common/gradient_container.dart'; import 'package:wonders/ui/common/previous_next_navigation.dart'; @@ -165,6 +166,13 @@ class _IntroScreenState extends State { // nav help text: if (PlatformInfo.isMobile) ...[ + // finish button: + Positioned( + right: $styles.insets.lg, + bottom: $styles.insets.lg, + child: _buildFinishBtn(context), + ), + BottomCenter( child: Padding( padding: EdgeInsets.only(bottom: $styles.insets.lg), @@ -181,6 +189,24 @@ class _IntroScreenState extends State { ); } + Widget _buildFinishBtn(BuildContext context) { + return ValueListenableBuilder( + valueListenable: _currentPage, + builder: (_, pageIndex, __) { + return AnimatedOpacity( + opacity: pageIndex == pageData.length - 1 ? 1 : 0, + duration: $styles.times.fast, + child: CircleIconBtn( + icon: AppIcons.next_large, + bgColor: $styles.colors.accent1, + onPressed: _handleIntroCompletePressed, + semanticLabel: $strings.introSemanticEnterApp, + ), + ); + }, + ); + } + Widget _buildHzGradientOverlay({bool left = false}) { return Align( alignment: Alignment(left ? -1 : 1, 0),