criada as telas tela_avisos.dart, tela_detalhes_avisos.dart e tela_contatos.dart
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/utils/colors.dart';
|
import 'package:rkm_educa_app/utils/cores.dart';
|
||||||
import 'package:rkm_educa_app/widgets/buttom_custom.dart';
|
import 'package:rkm_educa_app/componentes/buttom_custom.dart';
|
||||||
import 'package:rkm_educa_app/widgets/text_custom.dart';
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
|
||||||
class AlertDefault{
|
class AlertDefault{
|
||||||
alert(BuildContext context,String title,String textButtom,Widget subtitle,) {
|
alert(BuildContext context,String title,String textButtom,Widget subtitle,) {
|
||||||
@@ -28,8 +28,8 @@ class AlertDefault{
|
|||||||
heightCustom: 0.05,
|
heightCustom: 0.05,
|
||||||
size: 14,
|
size: 14,
|
||||||
colorText: Colors.white,
|
colorText: Colors.white,
|
||||||
colorBorder: PaletteColors.grey,
|
colorBorder: PaletaCores.cinza,
|
||||||
colorButton: PaletteColors.grey,
|
colorButton: PaletaCores.cinza,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
actionsAlignment: MainAxisAlignment.center,
|
actionsAlignment: MainAxisAlignment.center,
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/widgets/text_custom.dart';
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
|
||||||
import '../utils/colors.dart';
|
import '../utils/cores.dart';
|
||||||
|
|
||||||
class AppBarCustom{
|
class AppBarCustom{
|
||||||
@override
|
@override
|
||||||
@@ -10,7 +10,7 @@ class AppBarCustom{
|
|||||||
return PreferredSize(
|
return PreferredSize(
|
||||||
preferredSize: Size.fromHeight(50),
|
preferredSize: Size.fromHeight(50),
|
||||||
child: AppBar(
|
child: AppBar(
|
||||||
backgroundColor: PaletteColors.appBar,
|
backgroundColor: PaletaCores.appBar,
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: TextCustom(text: title,color: Colors.white,fontWeight: FontWeight.bold,size: 20.0,),
|
title: TextCustom(text: title,color: Colors.white,fontWeight: FontWeight.bold,size: 20.0,),
|
||||||
),
|
),
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||||
|
|
||||||
class ButtonCustom extends StatelessWidget{
|
class ButtonCustom extends StatelessWidget{
|
||||||
final VoidCallback onPressed;
|
final VoidCallback onPressed;
|
||||||
@@ -22,13 +23,11 @@ ButtonCustom({
|
|||||||
});
|
});
|
||||||
@override
|
@override
|
||||||
Widget build (BuildContext context) {
|
Widget build (BuildContext context) {
|
||||||
double width =MediaQuery.of(context).size.width;
|
|
||||||
double height =MediaQuery.of(context).size.height;
|
|
||||||
|
|
||||||
return ElevatedButton(
|
return ElevatedButton(
|
||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
primary: colorButton,
|
primary: colorButton,
|
||||||
minimumSize: Size(width*widthCustom! , height*heightCustom!),
|
minimumSize: Size(Dimensoes.width*widthCustom! , Dimensoes.height*heightCustom!),
|
||||||
side: BorderSide(width: 2,color : colorBorder,),
|
side: BorderSide(width: 2,color : colorBorder,),
|
||||||
),
|
),
|
||||||
onPressed: onPressed,
|
onPressed: onPressed,
|
||||||
@@ -1,25 +1,26 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:line_icons/line_icons.dart';
|
import 'package:line_icons/line_icons.dart';
|
||||||
import 'package:rkm_educa_app/models/aluno_model.dart';
|
import 'package:rkm_educa_app/Telas/tela_situacao_escolar.dart';
|
||||||
import 'package:rkm_educa_app/screens/login_screen.dart';
|
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||||
import 'package:rkm_educa_app/screens/perfil_screen.dart';
|
import 'package:rkm_educa_app/telas/tela_contatos.dart';
|
||||||
import 'package:rkm_educa_app/utils/colors.dart';
|
import 'package:rkm_educa_app/telas/tela_login.dart';
|
||||||
import 'package:rkm_educa_app/widgets/text_custom.dart';
|
import 'package:rkm_educa_app/telas/tela_perfil.dart';
|
||||||
|
import 'package:rkm_educa_app/utils/cores.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||||
import 'item_drawer.dart';
|
import 'item_drawer.dart';
|
||||||
|
|
||||||
class DrawerCustom extends StatelessWidget {
|
class DrawerCustom extends StatelessWidget {
|
||||||
AlunoModel alunoModel;
|
EstudanteModelo estudanteModelo;
|
||||||
DrawerCustom({
|
DrawerCustom({
|
||||||
required this.alunoModel
|
required this.estudanteModelo
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
double width = MediaQuery.of(context).size.width;
|
|
||||||
double height = MediaQuery.of(context).size.height;
|
|
||||||
return Container(
|
return Container(
|
||||||
padding: EdgeInsets.symmetric(vertical: 20),
|
padding: EdgeInsets.symmetric(vertical: 20),
|
||||||
width: width*0.8,
|
width: Dimensoes.width*0.8,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
child: ListView(
|
child: ListView(
|
||||||
children: [
|
children: [
|
||||||
@@ -27,72 +28,81 @@ class DrawerCustom extends StatelessWidget {
|
|||||||
radius: 70,
|
radius: 70,
|
||||||
child: ClipRRect(
|
child: ClipRRect(
|
||||||
borderRadius:BorderRadius.circular(70),
|
borderRadius:BorderRadius.circular(70),
|
||||||
child: Image.asset(alunoModel.foto),
|
child: Image.asset(estudanteModelo.foto),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: TextCustom(text: alunoModel.nome,fontWeight: FontWeight.bold,size: 16.0,textAlign: TextAlign.center),
|
child: TextCustom(text: estudanteModelo.nome,fontWeight: FontWeight.bold,size: 16.0,textAlign: TextAlign.center),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
height: height*0.5,
|
height: Dimensoes.height*0.5,
|
||||||
child: ListView(
|
child: ListView(
|
||||||
children: [
|
children: [
|
||||||
|
ItemDrawer(
|
||||||
|
icone: LineIcons.home,
|
||||||
|
texto: 'Situação Escolar',
|
||||||
|
onPressed: ()=> Navigator.pushReplacement(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(builder: (context) => TelaSituacaoEscolar(estudanteModelo: estudanteModelo,)),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.userCircle,
|
icone: LineIcons.userCircle,
|
||||||
texto: 'Perfil',
|
texto: 'Perfil',
|
||||||
onPressed: ()=> Navigator.pushReplacement(
|
onPressed: ()=> Navigator.pushReplacement(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder: (context) => PerfilScreen(alunoModel: alunoModel,)),
|
MaterialPageRoute(builder: (context) => TelaPerfil(estudanteModelo: estudanteModelo,)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.clipboardList,
|
icone: LineIcons.clipboardList,
|
||||||
texto: 'Boletim Escolar',
|
texto: 'Boletim Escolar',
|
||||||
onPressed: (){},
|
onPressed: (){},
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.fileContract,
|
icone: LineIcons.fileContract,
|
||||||
texto: 'Histórico Escolar',
|
texto: 'Histórico Escolar',
|
||||||
onPressed: (){},
|
onPressed: (){},
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.checkSquareAlt,
|
icone: LineIcons.checkSquareAlt,
|
||||||
texto: 'Chamadas / Presenças',
|
texto: 'Chamadas / Presenças',
|
||||||
onPressed: (){},
|
onPressed: (){},
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.calendarAlt,
|
icone: LineIcons.calendarAlt,
|
||||||
texto: 'Agenda Escolar',
|
texto: 'Agenda Escolar',
|
||||||
onPressed: (){},
|
onPressed: (){},
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.calendarTimes,
|
icone: LineIcons.calendarTimes,
|
||||||
texto: 'Eventos Escolares',
|
texto: 'Eventos Escolares',
|
||||||
onPressed: (){},
|
onPressed: (){},
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.mobilePhone,
|
icone: LineIcons.mobilePhone,
|
||||||
texto: 'Contatos',
|
texto: 'Contatos',
|
||||||
onPressed: (){},
|
onPressed: ()=>Navigator.push(context, MaterialPageRoute(builder: (context)=>TelaContatos(estudanteModelo: estudanteModelo,))),
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
ItemDrawer(
|
ItemDrawer(
|
||||||
icone: LineIcons.bus,
|
icone: LineIcons.bus,
|
||||||
texto: 'Passe',
|
texto: 'Passe',
|
||||||
onPressed: (){},
|
onPressed: (){},
|
||||||
),
|
),
|
||||||
Container(height: 1,color: PaletteColors.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: height*0.15,),
|
SizedBox(height: Dimensoes.height*0.15,),
|
||||||
SafeArea(
|
SafeArea(
|
||||||
child: Container(
|
child: Container(
|
||||||
alignment: Alignment.bottomRight,
|
alignment: Alignment.bottomRight,
|
||||||
@@ -101,7 +111,7 @@ class DrawerCustom extends StatelessWidget {
|
|||||||
onPressed: (){
|
onPressed: (){
|
||||||
Navigator.pushReplacement(
|
Navigator.pushReplacement(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder: (context) => LoginScreen()),
|
MaterialPageRoute(builder: (context) => TelaLogin()),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
import '../utils/colors.dart';
|
import '../utils/cores.dart';
|
||||||
|
|
||||||
class InputText extends StatelessWidget {
|
class InputText extends StatelessWidget {
|
||||||
bool obscure;
|
bool obscure;
|
||||||
@@ -24,7 +24,7 @@ class InputText extends StatelessWidget {
|
|||||||
this.title = '',
|
this.title = '',
|
||||||
this.textInputType = TextInputType.text,
|
this.textInputType = TextInputType.text,
|
||||||
this.maxLines = 1,
|
this.maxLines = 1,
|
||||||
this.colorBorder = PaletteColors.grey,
|
this.colorBorder = PaletaCores.cinza,
|
||||||
this.onChanged = null,
|
this.onChanged = null,
|
||||||
this.enable = true,
|
this.enable = true,
|
||||||
required this.inputFormatters
|
required this.inputFormatters
|
||||||
@@ -39,7 +39,7 @@ class InputText extends StatelessWidget {
|
|||||||
child: Text(title,style: TextStyle(fontWeight: FontWeight.bold,fontFamily: 'Nunito'),)
|
child: Text(title,style: TextStyle(fontWeight: FontWeight.bold,fontFamily: 'Nunito'),)
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
color:PaletteColors.greyInput,
|
color:PaletaCores.cinzaInput,
|
||||||
width: width,
|
width: width,
|
||||||
margin: EdgeInsets.only(bottom: 5),
|
margin: EdgeInsets.only(bottom: 5),
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
73
lib/componentes/item_avisos.dart
Normal file
73
lib/componentes/item_avisos.dart
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
import '../utils/cores.dart';
|
||||||
|
|
||||||
|
class ItemAvisos extends StatelessWidget {
|
||||||
|
|
||||||
|
String data;
|
||||||
|
String aviso;
|
||||||
|
bool naovisto;
|
||||||
|
var onTap;
|
||||||
|
|
||||||
|
ItemAvisos({
|
||||||
|
required this.data,
|
||||||
|
required this.aviso,
|
||||||
|
required this.naovisto,
|
||||||
|
required this.onTap
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
|
double height = MediaQuery.of(context).size.height;
|
||||||
|
double width = MediaQuery.of(context).size.width;
|
||||||
|
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: onTap,
|
||||||
|
child: Container(
|
||||||
|
color: PaletaCores.branco,
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 20.0,vertical: 5),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: width*0.8,
|
||||||
|
height: 65,
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 20.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 5),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
TextCustom(text: 'Data',size: 14.0,fontWeight: FontWeight.bold),
|
||||||
|
SizedBox(width: 10,),
|
||||||
|
TextCustom(text: data,size: 14.0,fontWeight: naovisto?FontWeight.bold:FontWeight.normal,color: naovisto?PaletaCores.cinzaEscuro:PaletaCores.cinzaClaro,),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 5),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
TextCustom(text: 'Aviso',size: 14.0,fontWeight: FontWeight.bold),
|
||||||
|
SizedBox(width: 10,),
|
||||||
|
TextCustom(text: aviso,fontWeight: naovisto?FontWeight.bold:FontWeight.normal,color: naovisto?PaletaCores.cinzaEscuro:PaletaCores.cinzaClaro,),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
naovisto?CircleAvatar(backgroundColor: PaletaCores.notificacao,radius: 6,):Container()
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Container(width: double.infinity,height: 2,color: PaletaCores.divider,)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/widgets/text_custom.dart';
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
import '../utils/cores.dart';
|
||||||
import '../utils/colors.dart';
|
|
||||||
|
|
||||||
class ItemDrawer extends StatelessWidget {
|
class ItemDrawer extends StatelessWidget {
|
||||||
IconData icone;
|
IconData icone;
|
||||||
@@ -22,7 +21,7 @@ class ItemDrawer extends StatelessWidget {
|
|||||||
alignment: Alignment.centerLeft,
|
alignment: Alignment.centerLeft,
|
||||||
child: TextButton.icon(
|
child: TextButton.icon(
|
||||||
onPressed: onPressed,
|
onPressed: onPressed,
|
||||||
icon: Icon(icone,color: PaletteColors.grey,),
|
icon: Icon(icone,color: PaletaCores.cinza,),
|
||||||
label: TextCustom(text: texto,size: 16.0,)
|
label: TextCustom(text: texto,size: 16.0,)
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/widgets/text_custom.dart';
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
|
||||||
class ItemPerfil extends StatelessWidget {
|
class ItemPerfil extends StatelessWidget {
|
||||||
String texto;
|
String texto;
|
||||||
@@ -13,7 +13,7 @@ class ItemPerfil extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 10.0),
|
padding: EdgeInsets.symmetric(vertical: 10),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
TextCustom(text: titulo,size: 14.0,fontWeight: FontWeight.bold,),
|
TextCustom(text: titulo,size: 14.0,fontWeight: FontWeight.bold,),
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import '../utils/colors.dart';
|
import '../utils/cores.dart';
|
||||||
|
|
||||||
class TextCustom extends StatelessWidget {
|
class TextCustom extends StatelessWidget {
|
||||||
final text;
|
final text;
|
||||||
@@ -14,7 +14,7 @@ class TextCustom extends StatelessWidget {
|
|||||||
TextCustom({
|
TextCustom({
|
||||||
required this.text,
|
required this.text,
|
||||||
this.size = 16.0,
|
this.size = 16.0,
|
||||||
this.color = PaletteColors.grey,
|
this.color = PaletaCores.cinza,
|
||||||
this.fontWeight = FontWeight.normal,
|
this.fontWeight = FontWeight.normal,
|
||||||
this.textAlign = TextAlign.start,
|
this.textAlign = TextAlign.start,
|
||||||
this.maxLines = 1,
|
this.maxLines = 1,
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/screens/login_screen.dart';
|
import 'package:rkm_educa_app/telas/tela_login.dart';
|
||||||
|
|
||||||
class PostHttpOverrides extends HttpOverrides{
|
class PostHttpOverrides extends HttpOverrides{
|
||||||
@override
|
@override
|
||||||
@@ -22,7 +22,7 @@ class MyApp extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
home: LoginScreen(),
|
home: TelaLogin(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
8
lib/modelos/dados_estaticos.dart
Normal file
8
lib/modelos/dados_estaticos.dart
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import 'estudante_modelo.dart';
|
||||||
|
|
||||||
|
class DadosEstaticos{
|
||||||
|
List<EstudanteModelo> alunos = [
|
||||||
|
EstudanteModelo(nome: "Maria da Silva", foto: "assets/images/aluna.jpeg", ra: '000.000.000-08', escola: 'EMEI Profª Therezinha de Jesus Alguz', idade: 14, anoEscolar: 2023),
|
||||||
|
EstudanteModelo(nome: "João da Silva", foto: "assets/images/aluno.jpeg", ra: '000.000.000-10', escola: 'EMEI Profª Ernestina Loureiro Miranda', idade: 12, anoEscolar: 2023),
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
class AlunoModel{
|
class EstudanteModelo{
|
||||||
String nome;
|
String nome;
|
||||||
String foto;
|
String foto;
|
||||||
String ra;
|
String ra;
|
||||||
@@ -6,7 +6,7 @@ class AlunoModel{
|
|||||||
int idade;
|
int idade;
|
||||||
int anoEscolar;
|
int anoEscolar;
|
||||||
|
|
||||||
AlunoModel({
|
EstudanteModelo({
|
||||||
required this.nome,
|
required this.nome,
|
||||||
required this.foto,
|
required this.foto,
|
||||||
required this.ra,
|
required this.ra,
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:rkm_educa_app/models/aluno_model.dart';
|
|
||||||
import 'package:rkm_educa_app/utils/colors.dart';
|
|
||||||
import 'package:rkm_educa_app/widgets/text_custom.dart';
|
|
||||||
import '../widgets/drawer_custom.dart';
|
|
||||||
|
|
||||||
class SituacaoEscolarScreen extends StatefulWidget {
|
|
||||||
AlunoModel alunoModel;
|
|
||||||
|
|
||||||
SituacaoEscolarScreen({
|
|
||||||
required this.alunoModel
|
|
||||||
});
|
|
||||||
|
|
||||||
@override
|
|
||||||
State<SituacaoEscolarScreen> createState() => _SituacaoEscolarScreenState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _SituacaoEscolarScreenState extends State<SituacaoEscolarScreen> {
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Scaffold(
|
|
||||||
backgroundColor: PaletteColors.backPage,
|
|
||||||
appBar: AppBar(
|
|
||||||
iconTheme: IconThemeData(color: PaletteColors.grey),
|
|
||||||
backgroundColor: Colors.transparent,
|
|
||||||
elevation: 0,
|
|
||||||
actions: [
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.all(4.0),
|
|
||||||
child: IconButton(
|
|
||||||
onPressed: (){},
|
|
||||||
icon: Icon(Icons.notifications_outlined,size: 32),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
drawer: DrawerCustom(alunoModel: widget.alunoModel),
|
|
||||||
body: ListView(
|
|
||||||
children: [
|
|
||||||
Center(
|
|
||||||
child: TextCustom(text: 'Situção Escolar',fontWeight: FontWeight.bold,size: 20.0,),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
41
lib/telas/tela_avisos.dart
Normal file
41
lib/telas/tela_avisos.dart
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/appbar_custom.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/drawer_custom.dart';
|
||||||
|
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||||
|
import 'package:rkm_educa_app/telas/tela_detalhes_avisos.dart';
|
||||||
|
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||||
|
import '../componentes/item_avisos.dart';
|
||||||
|
|
||||||
|
class TelaAvisos extends StatefulWidget {
|
||||||
|
EstudanteModelo estudanteModelo;
|
||||||
|
TelaAvisos({
|
||||||
|
required this.estudanteModelo
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<TelaAvisos> createState() => _TelaAvisosState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _TelaAvisosState extends State<TelaAvisos> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBarCustom().appbar(context, 'AVISOS'),
|
||||||
|
drawer: DrawerCustom(estudanteModelo: widget.estudanteModelo,),
|
||||||
|
body: Container(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 20,horizontal: 10),
|
||||||
|
width: Dimensoes.width,
|
||||||
|
height: Dimensoes.height,
|
||||||
|
child: ListView(
|
||||||
|
children: [
|
||||||
|
ItemAvisos(data: '28/04/2023',aviso: 'Não haverá aula',naovisto: true,onTap: ()=>Navigator.push(context, MaterialPageRoute(builder: (context)=>TelaDetalhesAvisos(estudanteModelo: widget.estudanteModelo,)))),
|
||||||
|
ItemAvisos(data: '05/05/2023',aviso: 'Reunião de pais',naovisto: true,onTap: ()=>Navigator.push(context, MaterialPageRoute(builder: (context)=>TelaDetalhesAvisos(estudanteModelo: widget.estudanteModelo)))),
|
||||||
|
ItemAvisos(data: '08/06/2023',aviso: 'Não haverá aula',naovisto: false,onTap: ()=>Navigator.push(context, MaterialPageRoute(builder: (context)=>TelaDetalhesAvisos(estudanteModelo: widget.estudanteModelo)))),
|
||||||
|
ItemAvisos(data: '07/09/2023',aviso: 'Não haverá aula',naovisto: false,onTap: ()=>Navigator.push(context, MaterialPageRoute(builder: (context)=>TelaDetalhesAvisos(estudanteModelo: widget.estudanteModelo)))),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
38
lib/telas/tela_contatos.dart
Normal file
38
lib/telas/tela_contatos.dart
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/appbar_custom.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/drawer_custom.dart';
|
||||||
|
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||||
|
import '../componentes/item_perfil.dart';
|
||||||
|
|
||||||
|
class TelaContatos extends StatefulWidget {
|
||||||
|
EstudanteModelo estudanteModelo;
|
||||||
|
|
||||||
|
TelaContatos({
|
||||||
|
required this.estudanteModelo
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<TelaContatos> createState() => _TelaContatosState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _TelaContatosState extends State<TelaContatos> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBarCustom().appbar(context, 'CONTATOS'),
|
||||||
|
drawer: DrawerCustom(estudanteModelo: widget.estudanteModelo),
|
||||||
|
body: Padding(
|
||||||
|
padding: EdgeInsets.all(30),
|
||||||
|
child: ListView(
|
||||||
|
children: [
|
||||||
|
ItemPerfil(texto: 'José Oliveira', titulo: 'Diretor(a)'),
|
||||||
|
ItemPerfil(texto: 'Luiz Araújo', titulo: 'Coordenador(a)'),
|
||||||
|
ItemPerfil(texto: '', titulo: 'Telefones :'),
|
||||||
|
ItemPerfil(texto: 'Coordenação - (15) 3275 - 1234', titulo: ''),
|
||||||
|
ItemPerfil(texto: 'Secretaria - (15) 3275 - 1234', titulo: ''),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
56
lib/telas/tela_detalhes_avisos.dart
Normal file
56
lib/telas/tela_detalhes_avisos.dart
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/appbar_custom.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/item_perfil.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||||
|
import 'package:rkm_educa_app/telas/tela_avisos.dart';
|
||||||
|
import 'package:rkm_educa_app/utils/cores.dart';
|
||||||
|
import '../componentes/buttom_custom.dart';
|
||||||
|
import '../utils/dimensoes.dart';
|
||||||
|
|
||||||
|
class TelaDetalhesAvisos extends StatefulWidget {
|
||||||
|
EstudanteModelo estudanteModelo;
|
||||||
|
|
||||||
|
TelaDetalhesAvisos({
|
||||||
|
required this.estudanteModelo
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<TelaDetalhesAvisos> createState() => _TelaDetalhesAvisosState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _TelaDetalhesAvisosState extends State<TelaDetalhesAvisos> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBarCustom().appbar(context, 'DESCRIÇÃO DO AVISO'),
|
||||||
|
body: Padding(
|
||||||
|
padding: EdgeInsets.all(30),
|
||||||
|
child: ListView(
|
||||||
|
children: [
|
||||||
|
ItemPerfil(texto: 'Não haverá aula', titulo: 'Título'),
|
||||||
|
ItemPerfil(texto: '28/04/2023', titulo: 'Data'),
|
||||||
|
ItemPerfil(texto: '08:00', titulo: 'Hora'),
|
||||||
|
ItemPerfil(texto: '', titulo: 'Descrição'),
|
||||||
|
TextCustom(text: 'Não haverá aula no dia 01 de maio de 2023, devido o feriado do Dia do trabalhador',maxLines: 20,color: PaletaCores.cinzaClaro,),
|
||||||
|
SizedBox(height: 40,),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: Dimensoes.width*0.2),
|
||||||
|
child: ButtonCustom(
|
||||||
|
text: 'Marcar como lido',
|
||||||
|
size: 14,
|
||||||
|
heightCustom: 0.05,
|
||||||
|
widthCustom: 0.3,
|
||||||
|
colorButton: PaletaCores.cinzaClaro,
|
||||||
|
colorBorder: PaletaCores.cinzaClaro,
|
||||||
|
colorText: PaletaCores.branco,
|
||||||
|
onPressed: ()=>Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>TelaAvisos(estudanteModelo: widget.estudanteModelo))),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,24 +1,23 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/screens/seleciona_filho_screen.dart';
|
import 'package:rkm_educa_app/telas/tela_seleciona_filho.dart';
|
||||||
|
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||||
import '../controllers/main_controllers.dart';
|
import '../controllers/main_controllers.dart';
|
||||||
import '../utils/colors.dart';
|
import '../utils/cores.dart';
|
||||||
import '../widgets/buttom_custom.dart';
|
import '../componentes/buttom_custom.dart';
|
||||||
import '../widgets/input_text.dart';
|
import '../componentes/input_text.dart';
|
||||||
import '../widgets/snackBars.dart';
|
import '../componentes/snackBars.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
import '../componentes/text_custom.dart';
|
||||||
|
|
||||||
import '../widgets/text_custom.dart';
|
class TelaLogin extends StatefulWidget {
|
||||||
|
const TelaLogin({Key? key}) : super(key: key);
|
||||||
class LoginScreen extends StatefulWidget {
|
|
||||||
const LoginScreen({Key? key}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<LoginScreen> createState() => _LoginScreenState();
|
State<TelaLogin> createState() => _TelaLoginState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _LoginScreenState extends State<LoginScreen> {
|
class _TelaLoginState extends State<TelaLogin> {
|
||||||
|
|
||||||
final inputLogin = TextEditingController(text: 'mmatos');
|
final inputLogin = TextEditingController(text: 'mmatos');
|
||||||
final inputSenha = TextEditingController(text: 'mmatos');
|
final inputSenha = TextEditingController(text: 'mmatos');
|
||||||
@@ -51,10 +50,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
if(map['NO_USERNAME']==map['SENHA']){
|
if(map['NO_USERNAME']==map['SENHA']){
|
||||||
if(map['NO_USERNAME']==inputLogin.text.toUpperCase() && map['SENHA']==inputSenha.text.toUpperCase()){
|
if(map['NO_USERNAME']==inputLogin.text.toUpperCase() && map['SENHA']==inputSenha.text.toUpperCase()){
|
||||||
showSnackBar(context, 'Acesso validado', Colors.green);
|
showSnackBar(context, 'Acesso validado', Colors.green);
|
||||||
Navigator.pushReplacement(
|
Navigator.pushReplacement(context,MaterialPageRoute(builder: (context) => TelaSelecionaFilho()));
|
||||||
context,
|
|
||||||
MaterialPageRoute(builder: (context) => SelecionaFilhoScreen()),
|
|
||||||
);
|
|
||||||
}else{
|
}else{
|
||||||
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
|
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
|
||||||
}
|
}
|
||||||
@@ -64,7 +60,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
showSnackBar(context, 'Acesso validado', Colors.green);
|
showSnackBar(context, 'Acesso validado', Colors.green);
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder: (context) => SelecionaFilhoScreen()),
|
MaterialPageRoute(builder: (context) => TelaSelecionaFilho()),
|
||||||
);
|
);
|
||||||
}else{
|
}else{
|
||||||
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
|
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
|
||||||
@@ -80,40 +76,39 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
double height = MediaQuery.of(context).size.height;
|
Dimensoes().init(context);
|
||||||
double width = MediaQuery.of(context).size.width;
|
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: PaletteColors.white,
|
backgroundColor: PaletaCores.branco,
|
||||||
body: Center(
|
body: Center(
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
child: Image.asset("assets/images/logoEduca.png",width:width * 0.4,height: height * 0.12)
|
child: Image.asset("assets/images/logoEduca.png",width:Dimensoes.width * 0.4,height: Dimensoes.height * 0.12)
|
||||||
),
|
),
|
||||||
loading?Container():Container(
|
loading?Container():Container(
|
||||||
width: width>900? width * 0.18:width*0.7,
|
width: Dimensoes.width>900? Dimensoes.width * 0.18:Dimensoes.width*0.7,
|
||||||
child: InputText(
|
child: InputText(
|
||||||
inputFormatters: [],
|
inputFormatters: [],
|
||||||
controller: inputLogin,
|
controller: inputLogin,
|
||||||
title: 'Login',
|
title: 'Login',
|
||||||
width: width>900? width * 0.18:width*0.7,
|
width: Dimensoes.width>900? Dimensoes.width * 0.18:Dimensoes.width*0.7,
|
||||||
colorBorder: PaletteColors.white,
|
colorBorder: PaletaCores.branco,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
loading?Container():Container(
|
loading?Container():Container(
|
||||||
width: width>900? width * 0.18:width*0.7,
|
width: Dimensoes.width>900? Dimensoes.width * 0.18:Dimensoes.width*0.7,
|
||||||
child: InputText(
|
child: InputText(
|
||||||
inputFormatters: [],
|
inputFormatters: [],
|
||||||
controller: inputSenha,
|
controller: inputSenha,
|
||||||
title: 'Senha',
|
title: 'Senha',
|
||||||
obscure: true,
|
obscure: true,
|
||||||
width: width>900? width * 0.18:width*0.7,
|
width: Dimensoes.width>900? Dimensoes.width * 0.18:Dimensoes.width*0.7,
|
||||||
colorBorder: PaletteColors.white,
|
colorBorder: PaletaCores.branco,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: height * 0.02),
|
SizedBox(height: Dimensoes.height * 0.02),
|
||||||
loading?Row(
|
loading?Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
@@ -126,9 +121,9 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
heightCustom: 0.07,
|
heightCustom: 0.07,
|
||||||
text: "Entrar",
|
text: "Entrar",
|
||||||
size: 14.0,
|
size: 14.0,
|
||||||
colorText: PaletteColors.white,
|
colorText: PaletaCores.branco,
|
||||||
colorButton: PaletteColors.primaryColor,
|
colorButton: PaletaCores.corPrimaria,
|
||||||
colorBorder: PaletteColors.primaryColor,
|
colorBorder: PaletaCores.corPrimaria,
|
||||||
onPressed: ()=>verificacao(),
|
onPressed: ()=>verificacao(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -1,30 +1,28 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/models/aluno_model.dart';
|
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||||
import 'package:rkm_educa_app/utils/colors.dart';
|
import 'package:rkm_educa_app/utils/cores.dart';
|
||||||
import 'package:rkm_educa_app/widgets/alert_default.dart';
|
import 'package:rkm_educa_app/componentes/alert_default.dart';
|
||||||
import 'package:rkm_educa_app/widgets/appbar_custom.dart';
|
import 'package:rkm_educa_app/componentes/appbar_custom.dart';
|
||||||
import 'package:rkm_educa_app/widgets/drawer_custom.dart';
|
import 'package:rkm_educa_app/componentes/drawer_custom.dart';
|
||||||
import 'package:rkm_educa_app/widgets/text_custom.dart';
|
import '../componentes/item_perfil.dart';
|
||||||
|
|
||||||
import '../widgets/item_perfil.dart';
|
class TelaPerfil extends StatefulWidget {
|
||||||
|
EstudanteModelo estudanteModelo;
|
||||||
|
|
||||||
class PerfilScreen extends StatefulWidget {
|
TelaPerfil({
|
||||||
AlunoModel alunoModel;
|
required this.estudanteModelo
|
||||||
|
|
||||||
PerfilScreen({
|
|
||||||
required this.alunoModel
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<PerfilScreen> createState() => _PerfilScreenState();
|
State<TelaPerfil> createState() => _TelaPerfilState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _PerfilScreenState extends State<PerfilScreen> {
|
class _TelaPerfilState extends State<TelaPerfil> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBarCustom().appbar(context, 'PERFIL'),
|
appBar: AppBarCustom().appbar(context, 'PERFIL'),
|
||||||
drawer: DrawerCustom(alunoModel: widget.alunoModel),
|
drawer: DrawerCustom(estudanteModelo: widget.estudanteModelo),
|
||||||
body: ListView(
|
body: ListView(
|
||||||
padding: EdgeInsets.symmetric(vertical: 50,horizontal: 20),
|
padding: EdgeInsets.symmetric(vertical: 50,horizontal: 20),
|
||||||
children: [
|
children: [
|
||||||
@@ -32,17 +30,17 @@ class _PerfilScreenState extends State<PerfilScreen> {
|
|||||||
radius: 70,
|
radius: 70,
|
||||||
child: ClipRRect(
|
child: ClipRRect(
|
||||||
borderRadius:BorderRadius.circular(70),
|
borderRadius:BorderRadius.circular(70),
|
||||||
child: Image.asset(widget.alunoModel.foto),
|
child: Image.asset(widget.estudanteModelo.foto),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
SizedBox(height: 25,),
|
SizedBox(height: 25,),
|
||||||
ItemPerfil(texto: widget.alunoModel.nome,titulo: 'Nome',),
|
ItemPerfil(texto: widget.estudanteModelo.nome,titulo: 'Nome',),
|
||||||
ItemPerfil(texto: widget.alunoModel.idade.toString()+' anos',titulo: 'Idade',),
|
ItemPerfil(texto: widget.estudanteModelo.idade.toString()+' anos',titulo: 'Idade',),
|
||||||
ItemPerfil(texto: widget.alunoModel.anoEscolar.toString(),titulo: 'Ano Escolar',),
|
ItemPerfil(texto: widget.estudanteModelo.anoEscolar.toString(),titulo: 'Ano Escolar',),
|
||||||
ItemPerfil(texto: widget.alunoModel.ra,titulo: 'RA',),
|
ItemPerfil(texto: widget.estudanteModelo.ra,titulo: 'RA',),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
ItemPerfil(texto: widget.alunoModel.escola,titulo: 'Escola',),
|
ItemPerfil(texto: widget.estudanteModelo.escola,titulo: 'Escola',),
|
||||||
IconButton(
|
IconButton(
|
||||||
onPressed: ()=>
|
onPressed: ()=>
|
||||||
AlertDefault().alert(
|
AlertDefault().alert(
|
||||||
@@ -60,7 +58,7 @@ class _PerfilScreenState extends State<PerfilScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
icon: Icon(Icons.visibility,color: PaletteColors.grey),
|
icon: Icon(Icons.visibility,color: PaletaCores.cinza),
|
||||||
padding: EdgeInsets.all(0),
|
padding: EdgeInsets.all(0),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
@@ -1,57 +1,59 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/models/aluno_model.dart';
|
import 'package:rkm_educa_app/modelos/dados_estaticos.dart';
|
||||||
import 'package:rkm_educa_app/screens/situacao_escolar_screen.dart';
|
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||||
import 'package:rkm_educa_app/widgets/appbar_custom.dart';
|
import 'package:rkm_educa_app/telas/tela_situacao_escolar.dart';
|
||||||
import '../utils/colors.dart';
|
import 'package:rkm_educa_app/componentes/appbar_custom.dart';
|
||||||
import '../widgets/buttom_custom.dart';
|
import '../utils/cores.dart';
|
||||||
import '../widgets/snackBars.dart';
|
import '../componentes/buttom_custom.dart';
|
||||||
|
import '../componentes/snackBars.dart';
|
||||||
|
import '../componentes/text_custom.dart';
|
||||||
|
import '../utils/dimensoes.dart';
|
||||||
|
|
||||||
import '../widgets/text_custom.dart';
|
class TelaSelecionaFilho extends StatefulWidget {
|
||||||
|
const TelaSelecionaFilho({Key? key}) : super(key: key);
|
||||||
class SelecionaFilhoScreen extends StatefulWidget {
|
|
||||||
const SelecionaFilhoScreen({Key? key}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<SelecionaFilhoScreen> createState() => _SelecionaFilhoScreenState();
|
State<TelaSelecionaFilho> createState() => _TelaSelecionaFilhoState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _SelecionaFilhoScreenState extends State<SelecionaFilhoScreen> {
|
class _TelaSelecionaFilhoState extends State<TelaSelecionaFilho> {
|
||||||
|
|
||||||
AlunoModel? alunoModel;
|
EstudanteModelo? estudanteModelo;
|
||||||
List<AlunoModel> alunos = [
|
|
||||||
AlunoModel(nome: "Maria da Silva", foto: "assets/images/aluna.jpeg", ra: '000.000.000-08', escola: 'EMEI Profª Therezinha de Jesus Alguz', idade: 14, anoEscolar: 2023),
|
List <EstudanteModelo>list = [];
|
||||||
AlunoModel(nome: "João da Silva", foto: "assets/images/aluno.jpeg", ra: '000.000.000-10', escola: 'EMEI Profª Ernestina Loureiro Miranda', idade: 12, anoEscolar: 2023),
|
|
||||||
];
|
@override
|
||||||
|
void initState() {
|
||||||
|
list = DadosEstaticos().alunos;
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
double height = MediaQuery.of(context).size.height;
|
|
||||||
double width = MediaQuery.of(context).size.width;
|
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: PaletteColors.white,
|
backgroundColor: PaletaCores.branco,
|
||||||
appBar: AppBarCustom().appbar(context, 'SELECIONAR FILHO'),
|
appBar: AppBarCustom().appbar(context, 'SELECIONAR FILHO'),
|
||||||
body: Center(
|
body: Center(
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
child: Image.asset("assets/images/logoEduca.png",width:width * 0.4,height: height * 0.12)
|
child: Image.asset("assets/images/logoEduca.png",width: Dimensoes.width* 0.4,height: Dimensoes.height * 0.12)
|
||||||
),
|
),
|
||||||
SizedBox(height: height * 0.02),
|
SizedBox(height: Dimensoes.height * 0.02),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
TextCustom(text: 'Estudantes',fontWeight: FontWeight.bold,size: 14.0,),
|
TextCustom(text: 'Estudantes',fontWeight: FontWeight.bold,size: 14.0,),
|
||||||
Container(
|
Container(
|
||||||
width: width*0.8,
|
width: Dimensoes.width*0.8,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(5),
|
borderRadius: BorderRadius.circular(5),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: Colors.white
|
color: Colors.white
|
||||||
),
|
),
|
||||||
color: PaletteColors.greyInput
|
color: PaletaCores.cinzaInput
|
||||||
),
|
),
|
||||||
child: DropdownButtonHideUnderline(
|
child: DropdownButtonHideUnderline(
|
||||||
child: DropdownButton(
|
child: DropdownButton(
|
||||||
@@ -59,8 +61,8 @@ class _SelecionaFilhoScreenState extends State<SelecionaFilhoScreen> {
|
|||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: TextCustom(text: 'Selecione'),
|
child: TextCustom(text: 'Selecione'),
|
||||||
),
|
),
|
||||||
value: alunoModel,
|
value: estudanteModelo,
|
||||||
items: alunos.map((value) => DropdownMenuItem(
|
items: list.map((value) => DropdownMenuItem(
|
||||||
value: value,
|
value: value,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
@@ -71,9 +73,10 @@ class _SelecionaFilhoScreenState extends State<SelecionaFilhoScreen> {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
).toList(),
|
).toList(),
|
||||||
onChanged: (value){
|
onChanged: (EstudanteModelo? value){
|
||||||
setState(() {
|
setState(() {
|
||||||
alunoModel = value!;
|
print(value!.nome);
|
||||||
|
estudanteModelo = value;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -81,27 +84,27 @@ class _SelecionaFilhoScreenState extends State<SelecionaFilhoScreen> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
SizedBox(height: height * 0.02),
|
SizedBox(height: Dimensoes.height * 0.02),
|
||||||
ButtonCustom(
|
ButtonCustom(
|
||||||
widthCustom: 0.7,
|
widthCustom: 0.7,
|
||||||
heightCustom: 0.07,
|
heightCustom: 0.07,
|
||||||
text: "Avançar",
|
text: "Avançar",
|
||||||
size: 14.0,
|
size:14,
|
||||||
colorText: PaletteColors.white,
|
colorText: PaletaCores.branco,
|
||||||
colorButton: PaletteColors.primaryColor,
|
colorButton: PaletaCores.corPrimaria,
|
||||||
colorBorder: PaletteColors.primaryColor,
|
colorBorder: PaletaCores.corPrimaria,
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if(alunoModel!=null){
|
if(estudanteModelo!=null){
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder: (context) => SituacaoEscolarScreen(alunoModel: alunoModel!,)),
|
MaterialPageRoute(builder: (context) => TelaSituacaoEscolar(estudanteModelo: estudanteModelo!,)),
|
||||||
);
|
);
|
||||||
}else{
|
}else{
|
||||||
showSnackBar(context, 'Selecione um estudante para avançar', Colors.red);
|
showSnackBar(context, 'Selecione um estudante para avançar', Colors.red);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
SizedBox(height: height * 0.02),
|
SizedBox(height: Dimensoes.height * 0.02),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
48
lib/telas/tela_situacao_escolar.dart
Normal file
48
lib/telas/tela_situacao_escolar.dart
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||||
|
import 'package:rkm_educa_app/telas/tela_avisos.dart';
|
||||||
|
import 'package:rkm_educa_app/utils/cores.dart';
|
||||||
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
|
import '../componentes/drawer_custom.dart';
|
||||||
|
|
||||||
|
class TelaSituacaoEscolar extends StatefulWidget {
|
||||||
|
EstudanteModelo estudanteModelo;
|
||||||
|
|
||||||
|
TelaSituacaoEscolar({
|
||||||
|
required this.estudanteModelo
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<TelaSituacaoEscolar> createState() => _TelaSituacaoEscolarState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _TelaSituacaoEscolarState extends State<TelaSituacaoEscolar> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: PaletaCores.fundoTela,
|
||||||
|
appBar: AppBar(
|
||||||
|
iconTheme: IconThemeData(color: PaletaCores.cinza),
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
elevation: 0,
|
||||||
|
actions: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(4.0),
|
||||||
|
child: IconButton(
|
||||||
|
onPressed: ()=>Navigator.push(context, MaterialPageRoute(builder: (context)=>TelaAvisos(estudanteModelo: widget.estudanteModelo,))),
|
||||||
|
icon: Icon(Icons.notifications_outlined,size: 32),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
drawer: DrawerCustom(estudanteModelo: widget.estudanteModelo),
|
||||||
|
body: ListView(
|
||||||
|
children: [
|
||||||
|
Center(
|
||||||
|
child: TextCustom(text: 'Situção Escolar',fontWeight: FontWeight.bold,size: 20.0,),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
class PaletteColors{
|
|
||||||
static const Color white = Colors.white;
|
|
||||||
static const Color primaryColor = Color(0xffBB0202);
|
|
||||||
static const Color secundColor = Color(0xffFF9E75);
|
|
||||||
static const Color backPage = Color(0xffdfdfdf);
|
|
||||||
static const Color bgColor = Color(0xff3A3A3A);
|
|
||||||
static const Color grey = Color (0xff757575);
|
|
||||||
static const Color divider = Color (0xffc9c9c9);
|
|
||||||
static const Color greyInput = Color (0xffE1E1E1);
|
|
||||||
static const Color lightGrey = Color(0xffD0D0D0);
|
|
||||||
static const Color midGrey = Color(0xffC4C4C4);
|
|
||||||
static const Color backGrey = Color(0xffE9E9E9);
|
|
||||||
static const Color green = Color(0xff06790c);
|
|
||||||
static const Color appBar = Color(0xff3A3A3A);
|
|
||||||
}
|
|
||||||
14
lib/utils/cores.dart
Normal file
14
lib/utils/cores.dart
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class PaletaCores{
|
||||||
|
static const Color branco = Colors.white;
|
||||||
|
static const Color corPrimaria = Color(0xffBB0202);
|
||||||
|
static const Color fundoTela = Color(0xffdfdfdf);
|
||||||
|
static const Color cinza = Color (0xff757575);
|
||||||
|
static const Color cinzaEscuro = Color (0xff545050);
|
||||||
|
static const Color cinzaClaro = Color (0xff7A7A7A);
|
||||||
|
static const Color divider = Color (0xffc9c9c9);
|
||||||
|
static const Color cinzaInput = Color (0xffE1E1E1);
|
||||||
|
static const Color notificacao = Color (0xffBB0202);
|
||||||
|
static const Color appBar = Color(0xff3A3A3A);
|
||||||
|
}
|
||||||
13
lib/utils/dimensoes.dart
Normal file
13
lib/utils/dimensoes.dart
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class Dimensoes {
|
||||||
|
static MediaQueryData media = MediaQueryData();
|
||||||
|
static double width = 0.0;
|
||||||
|
static double height = 0.0;
|
||||||
|
|
||||||
|
void init(BuildContext context) {
|
||||||
|
media = MediaQuery.of(context);
|
||||||
|
width = media.size.width;
|
||||||
|
height = media.size.height;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user