stats page pagina melhrar

This commit is contained in:
2026-01-20 17:15:29 +00:00
parent 01d5e7adb6
commit 05c4738ef2
23 changed files with 883 additions and 573 deletions

View File

@@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import '../Controllers/register_controller.dart';
import '../controllers/register_controller.dart';
import '../widgets/register_widgets.dart';
import 'home.dart';
class RegisterPage extends StatefulWidget {
const RegisterPage({super.key});
@@ -11,67 +10,42 @@ class RegisterPage extends StatefulWidget {
}
class _RegisterPageState extends State<RegisterPage> {
final RegisterController controller = RegisterController();
// Instancia o controller
final RegisterController _controller = RegisterController();
@override
void dispose() {
controller.dispose();
_controller.dispose(); // Limpa a memória ao sair
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
// AppBar para poder voltar atrás
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0,
foregroundColor: Colors.black,
),
body: SafeArea(
child: ListenableBuilder(
listenable: controller,
builder: (context, child) {
return LayoutBuilder(
// ... dentro do LayoutBuilder
builder: (context, constraints) {
final screenWidth = constraints.maxWidth;
return Center(
child: SingleChildScrollView(
child: Container(
width: screenWidth * 0.6,
constraints: const BoxConstraints(minWidth: 320),
padding: const EdgeInsets.all(32),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const RegisterHeader(),
const SizedBox(height: 40),
RegisterFormFields(controller: controller),
const SizedBox(height: 32),
RegisterButton(
controller: controller,
onRegisterSuccess: () {
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => const HomeScreen()),
(route) => false,
);
},
),
],
),
),
),
);
},
);
},
appBar: AppBar(title: const Text("Criar Conta")),
body: Center(
child: SingleChildScrollView(
padding: const EdgeInsets.all(24.0),
child: ListenableBuilder(
listenable: _controller, // Ouve as mudanças (loading)
builder: (context, child) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
"Junta-te à Equipa!",
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
),
const SizedBox(height: 30),
// Widgets Extraídos
RegisterFormFields(controller: _controller),
const SizedBox(height: 24),
RegisterButton(controller: _controller),
],
);
},
),
),
),
);