login working (missing correct navigation)

This commit is contained in:
2023-08-30 17:35:16 -03:00
parent 06a352d8bf
commit 8328b7af4c
9 changed files with 95 additions and 73 deletions
+27 -16
View File
@@ -1,15 +1,11 @@
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:pcastlivetv/components/nc_form_field.dart';
import 'package:pcastlivetv/routes.dart';
import 'package:pcastlivetv/services/snackbar_service.dart';
import 'package:pcastlivetv/stores/login_store.dart';
import 'package:validatorless/validatorless.dart';
import 'package:velocity_x/velocity_x.dart';
// import 'package:velocity_x/velocity_x.dart';
import '../components/nc_form_field.dart';
// import '../stores/login_store.dart';
class LoginPage extends StatefulWidget {
const LoginPage({super.key});
@@ -95,7 +91,21 @@ class _LoginPageState extends State<LoginPage> {
),
),
onPressed: () async {
await verifyLogin(formKey, store, email, password);
var result = await processAuth(formKey, store, email, password);
if (result) {
router.go('/user');
} else {
Fluttertoast.showToast(
msg: store.message!,
toastLength: Toast.LENGTH_LONG,
webBgColor: "linear-gradient(to right, #ff0000, #ff0000)",
webPosition: "center",
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: Colors.red,
textColor: Colors.white,
fontSize: 32);
}
},
child: const Padding(
padding: EdgeInsets.all(8.0),
@@ -116,10 +126,6 @@ class _LoginPageState extends State<LoginPage> {
);
}
Future<void> verifyLogin(GlobalKey<FormState> formKey, LoginStore store, String email, String password) async {
processAuth(formKey, store, email, password);
}
Future<bool> processAuth(GlobalKey<FormState> formKey, LoginStore store, String email, String password) async {
Function? close;
if (formKey.currentState!.validate()) {
@@ -137,20 +143,25 @@ class _LoginPageState extends State<LoginPage> {
close();
if (store.isLogged) {
SnackBarService.showSnackBar(content: "Login efetuado com sucesso!", error: false);
router.go('/home');
return true;
}
if (store.message != "") {
SnackBarService.showSnackBar(content: store.message!, error: true);
return false;
}
} catch (e) {
close!();
SnackBarService.showSnackBar(content: e.toString().replaceAll("Exception: ", ""), error: true);
return false;
Fluttertoast.showToast(
msg: e.toString().replaceAll("Exception: ", ""),
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: Colors.red,
textColor: Colors.white,
fontSize: 16.0);
}
// SnackBarService.showSnackBar(content: e.toString().replaceAll("Exception: ", ""), error: true);
return false;
}
return false;
}
+20
View File
@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:pcastlivetv/components/nc_base_page.dart';
class UserPage extends StatelessWidget {
const UserPage({super.key});
@override
Widget build(BuildContext context) {
return const NcBasePage(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("User Page"),
],
),
),
);
}
}