From cfd3a352b6b13c45eb2bf8a91ead4e22ea8fa83e Mon Sep 17 00:00:00 2001 From: Abhishek Shroff Date: Mon, 26 May 2025 23:04:58 +0530 Subject: [PATCH] [client] Sort user list alphabetically --- .../lib/ui/explorer/resource_permissions_view.dart | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/client/lib/ui/explorer/resource_permissions_view.dart b/client/lib/ui/explorer/resource_permissions_view.dart index be492975..e4afddb6 100644 --- a/client/lib/ui/explorer/resource_permissions_view.dart +++ b/client/lib/ui/explorer/resource_permissions_view.dart @@ -73,11 +73,18 @@ class _ResourcePermissionsViewState extends State { label: Text('Add User'), icon: Icon(Icons.person_add), onPressed: () async { - final users = - account.userRepository.users.entries.where((e) => !grants.containsKey(e.key)).map((e) => e.value); + final users = account.userRepository.users.entries + .where((e) => !grants.containsKey(e.key)) + .map((e) => e.value) + .toList(growable: false) + ..sort((a, b) { + final aName = a.displayName.isNotEmpty ? a.displayName : a.email; + final bName = b.displayName.isNotEmpty ? b.displayName : b.email; + return aName.compareTo(bName); + }); final user = await showOptionsDialogBuilder( context, - users.toList(growable: false), + users, (user) => ListTile(title: Text(repository.getUserDisplayName(user.id))), buildLastItem: (context) => ListTile( leading: Icon(Icons.person_add),