feat(#95): implémenter la gestion Relais admin et le rattachement gestionnaire

Ajoute la section Paramètres territoriaux avec CRUD Relais, modale de saisie structurée, états visuels harmonisés, et rattachement d'un relais principal aux gestionnaires via l'API.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-21 20:06:17 +01:00
co-authored by Cursor
parent 135c7c2255
commit fbafef8f2c
10 changed files with 1652 additions and 68 deletions
@@ -19,6 +19,7 @@ class _AdminDashboardScreenState extends State<AdminDashboardScreen> {
bool? _setupCompleted;
int mainTabIndex = 0;
int subIndex = 0;
int settingsSubIndex = 0;
@override
void initState() {
@@ -35,10 +36,12 @@ class _AdminDashboardScreenState extends State<AdminDashboardScreen> {
if (!completed) mainTabIndex = 1;
});
} catch (e) {
if (mounted) setState(() {
_setupCompleted = false;
mainTabIndex = 1;
});
if (mounted) {
setState(() {
_setupCompleted = false;
mainTabIndex = 1;
});
}
}
}
@@ -54,6 +57,12 @@ class _AdminDashboardScreenState extends State<AdminDashboardScreen> {
});
}
void onSettingsSubTabChange(int index) {
setState(() {
settingsSubIndex = index;
});
}
@override
Widget build(BuildContext context) {
if (_setupCompleted == null) {
@@ -83,6 +92,11 @@ class _AdminDashboardScreenState extends State<AdminDashboardScreen> {
DashboardUserManagementSubBar(
selectedSubIndex: subIndex,
onSubTabChange: onSubTabChange,
)
else
DashboardSettingsSubBar(
selectedSubIndex: settingsSubIndex,
onSubTabChange: onSettingsSubTabChange,
),
Expanded(
child: _getBody(),
@@ -95,7 +109,10 @@ class _AdminDashboardScreenState extends State<AdminDashboardScreen> {
Widget _getBody() {
if (mainTabIndex == 1) {
return ParametresPanel(redirectToLoginAfterSave: !_setupCompleted!);
return ParametresPanel(
redirectToLoginAfterSave: !_setupCompleted!,
selectedSettingsTabIndex: settingsSubIndex,
);
}
switch (subIndex) {
case 0: