Merge pull request #9 from Iconica-Development/bugfix/change_error

Bugfix/change error
This commit is contained in:
Jacques Doeleman 2023-09-20 17:00:01 +02:00 committed by GitHub
commit a9380b0eb7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 51 additions and 37 deletions

View file

@ -26,7 +26,7 @@ jobs:
channel: 'stable' channel: 'stable'
- name: Flutter pub get - name: Flutter pub get
run: flutter pub get run: flutter pub get
- name: Flutter format - name: Dart format
run: flutter format -o none --set-exit-if-changed . run: dart format -o none --set-exit-if-changed .
- name: Flutter analyze - name: Flutter analyze
run: flutter analyze run: flutter analyze

View file

@ -4,6 +4,11 @@ SPDX-FileCopyrightText: 2022 Iconica
SPDX-License-Identifier: GPL-3.0-or-later SPDX-License-Identifier: GPL-3.0-or-later
--> -->
# 1.0.0
- feat: Added an onError function.
- feat: Register function in RegistrationRepository can now return a nullable string. Works like a validator.
# 0.5.0 # 0.5.0
- feat: add customBackgroundColor to AuthScreen - feat: add customBackgroundColor to AuthScreen

View file

@ -9,8 +9,8 @@ import 'package:flutter_registration/flutter_registration.dart';
class ExampleRegistrationRepository with RegistrationRepository { class ExampleRegistrationRepository with RegistrationRepository {
@override @override
Future<bool> register(HashMap values) { Future<String?> register(HashMap values) {
debugPrint('register: $values'); debugPrint('register: $values');
return Future.value(true); return Future.value(null);
} }
} }

View file

@ -5,10 +5,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.10.0" version: "2.11.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
@ -21,10 +21,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: characters name: characters
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.3.0"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@ -37,10 +37,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.0" version: "1.17.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -81,7 +81,7 @@ packages:
path: ".." path: ".."
relative: true relative: true
source: path source: path
version: "0.4.0" version: "0.5.0"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -91,18 +91,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: intl name: intl
sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.17.0" version: "0.18.1"
js:
dependency: transitive
description:
name: js
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
url: "https://pub.dev"
source: hosted
version: "0.6.5"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -115,34 +107,34 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.13" version: "0.12.16"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0" version: "0.5.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.0" version: "1.9.1"
path: path:
dependency: transitive dependency: transitive
description: description:
name: path name: path
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.2" version: "1.8.3"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -152,10 +144,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -192,10 +184,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.16" version: "0.6.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -204,6 +196,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.1.4"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
sdks: sdks:
dart: ">=2.18.0 <3.0.0" dart: ">=3.1.0-185.0.dev <4.0.0"
flutter: ">=1.17.0" flutter: ">=1.17.0"

View file

@ -11,13 +11,16 @@ class RegistrationOptions {
required this.registrationSteps, required this.registrationSteps,
required this.afterRegistration, required this.afterRegistration,
this.registrationTranslations = const RegistrationTranslations(), this.registrationTranslations = const RegistrationTranslations(),
this.onError,
this.customAppbarBuilder, this.customAppbarBuilder,
this.nextButtonBuilder, this.nextButtonBuilder,
this.previousButtonBuilder, this.previousButtonBuilder,
this.backgroundColor,
}); });
final RegistrationTranslations registrationTranslations; final RegistrationTranslations registrationTranslations;
final List<AuthStep> registrationSteps; final List<AuthStep> registrationSteps;
final void Function(String error)? onError;
final VoidCallback afterRegistration; final VoidCallback afterRegistration;
final RegistrationRepository registrationRepository; final RegistrationRepository registrationRepository;
final AppBar Function(String title)? customAppbarBuilder; final AppBar Function(String title)? customAppbarBuilder;
@ -25,6 +28,7 @@ class RegistrationOptions {
nextButtonBuilder; nextButtonBuilder;
final Widget Function(VoidCallback onPressed, String label)? final Widget Function(VoidCallback onPressed, String label)?
previousButtonBuilder; previousButtonBuilder;
final Color? backgroundColor;
static List<AuthStep> getDefaultSteps({ static List<AuthStep> getDefaultSteps({
TextEditingController? emailController, TextEditingController? emailController,

View file

@ -23,8 +23,12 @@ class RegistrationScreen extends StatelessWidget {
try { try {
var registered = var registered =
await registrationOptions.registrationRepository.register(values); await registrationOptions.registrationRepository.register(values);
if (registered) {
if (registered == null) {
registrationOptions.afterRegistration(); registrationOptions.afterRegistration();
} else {
registrationOptions.onError?.call(registered);
onError();
} }
} catch (e) { } catch (e) {
onError(); onError();
@ -47,6 +51,7 @@ class RegistrationScreen extends StatelessWidget {
previousBtnTitle: translations.previousStepBtn, previousBtnTitle: translations.previousStepBtn,
nextButtonBuilder: registrationOptions.nextButtonBuilder, nextButtonBuilder: registrationOptions.nextButtonBuilder,
previousButtonBuilder: registrationOptions.previousButtonBuilder, previousButtonBuilder: registrationOptions.previousButtonBuilder,
customBackgroundColor: registrationOptions.backgroundColor,
); );
} }
} }

View file

@ -5,5 +5,5 @@
import 'dart:collection'; import 'dart:collection';
mixin RegistrationRepository { mixin RegistrationRepository {
Future<bool> register(HashMap values); Future<String?> register(HashMap values);
} }

View file

@ -4,7 +4,7 @@
name: flutter_registration name: flutter_registration
description: A Flutter Registration package description: A Flutter Registration package
version: 0.5.0 version: 1.0.0
repository: https://github.com/Iconica-Development/flutter_registration repository: https://github.com/Iconica-Development/flutter_registration
environment: environment: