flutter_registration/lib/src/registration_screen.dart

43 lines
1.2 KiB
Dart
Raw Normal View History

import 'dart:collection';
2022-09-20 15:51:22 +02:00
import 'package:flutter/material.dart';
import 'package:flutter_registration/flutter_registration.dart';
import 'package:flutter_registration/src/auth_screen.dart';
class RegistrationScreen extends StatelessWidget {
const RegistrationScreen({
required this.registrationOptions,
2022-09-20 15:51:22 +02:00
super.key,
});
final RegistrationOptions registrationOptions;
2022-09-20 15:51:22 +02:00
@override
Widget build(BuildContext context) {
var translations = registrationOptions.registrationTranslations;
void register({
required HashMap<String, String> values,
required VoidCallback onError,
}) =>
2022-09-26 12:00:03 +02:00
registrationOptions.registrationRepository.register(values).then(
(response) {
if (response) {
registrationOptions.afterRegistration();
}
2022-09-20 15:51:22 +02:00
},
).catchError((_) {
onError();
});
2022-09-20 15:51:22 +02:00
return AuthScreen(
steps: registrationOptions.registrationSteps,
2022-09-22 11:48:04 +02:00
onFinish: register,
title: translations.title,
submitBtnTitle: translations.registerBtn,
nextBtnTitle: translations.nextStepBtn,
previousBtnTitle: translations.previousStepBtn,
2022-09-20 15:51:22 +02:00
);
}
}