Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Inicio Dart
Inicio Dart
dart';
void main() {
runApp(FrequencyApp());
}
class Turma {
final String disciplina;
final String professor;
final String diasHorarios;
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(160),
),
),
),
SizedBox(height: 16),
ElevatedButton(
onPressed: () {
Navigator.pushNamed(context, '/professor');
},
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.school),
SizedBox(width: 8),
Text(
'PROFESSOR',
style: TextStyle(fontSize: 18),
),
],
),
style: ElevatedButton.styleFrom(
primary: Colors.blue,
padding: EdgeInsets.symmetric(horizontal: 40, vertical: 24),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(160),
),
),
),
],
),
),
);
}
}
PaginaLogin({required this.tipoUsuario});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('FREQUENCY - LOGIN'),
),
body: Padding(
padding: EdgeInsets.all(60),
child: Column(
children: <Widget>[
TextField(
controller: nomeUsuarioController,
decoration: InputDecoration(
labelText: 'Nome de usuário',
),
),
SizedBox(height: 16),
TextField(
controller: senhaController,
decoration: InputDecoration(
labelText: 'Senha',
),
obscureText: true,
),
SizedBox(height: 16),
ElevatedButton(
onPressed: () {
_realizarLogin(context);
},
child: Text(
'ENTRAR',
style: TextStyle(fontSize: 18),
),
style: ElevatedButton.styleFrom(
primary: Colors.blue,
padding: EdgeInsets.symmetric(horizontal: 40, vertical: 16),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
),
SizedBox(height: 8),
TextButton(
onPressed: () {
_realizarCadastro(context);
},
child: Text(
'CADASTRAR',
style: TextStyle(fontSize: 18),
),
),
],
),
),
);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('FREQUENCY - CADASTRO'),
),
body: Padding(
padding: EdgeInsets.all(60),
child: Column(
children: <Widget>[
TextField(
controller: nomeController,
decoration: InputDecoration(
labelText: 'Nome',
),
),
SizedBox(height: 16),
TextField(
controller: emailController,
decoration: InputDecoration(
labelText: 'Email',
),
),
SizedBox(height: 16),
TextField(
controller: senhaController,
decoration: InputDecoration(
labelText: 'Senha',
),
obscureText: true,
),
SizedBox(height: 16),
ElevatedButton(
onPressed: () {
_realizarCadastro(context);
},
child: Text(
'CADASTRAR',
style: TextStyle(fontSize: 18),
),
style: ElevatedButton.styleFrom(
primary: Colors.blue,
padding: EdgeInsets.symmetric(horizontal: 40, vertical: 16),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
),
],
),
),
);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('FREQUENCY - ADICIONAR TURMA'),
),
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
children: <Widget>[
TextField(
controller: disciplinaController,
decoration: InputDecoration(
labelText: 'Código de acesso',
),
),
SizedBox(height: 16),
ElevatedButton(
onPressed: () {
_adicionarTurma(context);
},
child: Text(
'Adicionar Turma',
style: TextStyle(fontSize: 18),
),
style: ElevatedButton.styleFrom(
primary: Colors.blue,
padding: EdgeInsets.symmetric(horizontal: 40, vertical: 16),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
),
],
),
),
);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('FREQUENCY - Acessar Turmas'),
),
body: ListView.builder(
itemCount: turmas.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(turmas[index].disciplina),
subtitle: Text('Professor: ${turmas[index].professor}\n$
{turmas[index].diasHorarios}'),
trailing: ElevatedButton(
onPressed: () {
_verificarPresenca(context, turmas[index].disciplina);
},
child: Text('Verificar Presença'),
),
);
},
),
);
}
}
VerificarPresencaPage(this.disciplina);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Verificar Presença'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
' ',
style: TextStyle(fontSize: 24),
),
Text(
disciplina,
style: TextStyle(fontSize: 18),
),
],
),
),
);
}
}
disciplinaController.clear();
horarioController.clear();
chaveAcessoController.clear();
turmaDisciplinaController.clear();
Navigator.pop(context);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Adicionar Disciplina'),
),
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Digite os detalhes da disciplina:',
style: TextStyle(fontSize: 18),
),
SizedBox(height: 16),
TextField(
controller: disciplinaController,
decoration: InputDecoration(
labelText: 'Disciplina',
),
),
SizedBox(height: 8),
TextField(
controller: horarioController,
decoration: InputDecoration(
labelText: 'Horário das aulas',
),
),
SizedBox(height: 8),
TextField(
controller: chaveAcessoController,
decoration: InputDecoration(
labelText: 'Chave de Acesso',
),
),
SizedBox(height: 8),
TextField(
controller: turmaDisciplinaController,
decoration: InputDecoration(
labelText: 'Turma',
),
),
SizedBox(height: 16),
ElevatedButton(
onPressed: () => _salvarDisciplina(context),
child: Text('Salvar disciplina'),
),
],
),
),
);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Minhas Disciplinas'),
),
body: Column(
children: [
ListTile(
title: Text('Linguagens de Programação 33.1'),
subtitle: Text('Horário: 8:00 - 10:00'),
trailing: ElevatedButton(
onPressed: () => _acompanharAlunos(context, 'Linguagens de
Programação 33.1'),
child: Text('Acompanhar alunos'),
),
),
ListTile(
title: Text('Programação III 37.1'),
subtitle: Text('Horário: 14:00 - 16:00'),
trailing: ElevatedButton(
onPressed: () => _acompanharAlunos(context, 'Programação III 37.1'),
child: Text('Acompanhar alunos'),
),
),
ListTile(
title: Text('Programação III 37.2'),
subtitle: Text('Horário: 14:00 - 16:00'),
trailing: ElevatedButton(
onPressed: () => _acompanharAlunos(context, 'Programação III 37.2'),
child: Text('Acompanhar alunos'),
),
),
ListTile(
title: Text('Arq. de Computadores 33.1'),
subtitle: Text('Horário: 18:00 - 20:00'),
trailing: ElevatedButton(
onPressed: () => _acompanharAlunos(context, 'Arq. de Computadores
33.1'),
child: Text('Acompanhar alunos'),
),
),
],
),
);
}
}
AcompanharAlunosPage(this.disciplina);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Acompanhar Alunos'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
' ',
style: TextStyle(fontSize: 24),
),
Text(
disciplina,
style: TextStyle(fontSize: 18),
),
],
),
),
);
}
}