perf: optimization des rebuilds (ValueNotifier pour calendrier/container_form, Selector pour pages de gestion et mon compte)
This commit is contained in:
@@ -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),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user