login e register
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:playmaker/controllers/login_controller.dart';
|
||||
import '../widgets/login_widgets.dart';
|
||||
import 'home.dart'; // <--- IMPORTANTE: Importa a tua HomeScreen
|
||||
import '../utils/size_extension.dart'; // 👇 O NOSSO SUPERPODER!
|
||||
|
||||
class LoginPage extends StatefulWidget {
|
||||
const LoginPage({super.key});
|
||||
@@ -27,47 +28,40 @@ class _LoginPageState extends State<LoginPage> {
|
||||
child: ListenableBuilder(
|
||||
listenable: controller,
|
||||
builder: (context, child) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
final screenWidth = constraints.maxWidth;
|
||||
|
||||
return Center(
|
||||
child: SingleChildScrollView(
|
||||
child: Container(
|
||||
width: screenWidth * 0.6,
|
||||
constraints: const BoxConstraints(minWidth: 340),
|
||||
padding: const EdgeInsets.all(32),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
const BasketTrackHeader(),
|
||||
const SizedBox(height: 40),
|
||||
|
||||
LoginFormFields(controller: controller),
|
||||
const SizedBox(height: 24),
|
||||
|
||||
// AQUI ESTÁ A MUDANÇA PRINCIPAL
|
||||
LoginButton(
|
||||
controller: controller,
|
||||
onLoginSuccess: () {
|
||||
// Verifica se o widget ainda está no ecrã antes de navegar
|
||||
if (mounted) {
|
||||
Navigator.pushReplacement(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) => const HomeScreen()),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
const CreateAccountButton(),
|
||||
],
|
||||
return Center(
|
||||
child: SingleChildScrollView(
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
// Garante que o form não fica gigante num tablet
|
||||
constraints: BoxConstraints(maxWidth: 450 * context.sf),
|
||||
padding: EdgeInsets.all(32 * context.sf),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
const BasketTrackHeader(),
|
||||
SizedBox(height: 40 * context.sf),
|
||||
|
||||
LoginFormFields(controller: controller),
|
||||
SizedBox(height: 24 * context.sf),
|
||||
|
||||
LoginButton(
|
||||
controller: controller,
|
||||
onLoginSuccess: () {
|
||||
if (mounted) {
|
||||
Navigator.pushReplacement(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) => const HomeScreen()),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
SizedBox(height: 16 * context.sf),
|
||||
|
||||
const CreateAccountButton(),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user