import 'package:em2rp/providers/local_user_provider.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:em2rp/views/login_page.dart'; class AuthGuard extends StatelessWidget { final Widget child; final String? requiredPermission; const AuthGuard({ super.key, required this.child, this.requiredPermission, }); @override Widget build(BuildContext context) { final localAuthProvider = Provider.of(context); // Si l'utilisateur n'est pas connecté if (localAuthProvider.currentUser == null) { return const LoginPage(); } // Si la page requiert une permission spécifique et que l'utilisateur ne la possède pas if (requiredPermission != null && !localAuthProvider.hasPermission(requiredPermission!)) { return Scaffold( appBar: AppBar(title: const Text("Accès refusé")), body: const Center( child: Text("Vous n'êtes pas autorisé à accéder à cette page."), ), ); } // Sinon, afficher la page demandée return child; } }