feature(registration): refactor i 4

This commit is contained in:
mso7nueh
2024-07-15 11:19:29 +03:00
parent 4780caf389
commit 8cf2388b18
12 changed files with 365 additions and 342 deletions

View File

@@ -176,16 +176,16 @@ class _RegistrationScreenState extends State<RegistrationScreen> {
NameScreen(sheet: state.sheet),
GenderScreen(sheet: state.sheet),
DateOfBirthScreen(sheet: state.sheet),
CityOfLivingScreen(),
BodyCircumferencesScreen(),
WeightScreen(),
HeightScreen(),
BloodPressureScreen(),
AllergiesScreen(),
MedicineIntakeScreen(),
FavoriteSportsScreen(),
FavoriteFoodsScreen(),
AdditionalInformationScreen(),
CityOfLivingScreen(sheet: state.sheet), // todo refactor
BodyCircumferencesScreen(sheet: state.sheet),
WeightScreen(sheet: state.sheet),
HeightScreen(sheet: state.sheet),
BloodPressureScreen(sheet: state.sheet),
AllergiesScreen(sheet: state.sheet),
MedicineIntakeScreen(sheet: state.sheet),
FavoriteSportsScreen(sheet: state.sheet),
FavoriteFoodsScreen(sheet: state.sheet),
AdditionalInformationScreen(sheet: state.sheet),
],
),
),
@@ -234,6 +234,32 @@ class _RegistrationScreenState extends State<RegistrationScreen> {
errorMessage += error + '\n\n';
}
showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text('Ошибка'),
content: Text(errorMessage),
actions: [
TextButton(
onPressed: () => Navigator.pop(context),
child: Text('OK'),
),
],
),
);
return false;
}
case 7:
List<String> errors = validateCircumferencesFields(state.sheet.chestCircumference, state.sheet.waistCircumference, state.sheet.hipCircumference);
if (errors.isEmpty) {
return true;
} else {
String errorMessage = '';
for (var error in errors) {
errorMessage += error + '\n\n';
}
showDialog(
context: context,
builder: (context) => AlertDialog(
@@ -254,6 +280,24 @@ class _RegistrationScreenState extends State<RegistrationScreen> {
}
}
List<String> validateCircumferencesFields(
String chestCircumference,
String waistCircumference,
String hipCircumference,
) {
List<String> errors = [];
if (chestCircumference.isEmpty | waistCircumference.isEmpty | hipCircumference.isEmpty) {
errors.add('circumference_empty'.tr);
}
if (![chestCircumference, waistCircumference, hipCircumference].every((circumference) => int.tryParse(circumference) != null)) {
errors.add('circumference_is_not_a_number'.tr);
}
return errors;
}
List<String> validateCredentialsFields(String email, String name, String password, String passwordConfirmation) {
List<String> errors = [];