feat(#44): dashboard gestionnaire + redirection login rôle gestionnaire

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-25 16:20:59 +01:00
co-authored by Cursor
parent e8c6665a06
commit e990d576cf
4 changed files with 66 additions and 7 deletions
+3 -1
View File
@@ -131,9 +131,11 @@ class _LoginPageState extends State<LoginScreen> with WidgetsBindingObserver {
switch (role.toLowerCase()) {
case 'super_admin':
case 'administrateur':
case 'gestionnaire':
context.go('/admin-dashboard');
break;
case 'gestionnaire':
context.go('/gestionnaire-dashboard');
break;
case 'parent':
context.go('/parent-dashboard');
break;
@@ -0,0 +1,45 @@
import 'package:flutter/material.dart';
import 'package:p_tits_pas/widgets/admin/dashboard_admin.dart';
import 'package:p_tits_pas/widgets/admin/user_management_panel.dart';
import 'package:p_tits_pas/widgets/app_footer.dart';
/// Dashboard gestionnaire même shell que l'admin, sans onglet Paramètres.
/// Réutilise [AdminUserManagementPanel].
class GestionnaireDashboardScreen extends StatefulWidget {
const GestionnaireDashboardScreen({super.key});
@override
State<GestionnaireDashboardScreen> createState() =>
_GestionnaireDashboardScreenState();
}
class _GestionnaireDashboardScreenState extends State<GestionnaireDashboardScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: PreferredSize(
preferredSize: const Size.fromHeight(60.0),
child: Container(
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(color: Colors.grey.shade300),
),
),
child: DashboardAppBarAdmin(
selectedIndex: 0,
onTabChange: (_) {},
showSettingsTab: false,
roleLabel: 'Gestionnaire',
setupCompleted: true,
),
),
),
body: Column(
children: [
const Expanded(child: AdminUserManagementPanel()),
const AppFooter(),
],
),
);
}
}