From 1e5df56832e54aa0429ba1ca5ffea5e6184c79da Mon Sep 17 00:00:00 2001 From: alma Date: Sun, 4 May 2025 10:32:55 +0200 Subject: [PATCH] dolibarr user --- components/groups/groups-table.tsx | 275 +++++++++++++++-------------- 1 file changed, 142 insertions(+), 133 deletions(-) diff --git a/components/groups/groups-table.tsx b/components/groups/groups-table.tsx index 54fec681..0783d449 100644 --- a/components/groups/groups-table.tsx +++ b/components/groups/groups-table.tsx @@ -340,101 +340,101 @@ export function GroupsTable({ userRole = [] }: GroupsTableProps) { } }; - const filteredGroups = groups.filter(group => - group.name.toLowerCase().includes(searchTerm.toLowerCase()) - ); + if (loading) return
Loading...
; return ( -
-
-

Gestion des groupes

-
-
- setSearchTerm(e.target.value)} - className="w-full bg-black/20 border-0 text-white placeholder:text-gray-400" - /> -
- - - - - - - Créer un nouveau groupe - -
-
- - setNewGroupName(e.target.value)} - placeholder="Entrez le nom du groupe" - /> -
- +
+
+ setSearchTerm(e.target.value)} + className="max-w-xs bg-white text-gray-900 border-gray-300" + /> + + + + + + + Nouveau Groupe + +
+
+ + setNewGroupName(e.target.value)} + placeholder="Entrez le nom du groupe" + className="bg-white text-gray-900 border-gray-300" + />
- -
-
+ +
+ +
-
- - - - Nom du groupe - Chemin - Nombre de membres - Actions - - - - {filteredGroups.map((group) => ( - - {group.name} - {group.path} - {group.membersCount} +
+ + + Nom + Chemin + Membres + Actions + + + + {groups + .filter(group => + group.name.toLowerCase().includes(searchTerm.toLowerCase()) || + group.path.toLowerCase().includes(searchTerm.toLowerCase()) + ) + .map((group) => ( + + {group.name} + {group.path} + {group.membersCount} - - - Actions - + Actions + handleModifyGroup(group.id)} - className="text-white hover:bg-black/50" + className="text-gray-900 hover:bg-gray-100" > Modifier - handleManageMembers(group.id)} - className="text-white hover:bg-black/50" + className="text-gray-900 hover:bg-gray-100" > Gérer les membres - + handleDeleteGroup(group.id)} + className="text-red-600 hover:bg-red-50 hover:text-red-700" > Supprimer @@ -444,93 +444,102 @@ export function GroupsTable({ userRole = [] }: GroupsTableProps) { ))} - -
-
+ + - + - Modifier le groupe + Modifier le groupe
- + setModifiedGroupName(e.target.value)} - placeholder="Entrez le nouveau nom du groupe" + className="bg-white text-gray-900 border-gray-300" />
- + - Gérer les membres du groupe {selectedGroup?.name} + + Gérer les membres - {selectedGroup?.name} +
-
- -
- {groupMembers.length === 0 ? ( -

No members

- ) : ( -
- {groupMembers.map((member) => ( -
-
-

{member.lastName} {member.firstName}

-

{member.email}

-
- +
+

Membres actuels

+ {groupMembers.length === 0 ? ( +

Ce groupe n'a pas de membres.

+ ) : ( +
+ {groupMembers.map((member) => ( +
+
+
{member.username}
+
{member.firstName} {member.lastName} ({member.email})
- ))} -
- )} -
+ +
+ ))} +
+ )}
-
- -
- {availableUsers.length === 0 ? ( -

No users available

- ) : ( -
- {availableUsers - .sort((a, b) => (a.lastName + a.firstName).localeCompare(b.lastName + b.firstName)) - .map((user) => ( -
-
-

{user.lastName} {user.firstName}

-

{user.email}

-
- -
- ))} -
- )} + +
+

Ajouter des membres

+ setSearchTerm(e.target.value)} + className="mb-2 bg-white text-gray-900 border-gray-300" + /> +
+ {availableUsers + .filter(user => + !groupMembers.some(member => member.id === user.id) && + (user.username.toLowerCase().includes(searchTerm.toLowerCase()) || + user.email.toLowerCase().includes(searchTerm.toLowerCase()) || + user.firstName.toLowerCase().includes(searchTerm.toLowerCase()) || + user.lastName.toLowerCase().includes(searchTerm.toLowerCase())) + ) + .map((user) => ( +
+
+
{user.username}
+
{user.firstName} {user.lastName} ({user.email})
+
+ +
+ ))}