From 088abe396ef07d607aeafe12645b980d417b7b02 Mon Sep 17 00:00:00 2001 From: Brian McGee Date: Tue, 19 Aug 2025 17:37:53 +0100 Subject: [PATCH] fix(ui): reload machine list in sidebar after adding a machine --- pkgs/clan-app/ui/src/hooks/queries.ts | 5 +++++ pkgs/clan-app/ui/src/routes/Clan/Clan.tsx | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/pkgs/clan-app/ui/src/hooks/queries.ts b/pkgs/clan-app/ui/src/hooks/queries.ts index 8cb69d357..fa1411fe4 100644 --- a/pkgs/clan-app/ui/src/hooks/queries.ts +++ b/pkgs/clan-app/ui/src/hooks/queries.ts @@ -26,6 +26,11 @@ export type ClanListQueryResult = UseQueryResult[]; export const useMachinesQuery = (clanURI: string) => { const client = useApiClient(); + + if (!clanURI) { + throw new Error("useMachinesQuery: clanURI is undefined"); + } + return useQuery(() => ({ queryKey: ["clans", encodeBase64(clanURI), "machines"], queryFn: async () => { diff --git a/pkgs/clan-app/ui/src/routes/Clan/Clan.tsx b/pkgs/clan-app/ui/src/routes/Clan/Clan.tsx index 196310b29..dcede56a2 100644 --- a/pkgs/clan-app/ui/src/routes/Clan/Clan.tsx +++ b/pkgs/clan-app/ui/src/routes/Clan/Clan.tsx @@ -110,6 +110,8 @@ const ClanSceneController = (props: RouteSectionProps) => { const clanURI = useClanURI(); const navigate = useNavigate(); + const machinesQuery = useMachinesQuery(clanURI); + const [dialogHandlers, setDialogHandlers] = createSignal<{ resolve: ({ id }: { id: string }) => void; reject: (err: unknown) => void; @@ -141,6 +143,10 @@ const ClanSceneController = (props: RouteSectionProps) => { // Important: rejects the promise throw new Error(res.errors[0].message); } + + // trigger a refetch of the machines query + machinesQuery.refetch(); + return { id: values.name }; };