"use client"; import { t } from "@/utils"; import RatingsSummary from "./RatingsSummary"; import RatingsSummarySkeleton from "./RatingsSummarySkeleton"; import { useEffect, useState } from "react"; import { useSelector } from "react-redux"; import { getMyReviewsApi } from "@/utils/api"; import MyReviewsCard from "./MyReviewsCard.jsx"; import MyReviewsCardSkeleton from "@/components/PagesComponent/Reviews/MyReviewsCardSkeleton"; import { Button } from "@/components/ui/button"; import NoData from "@/components/EmptyStates/NoData"; import { CurrentLanguageData } from "@/redux/reducer/languageSlice"; const Reviews = () => { const CurrentLanguage = useSelector(CurrentLanguageData); const [MyReviews, setMyReviews] = useState([]); const [AverageRating, setAverageRating] = useState(""); const [CurrentPage, setCurrentPage] = useState(1); const [ReviewHasMore, setReviewHasMore] = useState(false); const [IsLoading, setIsLoading] = useState(false); const [IsLoadMore, setIsLoadMore] = useState(false); const getReveiws = async (page) => { try { if (page === 1) { setIsLoading(true); } const res = await getMyReviewsApi.getMyReviews({ page }); setAverageRating(res?.data?.data?.average_rating); setMyReviews(res?.data?.data?.ratings?.data); setCurrentPage(res?.data?.data?.ratings?.current_page); if ( res?.data?.data?.ratings?.current_page < res?.data?.data?.ratings?.last_page ) { setReviewHasMore(true); } } catch (error) { console.log(error); } finally { setIsLoading(false); setIsLoadMore(false); } }; useEffect(() => { getReveiws(1); }, [CurrentLanguage?.id]); const handleReviewLoadMore = () => { setIsLoadMore(true); getReveiws(CurrentPage + 1); }; return IsLoading ? ( <> ) : MyReviews && MyReviews.length > 0 ? ( <>
{MyReviews?.map((rating) => ( ))}
{ReviewHasMore && (
)} ) : ( ); }; export default Reviews;