Added sign up screen and model

This commit is contained in:
Abdullah Alassaf
2024-05-23 14:08:40 +03:00
parent 0eea5242e1
commit f7db91f212
6 changed files with 285 additions and 12 deletions

View File

@ -1,7 +1,9 @@
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:syncrow_app/features/auth/model/login_with_email_model.dart';
import 'package:syncrow_app/features/auth/model/signup_model.dart';
import 'package:syncrow_app/features/auth/model/token.dart';
import 'package:syncrow_app/features/auth/model/user_model.dart';
import 'package:syncrow_app/navigation/navigation_service.dart';
@ -16,7 +18,11 @@ class AuthCubit extends Cubit<AuthState> {
final TextEditingController emailController = TextEditingController();
final TextEditingController passwordController = TextEditingController();
final TextEditingController emailSignUpController = TextEditingController();
final TextEditingController passwordSignUpController = TextEditingController();
final loginFormKey = GlobalKey<FormState>();
final signUpFormKey = GlobalKey<FormState>();
bool isPasswordVisible = false;
static GlobalKey<FormState> formKey = GlobalKey<FormState>();
@ -118,6 +124,30 @@ class AuthCubit extends Cubit<AuthState> {
}
}
signUp() async {
emit(AuthLoginLoading());
final response;
try {
response = await AuthenticationAPI.signUp(
model: SignUpModel(
email: emailController.text.toLowerCase(),
password: passwordController.text,
firstName: '',
lastName: ''),
);
} catch (failure) {
emit(AuthLoginError(message: failure.toString()));
return;
}
if (response['statusCode'] == 201) {
emailController.clear();
passwordController.clear();
emit(AuthLoginSuccess());
} else {
emit(AuthLoginError(message: 'Something went wrong'));
}
}
logout() async {
emit(AuthLogoutLoading());
try {