diff --git a/CHANGELOG.md b/CHANGELOG.md index ec2c707..292ec27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ SPDX-FileCopyrightText: 2022 Iconica SPDX-License-Identifier: GPL-3.0-or-later --> +# 1.1.0 + +- 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 b8f89aa..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 void 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 f3e87e9..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,11 +27,12 @@ class RegistrationScreen extends StatelessWidget { if (registered == null) { registrationOptions.afterRegistration(); } else { - registrationOptions.onError?.call(registered); - onError(); + var pageToReturn = registrationOptions.onError?.call(registered); + + onError(pageToReturn); } } catch (e) { - onError(); + onError(0); } } diff --git a/pubspec.yaml b/pubspec.yaml index 2f2d1e4..03f5923 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ name: flutter_registration description: A Flutter Registration package -version: 1.0.0 +version: 1.1.0 repository: https://github.com/Iconica-Development/flutter_registration environment: