mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 08:49:13 +00:00
fix(filters): refetch on update (#200)
This commit is contained in:
parent
ae016c0a9a
commit
3493a39537
3 changed files with 13 additions and 12 deletions
|
@ -135,7 +135,7 @@ export default function FilterDetails() {
|
||||||
const { filterId } = useParams<{ filterId: string }>();
|
const { filterId } = useParams<{ filterId: string }>();
|
||||||
|
|
||||||
const { isLoading, data: filter } = useQuery(
|
const { isLoading, data: filter } = useQuery(
|
||||||
["filter", +filterId],
|
["filters", filterId],
|
||||||
() => APIClient.filters.getByID(parseInt(filterId)),
|
() => APIClient.filters.getByID(parseInt(filterId)),
|
||||||
{
|
{
|
||||||
retry: false,
|
retry: false,
|
||||||
|
@ -151,7 +151,8 @@ export default function FilterDetails() {
|
||||||
toast.custom((t) => (
|
toast.custom((t) => (
|
||||||
<Toast type="success" body={`${currentFilter.name} was updated successfully`} t={t} />
|
<Toast type="success" body={`${currentFilter.name} was updated successfully`} t={t} />
|
||||||
));
|
));
|
||||||
queryClient.invalidateQueries(["filter", currentFilter.id]);
|
queryClient.refetchQueries(["filters"]);
|
||||||
|
// queryClient.invalidateQueries(["filters", currentFilter.id]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -163,7 +164,7 @@ export default function FilterDetails() {
|
||||||
));
|
));
|
||||||
|
|
||||||
// Invalidate filters just in case, most likely not necessary but can't hurt.
|
// Invalidate filters just in case, most likely not necessary but can't hurt.
|
||||||
queryClient.invalidateQueries("filters");
|
queryClient.invalidateQueries(["filters"]);
|
||||||
|
|
||||||
// redirect
|
// redirect
|
||||||
history.push("/filters")
|
history.push("/filters")
|
||||||
|
@ -334,7 +335,7 @@ export default function FilterDetails() {
|
||||||
|
|
||||||
function General() {
|
function General() {
|
||||||
const { isLoading, data: indexers } = useQuery(
|
const { isLoading, data: indexers } = useQuery(
|
||||||
["filter", "indexer_list"],
|
["filters", "indexer_list"],
|
||||||
APIClient.indexers.getOptions,
|
APIClient.indexers.getOptions,
|
||||||
{ refetchOnWindowFocus: false }
|
{ refetchOnWindowFocus: false }
|
||||||
);
|
);
|
||||||
|
@ -612,7 +613,7 @@ interface FilterActionsProps {
|
||||||
|
|
||||||
function FilterActions({ filter, values }: FilterActionsProps) {
|
function FilterActions({ filter, values }: FilterActionsProps) {
|
||||||
const { data } = useQuery(
|
const { data } = useQuery(
|
||||||
["filter", "download_clients"],
|
["filters", "download_clients"],
|
||||||
APIClient.download_clients.getAll,
|
APIClient.download_clients.getAll,
|
||||||
{ refetchOnWindowFocus: false }
|
{ refetchOnWindowFocus: false }
|
||||||
);
|
);
|
||||||
|
|
|
@ -23,7 +23,7 @@ export default function Filters() {
|
||||||
const [createFilterIsOpen, toggleCreateFilter] = useToggle(false)
|
const [createFilterIsOpen, toggleCreateFilter] = useToggle(false)
|
||||||
|
|
||||||
const { isLoading, error, data } = useQuery(
|
const { isLoading, error, data } = useQuery(
|
||||||
"filters",
|
["filters"],
|
||||||
APIClient.filters.getAll,
|
APIClient.filters.getAll,
|
||||||
{ refetchOnWindowFocus: false }
|
{ refetchOnWindowFocus: false }
|
||||||
);
|
);
|
||||||
|
@ -117,8 +117,8 @@ const FilterItemDropdown = ({
|
||||||
(id: number) => APIClient.filters.delete(id),
|
(id: number) => APIClient.filters.delete(id),
|
||||||
{
|
{
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
queryClient.invalidateQueries("filters");
|
queryClient.invalidateQueries(["filters"]);
|
||||||
queryClient.invalidateQueries(["filter", filter.id]);
|
queryClient.invalidateQueries(["filters", filter.id]);
|
||||||
|
|
||||||
toast.custom((t) => <Toast type="success" body={`Filter ${filter?.name} was deleted`} t={t} />);
|
toast.custom((t) => <Toast type="success" body={`Filter ${filter?.name} was deleted`} t={t} />);
|
||||||
}
|
}
|
||||||
|
@ -129,7 +129,7 @@ const FilterItemDropdown = ({
|
||||||
(id: number) => APIClient.filters.duplicate(id),
|
(id: number) => APIClient.filters.duplicate(id),
|
||||||
{
|
{
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
queryClient.invalidateQueries("filters");
|
queryClient.invalidateQueries(["filters"]);
|
||||||
|
|
||||||
toast.custom((t) => <Toast type="success" body={`Filter ${filter?.name} duplicated`} t={t} />);
|
toast.custom((t) => <Toast type="success" body={`Filter ${filter?.name} duplicated`} t={t} />);
|
||||||
}
|
}
|
||||||
|
@ -274,8 +274,8 @@ function FilterListItem({ filter, idx }: FilterListItemProps) {
|
||||||
// We need to invalidate both keys here.
|
// We need to invalidate both keys here.
|
||||||
// The filters key is used on the /filters page,
|
// The filters key is used on the /filters page,
|
||||||
// while the ["filter", filter.id] key is used on the details page.
|
// while the ["filter", filter.id] key is used on the details page.
|
||||||
queryClient.invalidateQueries("filters");
|
queryClient.invalidateQueries(["filters"]);
|
||||||
queryClient.invalidateQueries(["filter", filter?.id]);
|
queryClient.invalidateQueries(["filters", filter?.id]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -87,7 +87,7 @@ export const ReleaseTable = () => {
|
||||||
() => APIClient.release.findQuery(queryPageIndex * queryPageSize, queryPageSize, queryFilters),
|
() => APIClient.release.findQuery(queryPageIndex * queryPageSize, queryPageSize, queryFilters),
|
||||||
{
|
{
|
||||||
keepPreviousData: true,
|
keepPreviousData: true,
|
||||||
staleTime: Infinity,
|
staleTime: 5000,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue