diff --git a/app/api/config.ts b/app/api/config.ts index a685cb3..e2e47d5 100644 --- a/app/api/config.ts +++ b/app/api/config.ts @@ -77,5 +77,6 @@ export const ENDPOINTS = { }, discover: { interesting: `${API_PREFIX}/discover/interesting`, + discussing: `${API_PREFIX}/discover/discussing`, } }; diff --git a/app/components/Discovery/DiscussingTodayCarousel.tsx b/app/components/Discovery/DiscussingTodayCarousel.tsx new file mode 100644 index 0000000..7af3de7 --- /dev/null +++ b/app/components/Discovery/DiscussingTodayCarousel.tsx @@ -0,0 +1,52 @@ +"use client"; + +import { ENDPOINTS } from "#/api/config"; +import { useSWRfetcher } from "#/api/utils"; +import { useUserStore } from "#/store/auth"; +import Link from "next/link"; +import { PosterWithStuff } from "../ReleasePoster/PosterWithStuff"; +import useSWR from "swr"; + +export const DiscussingTodayCarousel = () => { + const token = useUserStore((state) => state.token); + const { data, isLoading, error } = useSWR( + `${ENDPOINTS.discover.discussing}${token ? `?token=${token}` : ""}`, + useSWRfetcher, + { + revalidateOnFocus: false, + revalidateIfStale: false, + revalidateOnReconnect: false, + } + ); + + if (error) + return ( +
+
+

Произошла ошибка загрузки обсуждаемых релизов

+
+
+ ); + if (isLoading) return <>; + + return ( +
+

Обсуждаемое сегодня

+
+ {data.content.map((item) => { + return ( + + + + ); + })} +
+
+ ); +}; diff --git a/app/pages/Discover.tsx b/app/pages/Discover.tsx index 7f6faf1..841a6d7 100644 --- a/app/pages/Discover.tsx +++ b/app/pages/Discover.tsx @@ -1,4 +1,5 @@ "use client"; +import { DiscussingTodayCarousel } from "#/components/Discovery/DiscussingTodayCarousel"; import { InterestingCarousel } from "#/components/Discovery/InterestingCarousel"; import { Button } from "flowbite-react"; @@ -8,18 +9,23 @@ export const DiscoverPage = () => {
+ ); };