forked from eatvio/eatvio_app
Added a name field to pass server validation
This commit is contained in:
@@ -2,6 +2,7 @@ import 'dart:convert';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
class UserRegistrationSheet {
|
||||
String name;
|
||||
String firstName;
|
||||
String lastName;
|
||||
String email;
|
||||
@@ -30,6 +31,7 @@ class UserRegistrationSheet {
|
||||
String additionalInfo = '';
|
||||
|
||||
UserRegistrationSheet({
|
||||
required this.name,
|
||||
required this.firstName,
|
||||
required this.lastName,
|
||||
required this.email,
|
||||
@@ -60,6 +62,7 @@ class UserRegistrationSheet {
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'name': name,
|
||||
'first_name': firstName,
|
||||
'last_name': lastName,
|
||||
'email': email,
|
||||
@@ -88,15 +91,4 @@ class UserRegistrationSheet {
|
||||
'additional_info': additionalInfo,
|
||||
};
|
||||
}
|
||||
|
||||
Future<void> sendJson(Uri url) async {
|
||||
final response = await http.post(
|
||||
url,
|
||||
headers: {'Content-Type': 'application/json'},
|
||||
body: jsonEncode(toJson()),
|
||||
);
|
||||
if (response.statusCode != 200) {
|
||||
throw Exception('Failed to send data');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
final Map<String, String> ru = {
|
||||
"user_registration": "Регистрация пользователя",
|
||||
"email": "Элетронная почта",
|
||||
"username": "Имя пользователя",
|
||||
"password": "Пароль",
|
||||
"password_confirmation": "Подтвердите пароль",
|
||||
"first_name": "Имя",
|
||||
@@ -61,7 +62,7 @@ final Map<String, String> ru = {
|
||||
// language_select Screen
|
||||
"lbl_english": "English",
|
||||
"finish": "Завершить",
|
||||
"preferred_language": "Предпочетаемый язык общения?",
|
||||
"preferred_language": "Предпочитаемый язык общения?",
|
||||
|
||||
// Common String
|
||||
"continue": "Продолжить", "skip": "Пропустить",
|
||||
|
||||
@@ -17,6 +17,7 @@ class CredentialsBloc extends Bloc<CredentialsEvent, CredentialsState> {
|
||||
) async {
|
||||
emit(state.copyWith(
|
||||
valueController: TextEditingController(),
|
||||
nameController: TextEditingController(),
|
||||
passwordController: TextEditingController(),
|
||||
passwordConfirmationController: TextEditingController()));
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ part of 'credentials_bloc.dart';
|
||||
class CredentialsState extends Equatable {
|
||||
CredentialsState({
|
||||
this.valueController,
|
||||
this.nameController,
|
||||
this.passwordController,
|
||||
this.passwordConfirmationController,
|
||||
this.credentialsModelObj,
|
||||
@@ -13,6 +14,8 @@ class CredentialsState extends Equatable {
|
||||
|
||||
TextEditingController? valueController;
|
||||
|
||||
TextEditingController? nameController;
|
||||
|
||||
TextEditingController? passwordController;
|
||||
|
||||
TextEditingController? passwordConfirmationController;
|
||||
@@ -22,11 +25,13 @@ class CredentialsState extends Equatable {
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
valueController,
|
||||
nameController,
|
||||
passwordController,
|
||||
passwordConfirmationController,
|
||||
credentialsModelObj,
|
||||
];
|
||||
CredentialsState copyWith({
|
||||
TextEditingController? nameController,
|
||||
TextEditingController? valueController,
|
||||
TextEditingController? passwordController,
|
||||
TextEditingController? passwordConfirmationController,
|
||||
@@ -34,6 +39,7 @@ class CredentialsState extends Equatable {
|
||||
}) {
|
||||
return CredentialsState(
|
||||
valueController: valueController ?? this.valueController,
|
||||
nameController: nameController ?? this.nameController,
|
||||
passwordController: passwordController ?? this.passwordController,
|
||||
passwordConfirmationController:
|
||||
passwordConfirmationController ?? this.passwordConfirmationController,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'bloc/credentials_bloc.dart';
|
||||
import 'models/credentials_model.dart';
|
||||
import 'package:eatvio_app/core/app_export.dart';
|
||||
import 'package:eatvio_app/widgets/app_bar/appbar_leading_image.dart';
|
||||
import 'package:eatvio_app/widgets/app_bar/appbar_title_image.dart';
|
||||
import 'package:eatvio_app/widgets/app_bar/custom_app_bar.dart';
|
||||
import 'package:eatvio_app/widgets/next_step_button.dart';
|
||||
@@ -64,6 +63,17 @@ class CredentialsScreen extends StatelessWidget {
|
||||
controller: valueController,
|
||||
textInputAction: TextInputAction.done);
|
||||
}),
|
||||
SizedBox(height: 22.v),
|
||||
Text("username".tr, style: theme.textTheme.bodyLarge),
|
||||
SizedBox(height: 3.v),
|
||||
BlocSelector<CredentialsBloc, CredentialsState,
|
||||
TextEditingController?>(
|
||||
selector: (state) => state.nameController,
|
||||
builder: (context, nameController) {
|
||||
return CustomTextFormField(
|
||||
controller: nameController,
|
||||
textInputAction: TextInputAction.done);
|
||||
}),
|
||||
SizedBox(height: 19.v),
|
||||
Text("password".tr, style: theme.textTheme.bodyLarge),
|
||||
SizedBox(height: 5.v),
|
||||
@@ -101,6 +111,7 @@ class CredentialsScreen extends StatelessWidget {
|
||||
UserRegistrationSheet sheet =
|
||||
state.credentialsModelObj!.userRegistrationSheet;
|
||||
sheet.email = state.valueController!.text;
|
||||
sheet.name = state.nameController!.text;
|
||||
sheet.password = state.passwordController!.text;
|
||||
sheet.passwordConfirmation =
|
||||
state.passwordConfirmationController!.text;
|
||||
|
||||
@@ -9,6 +9,7 @@ import 'package:eatvio_app/data/models/selectionPopupModel/selection_popup_model
|
||||
class LanguageSelectModel extends Equatable {
|
||||
LanguageSelectModel({this.dropdownItemList = const []});
|
||||
UserRegistrationSheet userRegistrationSheet = UserRegistrationSheet(
|
||||
name: '',
|
||||
firstName: '',
|
||||
lastName: '',
|
||||
email: '',
|
||||
|
||||
Reference in New Issue
Block a user