From 059ba3c754429f631da6b046034d0c8159ae41bb Mon Sep 17 00:00:00 2001 From: Bugfix Jacques Date: Tue, 3 Oct 2023 14:38:52 +0200 Subject: [PATCH] feat: Now returning page --- CHANGELOG.md | 2 +- lib/src/auth_screen.dart | 6 +++--- lib/src/config/registration_options.dart | 2 +- lib/src/registration_screen.dart | 10 ++++------ 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9975e25..292ec27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ SPDX-License-Identifier: GPL-3.0-or-later --> # 1.1.0 -- feat: Added the ability to not go back to the first page on error +- feat: Added the ability to go to specific page on error # 1.0.0 diff --git a/lib/src/auth_screen.dart b/lib/src/auth_screen.dart index 19ade09..984e558 100644 --- a/lib/src/auth_screen.dart +++ b/lib/src/auth_screen.dart @@ -24,7 +24,7 @@ class AuthScreen extends StatefulWidget { final String title; final Function({ required HashMap values, - required VoidCallback onError, + required void Function(int? pageToReturn) onError, }) onFinish; final List steps; final String submitBtnTitle; @@ -79,8 +79,8 @@ class _AuthScreenState extends State { widget.onFinish( values: values, - onError: () => _pageController.animateToPage( - 0, + onError: (int? pageToReturn) => _pageController.animateToPage( + pageToReturn ?? 0, duration: _animationDuration, curve: _animationCurve, ), diff --git a/lib/src/config/registration_options.dart b/lib/src/config/registration_options.dart index 0160d26..a1862c5 100644 --- a/lib/src/config/registration_options.dart +++ b/lib/src/config/registration_options.dart @@ -20,7 +20,7 @@ class RegistrationOptions { final RegistrationTranslations registrationTranslations; final List registrationSteps; - final bool? Function(String error)? onError; + final int? Function(String error)? onError; final VoidCallback afterRegistration; final RegistrationRepository registrationRepository; final AppBar Function(String title)? customAppbarBuilder; diff --git a/lib/src/registration_screen.dart b/lib/src/registration_screen.dart index 5d42dc0..83328dd 100644 --- a/lib/src/registration_screen.dart +++ b/lib/src/registration_screen.dart @@ -18,7 +18,7 @@ class RegistrationScreen extends StatelessWidget { Future register({ required HashMap values, - required VoidCallback onError, + required void Function(int? pageToReturn) onError, }) async { try { var registered = @@ -27,14 +27,12 @@ class RegistrationScreen extends StatelessWidget { if (registered == null) { registrationOptions.afterRegistration(); } else { - var returnToFirstPage = registrationOptions.onError?.call(registered); + var pageToReturn = registrationOptions.onError?.call(registered); - if (returnToFirstPage ?? true) { - onError(); - } + onError(pageToReturn); } } catch (e) { - onError(); + onError(0); } }