Début refacto en MVVM (Login, drawer OK

This commit is contained in:
2025-03-10 23:40:54 +01:00
parent b6f169e5f7
commit 2b8e7085aa
15 changed files with 509 additions and 330 deletions

View File

@ -1,3 +1,4 @@
import 'package:em2rp/providers/local_auth_provider.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:em2rp/providers/user_provider.dart';
@ -16,17 +17,17 @@ class AuthGuard extends StatelessWidget {
@override
Widget build(BuildContext context) {
final userProvider = Provider.of<UserProvider>(context);
final localAuthProvider = Provider.of<LocalAuthProvider>(context);
// Si l'utilisateur n'est pas connecté (aucun uid ou email)
if (userProvider.uid == null || userProvider.email == null) {
// Si l'utilisateur n'est pas connecté
if (localAuthProvider.currentUser == null) {
// Retourne la page de connexion.
// Vous pouvez aussi déclencher une redirection automatique si nécessaire.
return const LoginPage();
}
// Si la page requiert un rôle spécifique et que l'utilisateur ne le possède pas
if (requiredRole != null && userProvider.role != requiredRole) {
if (requiredRole != null && localAuthProvider.role != requiredRole) {
return Scaffold(
appBar: AppBar(title: const Text("Accès refusé")),
body: const Center(

View File

@ -0,0 +1,3 @@
class Constants {
static const List<String> userRoles = ['USER', 'ADMIN'];
}