From a615af836b3f1d3a86eef98bc70e8317bd2a81e9 Mon Sep 17 00:00:00 2001 From: Radiquum Date: Mon, 25 Aug 2025 19:47:14 +0500 Subject: [PATCH] anix/refactor: index category page data fetcher --- app/pages/IndexCategory.tsx | 7 ++++--- app/pages/IndexFilters.tsx | 10 +++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/pages/IndexCategory.tsx b/app/pages/IndexCategory.tsx index f3ba11d..bf10bed 100644 --- a/app/pages/IndexCategory.tsx +++ b/app/pages/IndexCategory.tsx @@ -4,9 +4,10 @@ import { Spinner } from "#/components/Spinner/Spinner"; import { useState, useEffect } from "react"; import { useScrollPosition } from "#/hooks/useScrollPosition"; import { useUserStore } from "../store/auth"; -import { _FetchHomePageReleases } from "#/api/utils"; +import { FetchFilter } from "#/api/utils"; import { Button, ButtonGroup } from "flowbite-react"; import { useRouter } from "next/navigation"; +import { slugToFilter } from "./IndexFilters"; export function IndexCategoryPage(props) { const token = useUserStore((state) => state.token); @@ -20,7 +21,7 @@ export function IndexCategoryPage(props) { setIsLoading(true); setContent(null); - const data: any = await _FetchHomePageReleases(props.slug, token, page); + const [ data ] = await FetchFilter(slugToFilter[props.slug].filter, page, token); setContent(data.content); setIsLoading(false); @@ -32,7 +33,7 @@ export function IndexCategoryPage(props) { useEffect(() => { async function _loadNextReleasesPage() { - const data: any = await _FetchHomePageReleases(props.slug, token, page); + const [ data ] = await FetchFilter(slugToFilter[props.slug].filter, page, token); const newContent = [...content, ...data.content]; setContent(newContent); } diff --git a/app/pages/IndexFilters.tsx b/app/pages/IndexFilters.tsx index 2ea2d50..c53146a 100644 --- a/app/pages/IndexFilters.tsx +++ b/app/pages/IndexFilters.tsx @@ -1,4 +1,4 @@ -import { Filter, FilterDefault } from "#/api/utils"; +import { FilterDefault } from "#/api/utils"; export const ListLast = { name: "Последнее", @@ -24,3 +24,11 @@ export const ListFilms = { name: "Фильмы", filter: { ...FilterDefault, category_id: 2, status_id: null }, }; + +export const slugToFilter = { + last: ListLast, + ongoing: ListOngoing, + announce: ListAnnounce, + finished: ListFinished, + films: ListFilms, +} \ No newline at end of file