ptitspas-ynov/frontend/lib/screens/administrateurs/admin_dashboardScreen.dart
2025-09-19 15:44:12 +02:00

87 lines
2.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:p_tits_pas/widgets/admin/DashboardSidebarAdmin.dart';
import 'package:p_tits_pas/widgets/admin/Statistique_manage_widget.dart';
import 'package:p_tits_pas/widgets/admin/admin_manage_widget.dart';
import 'package:p_tits_pas/widgets/admin/assistante_maternelle_management_widget.dart';
import 'package:p_tits_pas/widgets/admin/gestionnaire_management_widget.dart';
import 'package:p_tits_pas/widgets/admin/parent_managmant_widget.dart';
import 'package:p_tits_pas/widgets/app_footer.dart';
import 'package:p_tits_pas/widgets/admin/dashboard_admin.dart';
class AdminDashboardScreen extends StatefulWidget {
const AdminDashboardScreen({super.key});
@override
_AdminDashboardScreenState createState() => _AdminDashboardScreenState();
}
class _AdminDashboardScreenState extends State<AdminDashboardScreen> {
int selectedIndex = 0;
void onTabChange(int index) {
setState(() {
selectedIndex = index;
});
}
@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: selectedIndex,
onTabChange: onTabChange,
),
),
),
body: Column(
children: [
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SizedBox(
width: 250,
child: DashboardSidebarAdmin(
selectedIndex: selectedIndex,
onTabChange: onTabChange,
),
),
Expanded(
flex: 2,
child: _getBody(),
),
],
),
),
const AppFooter(),
],
),
);
}
Widget _getBody() {
switch (selectedIndex) {
case 0:
return const GestionnaireManagementWidget();
case 1:
return const ParentManagementWidget();
case 2:
return const AssistanteMaternelleManagementWidget();
case 3:
return const AdministrateurManagementWidget();
case 4:
return const StatistiqueManageWidget();
default:
return const Center(child: Text("Page non trouvée"));
}
}
}