Skip to content

Commit

Permalink
Fix filter refresh in collection page (#704)
Browse files Browse the repository at this point in the history
  • Loading branch information
harshithmohan authored Nov 29, 2023
1 parent fd9383d commit cb32c3d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
14 changes: 12 additions & 2 deletions src/components/Collection/CollectionView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ export const listItemSize = {
const CollectionView = ({ isSidebarOpen, mode, setGroupTotal, setTimelineSeries }: Props) => {
const { filterId, groupId } = useParams();

const [currentFilterId, setCurrentFilterId] = useState(filterId);

const settingsQuery = useGetSettingsQuery();
const settings = useMemo(() => settingsQuery?.data ?? initialSettings, [settingsQuery]);
const { showRandomPoster: showRandomPosterGrid } = settings.WebUI_Settings.collection.poster;
Expand Down Expand Up @@ -124,14 +126,22 @@ const CollectionView = ({ isSidebarOpen, mode, setGroupTotal, setTimelineSeries
fetchPage.cancel();
setFetchingPage(false);

const shouldFetch = groupId ? true : groupsData.isUninitialized;
let shouldFetch: boolean;
if (groupId) {
shouldFetch = true;
} else if (filterId !== currentFilterId) {
setCurrentFilterId(filterId);
shouldFetch = true;
} else {
shouldFetch = groupsData.isUninitialized;
}

if (shouldFetch) {
fetchPage(1);
}

return () => fetchPage.cancel();
}, [filterId, groupId, groupsData.isUninitialized, fetchPage]);
}, [currentFilterId, filterId, groupId, groupsData.isUninitialized, fetchPage]);

useEffect(() => {
if (!groupId) setSeriesData({ pages: [], total: -1 });
Expand Down
2 changes: 1 addition & 1 deletion src/pages/collection/Collection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ function Collection() {

const filterData = useGetFilterQuery({ filterId }, { skip: !filterId });
const groupData = useGetGroupQuery({ groupId: groupId! }, { skip: !groupId });
const subsectionName = groupId ? groupData?.data?.Name : filterData?.data?.Name;
const subsectionName = groupId ? groupData?.data?.Name : filterId && filterData?.data?.Name;

const settingsQuery = useGetSettingsQuery();
const settings = useMemo(() => settingsQuery?.data ?? initialSettings, [settingsQuery]);
Expand Down

0 comments on commit cb32c3d

Please sign in to comment.