From 94074c7e8dd700837a767b7ef4f0c3a47678a580 Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Tue, 20 Jun 2023 19:01:38 -0300 Subject: [PATCH] ajustada as rotas e passagem de parametros --- lib/main.dart | 10 +++++++++- lib/screens/home_screen.dart | 12 ++++++------ lib/screens/login_screen.dart | 10 ++-------- lib/screens/responsible_register_screen.dart | 7 +++---- lib/widgets/dados_alunos_container.dart | 5 +---- pubspec.lock | 5 +++++ pubspec.yaml | 2 ++ 7 files changed, 28 insertions(+), 23 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index a38a0e9..f92fb16 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,8 +1,12 @@ +import 'package:educa_controle_acesso/models/aluno_model.dart'; import 'package:educa_controle_acesso/screens/home_screen.dart'; import 'package:educa_controle_acesso/screens/login_screen.dart'; +import 'package:educa_controle_acesso/screens/responsible_register_screen.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_web_plugins/flutter_web_plugins.dart'; void main() { + setUrlStrategy(PathUrlStrategy()); runApp(const MyApp()); } @@ -14,7 +18,11 @@ class MyApp extends StatelessWidget { return MaterialApp( debugShowCheckedModeBanner: false, title: 'CONTROLE DE ACESSO', - home: LoginScreen(), + routes: { + '/': (_)=> LoginScreen(), + '/home':(context)=> HomeScreen(acesso: ModalRoute.of(context)!.settings.arguments as String), + '/cadastro':(context)=>ResponsibleRegisterScreen(ModalRoute.of(context)!.settings.arguments as AlunoModel), + }, ); } } diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index a98dea0..8017205 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -1,5 +1,4 @@ import 'dart:convert'; - import 'package:educa_controle_acesso/utils/colors.dart'; import 'package:educa_controle_acesso/widgets/input_text.dart'; import 'package:educa_controle_acesso/widgets/text_custom.dart'; @@ -8,11 +7,11 @@ import '../models/aluno_model.dart'; import '../widgets/buttom_custom.dart'; import '../widgets/dados_alunos_container.dart'; import 'package:http/http.dart' as http; - import '../widgets/snackBars.dart'; class HomeScreen extends StatefulWidget { - const HomeScreen({Key? key}) : super(key: key); + String acesso; + HomeScreen({this.acesso=''}); @override State createState() => _HomeScreenState(); @@ -47,7 +46,7 @@ class _HomeScreenState extends State { }); }else{ List list = map; - print(list); + // print(list); if(list.length != 0){ for(int i =0; list.length>i;i++){ String data = list[i]['DT_NASCIMENTO']??''; @@ -120,7 +119,8 @@ class _HomeScreenState extends State { @override void initState() { super.initState(); - // inputPesquisa.addListener(pesquisa); + print('aqui'); + print(widget.acesso); } @override @@ -129,7 +129,7 @@ class _HomeScreenState extends State { double width = MediaQuery.of(context).size.width; double height = MediaQuery.of(context).size.height; - return Scaffold( + return widget.acesso==null || widget.acesso == ''?Container():Scaffold( appBar: AppBar( title: Row( children: [ diff --git a/lib/screens/login_screen.dart b/lib/screens/login_screen.dart index 70bdbf5..259d2c2 100644 --- a/lib/screens/login_screen.dart +++ b/lib/screens/login_screen.dart @@ -53,10 +53,7 @@ class _LoginScreenState extends State { if(map['NO_USERNAME']==map['SENHA']){ if(map['NO_USERNAME']==inputLogin.text.toUpperCase() && map['SENHA']==inputSenha.text.toUpperCase()){ showSnackBar(context, 'Acesso validado', Colors.green); - Navigator.push( - context, - MaterialPageRoute(builder: (context) => HomeScreen()), - ); + Navigator.pushNamed(context, '/home',arguments: 'ok'); }else{ showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red); } @@ -64,10 +61,7 @@ class _LoginScreenState extends State { // print(MainControllers().encrypt(inputSenha.text,map['SENHA'])); if(MainControllers().encrypt(inputSenha.text,map['SENHA']) == map['SENHA']){ showSnackBar(context, 'Acesso validado', Colors.green); - Navigator.pushReplacement( - context, - MaterialPageRoute(builder: (context) => HomeScreen()), - ); + Navigator.pushNamed(context, '/home',arguments: 'ok'); }else{ showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red); } diff --git a/lib/screens/responsible_register_screen.dart b/lib/screens/responsible_register_screen.dart index be3c9ff..8e323cd 100644 --- a/lib/screens/responsible_register_screen.dart +++ b/lib/screens/responsible_register_screen.dart @@ -1,5 +1,4 @@ import 'dart:convert'; - import 'package:brasil_fields/brasil_fields.dart'; import 'package:educa_controle_acesso/models/aluno_model.dart'; import 'package:educa_controle_acesso/models/responsavel_model.dart'; @@ -19,7 +18,7 @@ import 'package:http/http.dart' as http; class ResponsibleRegisterScreen extends StatefulWidget { AlunoModel alunoModel; - ResponsibleRegisterScreen({required this.alunoModel}); + ResponsibleRegisterScreen(this.alunoModel); @override State createState() => _ResponsibleRegisterScreenState(); @@ -195,10 +194,10 @@ class _ResponsibleRegisterScreenState extends State { paisBanco()async{ final url = 'http://localhost:8000/pais?CD_ALUNO=${widget.alunoModel.dados['CD_ALUNO']}'; - print(url); + // print(url); final response = await http.get(Uri.parse(url)); var map = json.decode(response.body); - print(map); + // print(map); carregaPais(map); } diff --git a/lib/widgets/dados_alunos_container.dart b/lib/widgets/dados_alunos_container.dart index 186c0aa..7792642 100644 --- a/lib/widgets/dados_alunos_container.dart +++ b/lib/widgets/dados_alunos_container.dart @@ -21,10 +21,7 @@ class DadosAlunosContainer extends StatelessWidget { return InkWell( hoverColor: PaletteColors.lightGrey, onTap: (){ - Navigator.push( - context, - MaterialPageRoute(builder: (context) => ResponsibleRegisterScreen(alunoModel: alunoModel)), - ); + Navigator.pushNamed(context, '/cadastro',arguments: alunoModel); }, child: Container( padding: EdgeInsets.symmetric(vertical: 10,horizontal: 0), diff --git a/pubspec.lock b/pubspec.lock index dbf5ed8..ec85501 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -123,6 +123,11 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_web_plugins: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" gainer_crypto: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index b09cd5f..0741201 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,6 +9,8 @@ environment: dependencies: flutter: sdk: flutter + flutter_web_plugins: + sdk: flutter cupertino_icons: ^1.0.2 gainer_crypto: ^0.0.6