membre add

This commit is contained in:
d6soft
2025-06-11 09:27:25 +02:00
parent f3f1a9c5e8
commit 4244b961fd
40 changed files with 144003 additions and 143144 deletions

View File

@@ -2,7 +2,8 @@ import 'package:flutter/material.dart';
import 'package:geosector_app/app.dart';
import 'package:geosector_app/core/services/app_info_service.dart';
import 'package:geosector_app/presentation/widgets/connectivity_indicator.dart';
import 'package:geosector_app/presentation/widgets/profile_dialog.dart';
import 'package:geosector_app/presentation/widgets/user_form_dialog.dart';
import 'package:geosector_app/core/utils/api_exception.dart';
import 'package:go_router/go_router.dart';
/// AppBar personnalisée pour les tableaux de bord
@@ -117,10 +118,32 @@ class DashboardAppBar extends StatelessWidget implements PreferredSizeWidget {
icon: const Icon(Icons.person),
tooltip: 'Mon compte',
onPressed: () {
// Afficher la boîte de dialogue de profil avec l'utilisateur actuel
// Afficher la boîte de dialogue UserForm avec l'utilisateur actuel
final user = userRepository.currentUser;
if (user != null) {
ProfileDialog.show(context, user);
showDialog(
context: context,
builder: (context) => UserFormDialog(
title: 'Mon compte',
user: user,
readOnly: false,
showRoleSelector: false,
onSubmit: (updatedUser) async {
try {
// Sauvegarder les modifications de l'utilisateur
await userRepository.updateUser(updatedUser);
if (context.mounted) {
Navigator.of(context).pop();
ApiException.showSuccess(context, 'Profil mis à jour');
}
} catch (e) {
debugPrint('❌ Erreur mise à jour de votre profil: $e');
ApiException.showError(context, e);
}
},
),
);
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(