Странно, аниме не найдено, попробуйте другой запрос...
Введите ваш запрос что-бы найти любимый тайтл
"use client"; import useSWRInfinite from "swr/infinite"; import { ReleaseSection } from "@/app/components/ReleaseSection/ReleaseSection"; import { Spinner } from "@/app/components/Spinner/Spinner"; import { useState, useEffect } from "react"; import { useScrollPosition } from "@/app/hooks/useScrollPosition"; import { useRouter } from "next/navigation"; import { useSearchParams } from "next/navigation"; const fetcher = async (url) => { const res = await fetch(url); if (!res.ok) { const error = new Error("An error occurred while fetching the data."); error.info = await res.json(); error.status = res.status; throw error; } return res.json(); }; export function SearchPage() { const router = useRouter(); const searchParams = useSearchParams(); const [query, setQuery] = useState(searchParams.get("q") || null); const getKey = (pageIndex, previousPageData) => { if (previousPageData && !previousPageData.content.length) return null; const url = new URL("/api/search", window.location.origin); url.searchParams.set("page", pageIndex); if (query) { url.searchParams.set("q", query); return url.toString(); } return; }; const { data, error, isLoading, size, setSize } = useSWRInfinite( getKey, fetcher, { initialSize: 2, revalidateFirstPage: false } ); const [content, setContent] = useState(null); useEffect(() => { if (data) { let allReleases = []; for (let i = 0; i < data.length; i++) { allReleases.push(...data[i].content); } setContent(allReleases); } }, [data]); const scrollPosition = useScrollPosition(); useEffect(() => { if (scrollPosition >= 98 && scrollPosition <= 99) { setSize(size + 1); } }, [scrollPosition]); if (error) return
Странно, аниме не найдено, попробуйте другой запрос...
Введите ваш запрос что-бы найти любимый тайтл