From 888bd00caa7f42e32a577cd11e60c474e3322305 Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Wed, 16 Oct 2024 01:38:12 -0300 Subject: [PATCH 1/6] feat: return network being edited --- .../src/systems/Network/hooks/useNetworks.ts | 17 ++++++++++++++++- packages/app/src/systems/Overlay/events.tsx | 4 ++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/app/src/systems/Network/hooks/useNetworks.ts b/packages/app/src/systems/Network/hooks/useNetworks.ts index 90f480ff5..70cc584d0 100644 --- a/packages/app/src/systems/Network/hooks/useNetworks.ts +++ b/packages/app/src/systems/Network/hooks/useNetworks.ts @@ -19,13 +19,27 @@ const selectors = { selectedNetwork: (state: NetworksMachineState) => { return state.context?.network || undefined; }, + editingNetwork: (id: string) => (state: NetworksMachineState) => { + return ( + (id && state.context?.networks?.find((n) => n.id === id)) || undefined + ); + }, }; export function useNetworks() { const overlay = useOverlay(); + // biome-ignore lint/suspicious/noExplicitAny: + const selectedNetworkId = (overlay.metadata as any)?.id; const networks = store.useSelector(Services.networks, selectors.networks); const network = store.useSelector(Services.networks, selectors.network); const isLoading = store.useSelector(Services.networks, selectors.isLoading); + const editingNetwork = store.useSelector( + Services.networks, + useMemo( + () => selectors.editingNetwork(selectedNetworkId), + [selectedNetworkId] + ) + ); const selectedNetworkState = store.useSelector( Services.networks, selectors.selectedNetwork @@ -68,7 +82,7 @@ export function useNetworks() { function goToUpdate(id?: string) { if (!id) return; store.editNetwork({ id }); - store.openNetworkUpdate(); + store.openNetworkUpdate({ id }); } return { @@ -84,6 +98,7 @@ export function useNetworks() { }, isLoading, selectedNetwork, + editingNetwork, network, networks, }; diff --git a/packages/app/src/systems/Overlay/events.tsx b/packages/app/src/systems/Overlay/events.tsx index 1521e94af..b84c5dd87 100644 --- a/packages/app/src/systems/Overlay/events.tsx +++ b/packages/app/src/systems/Overlay/events.tsx @@ -55,10 +55,10 @@ export function overlayEvents(store: Store) { input: { modal: 'networks.add' }, }); }, - openNetworkUpdate() { + openNetworkUpdate(params: { id: string }) { store.send(Services.overlay, { type: 'OPEN', - input: { modal: 'networks.update' }, + input: { modal: 'networks.update', params }, }); }, openTransactionApprove() { From cf82ab95fe3eb11af369475d97f53e41d98eab24 Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Wed, 16 Oct 2024 01:38:22 -0300 Subject: [PATCH 2/6] fix: show correct network while editing --- .../systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx b/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx index eb552d17b..cd6b92acc 100644 --- a/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx +++ b/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx @@ -5,14 +5,14 @@ import { NetworkForm, useNetworkForm, useNetworks } from '~/systems/Network'; import { OverlayDialogTopbar } from '~/systems/Overlay'; export function UpdateNetwork() { - const { network, isLoading, handlers } = useNetworks(); + const { editingNetwork, isLoading, handlers } = useNetworks(); const form = useNetworkForm({ - defaultValues: network, + defaultValues: editingNetwork, }); function onSubmit(data: NetworkFormValues) { - handlers.updateNetwork({ id: network?.id as string, data }); + handlers.updateNetwork({ id: editingNetwork?.id as string, data }); } return ( From ff4636a3ff8b2a631953a745157596e7c0c7e745 Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Wed, 16 Oct 2024 02:01:02 -0300 Subject: [PATCH 3/6] feat: add aria labels to update network for more precise e2e --- .../systems/Network/components/NetworkItem/NetworkItem.tsx | 2 +- .../systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/app/src/systems/Network/components/NetworkItem/NetworkItem.tsx b/packages/app/src/systems/Network/components/NetworkItem/NetworkItem.tsx index 618cb6640..8d22b3f5d 100644 --- a/packages/app/src/systems/Network/components/NetworkItem/NetworkItem.tsx +++ b/packages/app/src/systems/Network/components/NetworkItem/NetworkItem.tsx @@ -70,7 +70,7 @@ export const NetworkItem = forwardRef( {...(showActions && { rightEl: actions })} > {/* */} - {network?.name} + {network?.name} ); } diff --git a/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx b/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx index cd6b92acc..249ce7a76 100644 --- a/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx +++ b/packages/app/src/systems/Network/pages/UpdateNetwork/UpdateNetwork.tsx @@ -31,7 +31,11 @@ export function UpdateNetwork() { -