Création de compte

pull/1/head
Enzo 2 years ago
parent b42a3fc230
commit 692e53d071

@ -2,9 +2,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:csv/csv.dart'; import 'package:csv/csv.dart';
import 'package:fit_tool/fit_tool.dart'; import 'package:fit_tool/fit_tool.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:smartfit_app_mobile/Modele/activity.dart';
class ManagerFile { class ManagerFile {
// ----- Read csv File ------- // // ----- Read csv File ------- //

@ -1,5 +1,4 @@
import 'dart:convert'; import 'dart:convert';
import 'package:crypto/crypto.dart'; import 'package:crypto/crypto.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -33,19 +32,20 @@ class _LoginViewState extends State<LoginView> {
return result; return result;
} }
Future<Tuple2<bool, Map<String, String>>> getUserInfo(String token) async { Future<Tuple2<bool, Map<dynamic, dynamic>>> getUserInfo(String token) async {
Tuple2 result = await api.getInfoUser(token); Tuple2 result = await api.getInfoUser(token);
if (result.item1 == false) { if (result.item1 == false) {
return const Tuple2(false, <String, String>{"Empty": "Empty"}); return const Tuple2(false, <String, String>{"Empty": "Empty"});
} }
return Tuple2(true, result.item2 as Map<String, String>); return Tuple2(true, result.item2);
} }
void fillUser(BuildContext context, Map<String, String> map, String token) { void fillUser(BuildContext context, Map<String, dynamic> map, String token) {
context.read<User>().email = map["email"]; context.read<User>().email = map["email"];
context.read<User>().username = map["username"]; context.read<User>().username = map["username"];
context.read<User>().token = token; context.read<User>().token = token;
context.read<User>().listActivity = List.empty(growable: true); context.read<User>().listActivity = List.empty(growable: true);
print(context.read<User>());
} }
@override @override

@ -1,10 +1,14 @@
import 'dart:convert';
import 'package:crypto/crypto.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:smartfit_app_mobile/Modele/Api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/Modele/Api/request_api.dart';
import 'package:smartfit_app_mobile/View/login/login_view.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/round_button.dart'; import 'package:smartfit_app_mobile/common_widget/round_button.dart';
import 'package:smartfit_app_mobile/common_widget/round_text_field.dart'; import 'package:smartfit_app_mobile/common_widget/round_text_field.dart';
//import 'package:smartfit_app_mobile/view/login/complete_profile_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:smartfit_app_mobile/view/main_tab/main_tab_view.dart'; import 'package:tuple/tuple.dart';
class SignUpView extends StatefulWidget { class SignUpView extends StatefulWidget {
const SignUpView({super.key}); const SignUpView({super.key});
@ -15,11 +19,19 @@ class SignUpView extends StatefulWidget {
class _SignUpViewState extends State<SignUpView> { class _SignUpViewState extends State<SignUpView> {
bool isCheck = false; bool isCheck = false;
IDataStrategy api = RequestApi();
final controllerTextEmail = TextEditingController(); final controllerTextEmail = TextEditingController();
final controllerTextUsername = TextEditingController(); final controllerTextUsername = TextEditingController();
final controllerTextPassword = TextEditingController(); final controllerTextPassword = TextEditingController();
Future<Tuple2<bool, String>> createUser() async {
return await api.postUser(
controllerTextEmail.text,
sha256.convert(utf8.encode(controllerTextPassword.text)).toString(),
controllerTextUsername.text);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var media = MediaQuery.of(context).size; var media = MediaQuery.of(context).size;
@ -53,13 +65,6 @@ class _SignUpViewState extends State<SignUpView> {
SizedBox( SizedBox(
height: media.width * 0.04, height: media.width * 0.04,
), ),
const RoundTextField(
hitText: "Nom",
icon: "assets/img/user_text.svg",
),
SizedBox(
height: media.width * 0.04,
),
RoundTextField( RoundTextField(
hitText: "Email", hitText: "Email",
icon: "assets/img/email.svg", icon: "assets/img/email.svg",
@ -116,7 +121,20 @@ class _SignUpViewState extends State<SignUpView> {
SizedBox( SizedBox(
height: media.width * 0.4, height: media.width * 0.4,
), ),
RoundButton(title: "Créer un compte", onPressed: () {}), RoundButton(
title: "Créer un compte",
onPressed: () async {
Tuple2<bool, String> result = await createUser();
if (result.item1) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const LoginView()));
} else {
print("Création de compte Impossible");
print(result.item2);
}
}),
SizedBox( SizedBox(
height: media.width * 0.04, height: media.width * 0.04,
), ),
@ -200,7 +218,7 @@ class _SignUpViewState extends State<SignUpView> {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => const MainTabView())); builder: (context) => const LoginView()));
}, },
child: Row( child: Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,

Loading…
Cancel
Save