perf: optimization des rebuilds (ValueNotifier pour calendrier/container_form, Selector pour pages de gestion et mon compte)

This commit is contained in:
ElPoyo
2026-05-26 13:48:50 +02:00
parent 6ee63ed29c
commit 93c102012b
6 changed files with 101 additions and 92 deletions
+6 -5
View File
@@ -51,12 +51,13 @@ class _UserManagementPageState extends State<UserManagementPage> {
title: 'Gestion des utilisateurs',
),
drawer: const MainDrawer(currentPage: '/account_management'),
body: Consumer<UsersProvider>(
builder: (context, usersProvider, child) {
if (usersProvider.isLoading) {
body: Selector<UsersProvider, ({bool isLoading, List<UserModel> users})>(
selector: (context, provider) => (isLoading: provider.isLoading, users: provider.users),
builder: (context, data, child) {
if (data.isLoading) {
return const Center(child: CircularProgressIndicator());
}
final users = usersProvider.users;
final users = data.users;
if (users.isEmpty) {
return const Center(child: Text("Aucun utilisateur trouvé"));
}
@@ -92,7 +93,7 @@ class _UserManagementPageState extends State<UserManagementPage> {
context: context,
builder: (_) => EditUserDialog(user: user)),
onResetPassword: () => _resetPassword(context, user),
onDelete: () => _confirmDeleteUser(context, usersProvider, user),
onDelete: () => _confirmDeleteUser(context, context.read<UsersProvider>(), user),
);
},
),