"use client"; import useSWR from "swr"; import { ReleaseCourusel } from "#/components/ReleaseCourusel/ReleaseCourusel"; import { Spinner } from "#/components/Spinner/Spinner"; const fetcher = (...args: any) => fetch([...args] as any).then((res) => res.json()); import { useUserStore } from "#/store/auth"; import { BookmarksList } from "#/api/utils"; import { ENDPOINTS } from "#/api/config"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; export function BookmarksPage() { const token = useUserStore((state) => state.token); const authState = useUserStore((state) => state.state); const router = useRouter(); function useFetchReleases(listName: string) { let url: string; if (token) { url = `${ENDPOINTS.user.bookmark}/all/${BookmarksList[listName]}/0?token=${token}`; } const { data } = useSWR(url, fetcher); return [data]; } const [watchingData] = useFetchReleases("watching"); const [plannedData] = useFetchReleases("planned"); const [watchedData] = useFetchReleases("watched"); const [delayedData] = useFetchReleases("delayed"); const [abandonedData] = useFetchReleases("abandoned"); useEffect(() => { if (authState === "finished" && !token) { router.push("/login?redirect=/bookmarks"); } }, [authState, token]); return ( <> {authState === "loading" && (!watchingData || !plannedData || !watchedData || !delayedData || !abandonedData) && (