From d9795589051db1d8bca1a3b87d44500fe23ec3dc Mon Sep 17 00:00:00 2001 From: Leander Furumo Date: Thu, 22 Oct 2026 20:57:27 +0200 Subject: [PATCH] Toggle selected users in register and deposit Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- frontend/src/features/deposit/Deposit.tsx | 6 ++---- frontend/src/features/deposit/useDeposit.ts | 5 ++++- frontend/src/features/register/Register.tsx | 6 +++--- frontend/src/features/register/useRegister.ts | 6 +++++- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/frontend/src/features/deposit/Deposit.tsx b/frontend/src/features/deposit/Deposit.tsx index eabd443..ea1843c 100644 --- a/frontend/src/features/deposit/Deposit.tsx +++ b/frontend/src/features/deposit/Deposit.tsx @@ -8,7 +8,7 @@ const Deposit = (): JSX.Element => { const { loading, selectedUser, - setSelectedUser, + toggleSelectedUser, amount, setAmount, userQuery, @@ -80,9 +80,7 @@ const Deposit = (): JSX.Element => { { - setSelectedUser(user.id); - }} + onUser={() => toggleSelectedUser(user.id)} user={user} /> ))} diff --git a/frontend/src/features/deposit/useDeposit.ts b/frontend/src/features/deposit/useDeposit.ts index a647a9e..843322a 100644 --- a/frontend/src/features/deposit/useDeposit.ts +++ b/frontend/src/features/deposit/useDeposit.ts @@ -10,6 +10,9 @@ export const useDeposit = () => { const [selectedUser, setSelectedUser] = useState(""); const [amount, setAmount] = useState(""); const [userQuery, setUserQuery] = useState(""); + const toggleSelectedUser = (userId: string) => { + setSelectedUser((currentUserId) => (currentUserId === userId ? "" : userId)); + }; const filteredUsers = (data?.allUsers || []).filter((user) => `${user.firstName.toLowerCase()} ${user.lastName.toLowerCase()}`.includes(userQuery.toLowerCase()), ); @@ -56,7 +59,7 @@ export const useDeposit = () => { return { loading, selectedUser, - setSelectedUser, + toggleSelectedUser, amount, setAmount, userQuery, diff --git a/frontend/src/features/register/Register.tsx b/frontend/src/features/register/Register.tsx index 17a66e3..30680c2 100644 --- a/frontend/src/features/register/Register.tsx +++ b/frontend/src/features/register/Register.tsx @@ -15,7 +15,7 @@ const Register = (): JSX.Element => { loading, showAll, setShowAll, - setSelectedUser, + toggleSelectedUser, selectedUser, addToOrder, order, @@ -36,14 +36,14 @@ const Register = (): JSX.Element => { setSelectedUser(USER_EXTERNAL)} + onUser={() => toggleSelectedUser(USER_EXTERNAL)} active={selectedUser == USER_EXTERNAL} /> {users.map((user) => ( setSelectedUser(user.id)} + onUser={() => toggleSelectedUser(user.id)} active={selectedUser == user.id} /> ))} diff --git a/frontend/src/features/register/useRegister.ts b/frontend/src/features/register/useRegister.ts index 18e349e..8b8e5fd 100644 --- a/frontend/src/features/register/useRegister.ts +++ b/frontend/src/features/register/useRegister.ts @@ -47,6 +47,10 @@ export const useRegister = () => { setSelectedUser(""); }; + const toggleSelectedUser = (userId: string) => { + setSelectedUser((currentUserId) => (currentUserId === userId ? "" : userId)); + }; + const addToOrder = (productId: string) => { let added = false; const newOrder = order.map((orderLine: OrderLineInput) => { @@ -101,7 +105,7 @@ export const useRegister = () => { products, showAll, setShowAll, - setSelectedUser, + toggleSelectedUser, selectedUser, addToOrder, order,