import { useNavigate, useParams, useSearchParams } from "react-router-dom"; import Error from "../error/Error"; import Topten from "../topten/Topten"; import Genre from "../genres/Genre"; import SidecardLoader from "../Loader/Sidecard.loader"; import PageSlider from "../pageslider/PageSlider"; import CategoryCard from "../categorycard/CategoryCard"; import { useEffect, useState } from "react"; import { useHomeInfo } from "@/src/context/HomeInfoContext"; import getProducer from "@/src/utils/getProducer.utils"; import Loader from "../Loader/Loader"; function Producer() { const { id } = useParams(); const [searchParams, setSearchParams] = useSearchParams(); const [producerInfo, setProducerInfo] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [totalPages, setTotalPages] = useState(0); const page = parseInt(searchParams.get("page")) || 1; const { homeInfo, homeInfoLoading } = useHomeInfo(); const navigate = useNavigate(); useEffect(() => { const fetchProducerInfo = async () => { setLoading(true); try { const data = await getProducer(id, page); setProducerInfo(data.data); setTotalPages(data.totalPages); setLoading(false); } catch (err) { setError(err); console.error("Error fetching category info:", err); } }; fetchProducerInfo(); window.scrollTo(0, 0); }, [id, page]); if (loading) return ; if (error) { navigate("/error-page"); return ; } if (!producerInfo) { navigate("/404-not-found-page"); return null; } const handlePageChange = (newPage) => { setSearchParams({ page: newPage }); }; return (
{producerInfo ? (
{page > totalPages ? (

You came a long way, go back
nothing is here

) : (
{producerInfo && ( )}
)}
{homeInfoLoading ? ( ) : ( <> {homeInfo && homeInfo.topten && ( )} {homeInfo?.genres && } )}
) : ( )}
); } export default Producer;