From fd5bc18a546e93dcb511067e88dc4760854e1d11 Mon Sep 17 00:00:00 2001 From: metonym <127705169+metonyms@users.noreply.github.com> Date: Wed, 22 Mar 2023 14:02:58 -0700 Subject: [PATCH] feat(filters): navigate to edit page on filter creation (#776) fix: navigate to edit page on filter creation --- web/src/api/APIClient.ts | 2 +- web/src/forms/filters/FilterAddForm.tsx | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/web/src/api/APIClient.ts b/web/src/api/APIClient.ts index 0951926..92d7c462 100644 --- a/web/src/api/APIClient.ts +++ b/web/src/api/APIClient.ts @@ -112,7 +112,7 @@ export const APIClient = { return appClient.Get(`api/filters${q}`); }, getByID: (id: number) => appClient.Get(`api/filters/${id}`), - create: (filter: Filter) => appClient.Post("api/filters", filter), + create: (filter: Filter) => appClient.Post("api/filters", filter), update: (filter: Filter) => appClient.Put(`api/filters/${filter.id}`, filter), duplicate: (id: number) => appClient.Get(`api/filters/${id}/duplicate`), toggleEnable: (id: number, enabled: boolean) => appClient.Put(`api/filters/${id}/enabled`, { enabled }), diff --git a/web/src/forms/filters/FilterAddForm.tsx b/web/src/forms/filters/FilterAddForm.tsx index f87c627..e18bd9a 100644 --- a/web/src/forms/filters/FilterAddForm.tsx +++ b/web/src/forms/filters/FilterAddForm.tsx @@ -10,6 +10,7 @@ import { queryClient } from "../../App"; import { APIClient } from "../../api/APIClient"; import DEBUG from "../../components/debug"; import Toast from "../../components/notifications/Toast"; +import { useNavigate } from "react-router-dom"; interface filterAddFormProps { isOpen: boolean; @@ -17,14 +18,18 @@ interface filterAddFormProps { } function FilterAddForm({ isOpen, toggle }: filterAddFormProps) { + const navigate = useNavigate(); const mutation = useMutation( (filter: Filter) => APIClient.filters.create(filter), { - onSuccess: (_, filter) => { + onSuccess: (filter) => { queryClient.invalidateQueries("filters"); toast.custom((t) => ); toggle(); + if (filter.id) { + navigate(filter.id.toString()); + } } } );