From 692e53d071fd68b4bb75687de6dcf2cabf8b6068 Mon Sep 17 00:00:00 2001 From: Enzo Date: Mon, 13 Nov 2023 09:00:21 +0100 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20de=20compte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Modele/manager_file.dart | 2 -- lib/View/login/login_view.dart | 8 +++---- lib/View/login/signup_view.dart | 40 ++++++++++++++++++++++++--------- 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/lib/Modele/manager_file.dart b/lib/Modele/manager_file.dart index 55c2cea..f07ffd5 100644 --- a/lib/Modele/manager_file.dart +++ b/lib/Modele/manager_file.dart @@ -2,9 +2,7 @@ import 'dart:convert'; import 'dart:io'; import 'package:csv/csv.dart'; import 'package:fit_tool/fit_tool.dart'; -import 'package:fl_chart/fl_chart.dart'; import 'package:path_provider/path_provider.dart'; -import 'package:smartfit_app_mobile/Modele/activity.dart'; class ManagerFile { // ----- Read csv File ------- // diff --git a/lib/View/login/login_view.dart b/lib/View/login/login_view.dart index 335df80..78f8cf5 100644 --- a/lib/View/login/login_view.dart +++ b/lib/View/login/login_view.dart @@ -1,5 +1,4 @@ import 'dart:convert'; - import 'package:crypto/crypto.dart'; import 'package:flutter_svg/svg.dart'; import 'package:provider/provider.dart'; @@ -33,19 +32,20 @@ class _LoginViewState extends State { return result; } - Future>> getUserInfo(String token) async { + Future>> getUserInfo(String token) async { Tuple2 result = await api.getInfoUser(token); if (result.item1 == false) { return const Tuple2(false, {"Empty": "Empty"}); } - return Tuple2(true, result.item2 as Map); + return Tuple2(true, result.item2); } - void fillUser(BuildContext context, Map map, String token) { + void fillUser(BuildContext context, Map map, String token) { context.read().email = map["email"]; context.read().username = map["username"]; context.read().token = token; context.read().listActivity = List.empty(growable: true); + print(context.read()); } @override diff --git a/lib/View/login/signup_view.dart b/lib/View/login/signup_view.dart index 8062686..6a90aea 100644 --- a/lib/View/login/signup_view.dart +++ b/lib/View/login/signup_view.dart @@ -1,10 +1,14 @@ +import 'dart:convert'; +import 'package:crypto/crypto.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_widget/round_button.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:smartfit_app_mobile/view/main_tab/main_tab_view.dart'; +import 'package:tuple/tuple.dart'; class SignUpView extends StatefulWidget { const SignUpView({super.key}); @@ -15,11 +19,19 @@ class SignUpView extends StatefulWidget { class _SignUpViewState extends State { bool isCheck = false; + IDataStrategy api = RequestApi(); final controllerTextEmail = TextEditingController(); final controllerTextUsername = TextEditingController(); final controllerTextPassword = TextEditingController(); + Future> createUser() async { + return await api.postUser( + controllerTextEmail.text, + sha256.convert(utf8.encode(controllerTextPassword.text)).toString(), + controllerTextUsername.text); + } + @override Widget build(BuildContext context) { var media = MediaQuery.of(context).size; @@ -53,13 +65,6 @@ class _SignUpViewState extends State { SizedBox( height: media.width * 0.04, ), - const RoundTextField( - hitText: "Nom", - icon: "assets/img/user_text.svg", - ), - SizedBox( - height: media.width * 0.04, - ), RoundTextField( hitText: "Email", icon: "assets/img/email.svg", @@ -116,7 +121,20 @@ class _SignUpViewState extends State { SizedBox( height: media.width * 0.4, ), - RoundButton(title: "Créer un compte", onPressed: () {}), + RoundButton( + title: "Créer un compte", + onPressed: () async { + Tuple2 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( height: media.width * 0.04, ), @@ -200,7 +218,7 @@ class _SignUpViewState extends State { Navigator.push( context, MaterialPageRoute( - builder: (context) => const MainTabView())); + builder: (context) => const LoginView())); }, child: Row( mainAxisSize: MainAxisSize.min,