feat(filters): navigate to edit page on filter creation (#776)

fix: navigate to edit page on filter creation
This commit is contained in:
metonym 2023-03-22 14:02:58 -07:00 committed by GitHub
parent bcd5128c59
commit fd5bc18a54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View file

@ -112,7 +112,7 @@ export const APIClient = {
return appClient.Get<Filter[]>(`api/filters${q}`); return appClient.Get<Filter[]>(`api/filters${q}`);
}, },
getByID: (id: number) => appClient.Get<Filter>(`api/filters/${id}`), getByID: (id: number) => appClient.Get<Filter>(`api/filters/${id}`),
create: (filter: Filter) => appClient.Post("api/filters", filter), create: (filter: Filter) => appClient.Post<Filter>("api/filters", filter),
update: (filter: Filter) => appClient.Put(`api/filters/${filter.id}`, filter), update: (filter: Filter) => appClient.Put(`api/filters/${filter.id}`, filter),
duplicate: (id: number) => appClient.Get<Filter>(`api/filters/${id}/duplicate`), duplicate: (id: number) => appClient.Get<Filter>(`api/filters/${id}/duplicate`),
toggleEnable: (id: number, enabled: boolean) => appClient.Put(`api/filters/${id}/enabled`, { enabled }), toggleEnable: (id: number, enabled: boolean) => appClient.Put(`api/filters/${id}/enabled`, { enabled }),

View file

@ -10,6 +10,7 @@ import { queryClient } from "../../App";
import { APIClient } from "../../api/APIClient"; import { APIClient } from "../../api/APIClient";
import DEBUG from "../../components/debug"; import DEBUG from "../../components/debug";
import Toast from "../../components/notifications/Toast"; import Toast from "../../components/notifications/Toast";
import { useNavigate } from "react-router-dom";
interface filterAddFormProps { interface filterAddFormProps {
isOpen: boolean; isOpen: boolean;
@ -17,14 +18,18 @@ interface filterAddFormProps {
} }
function FilterAddForm({ isOpen, toggle }: filterAddFormProps) { function FilterAddForm({ isOpen, toggle }: filterAddFormProps) {
const navigate = useNavigate();
const mutation = useMutation( const mutation = useMutation(
(filter: Filter) => APIClient.filters.create(filter), (filter: Filter) => APIClient.filters.create(filter),
{ {
onSuccess: (_, filter) => { onSuccess: (filter) => {
queryClient.invalidateQueries("filters"); queryClient.invalidateQueries("filters");
toast.custom((t) => <Toast type="success" body={`Filter ${filter.name} was added`} t={t} />); toast.custom((t) => <Toast type="success" body={`Filter ${filter.name} was added`} t={t} />);
toggle(); toggle();
if (filter.id) {
navigate(filter.id.toString());
}
} }
} }
); );