"use client"; import { useEffect, useState } from "react"; import SellerLsitings from "./SellerLsitings"; import SellerDetailCard from "./SellerDetailCard"; import { getSellerApi } from "@/utils/api"; import { t } from "@/utils"; import SellerRating from "./SellerRating"; import SellerSkeleton from "./SellerSkeleton"; import NoData from "@/components/EmptyStates/NoData"; import Layout from "@/components/Layout/Layout"; import OpenInAppDrawer from "@/components/Common/OpenInAppDrawer"; import BreadCrumb from "@/components/BreadCrumb/BreadCrumb"; import { useSelector } from "react-redux"; import { CurrentLanguageData } from "@/redux/reducer/languageSlice"; const Seller = ({ id, searchParams }) => { const CurrentLanguage = useSelector(CurrentLanguageData); const [steps, setSteps] = useState(1); const [IsNoUserFound, setIsNoUserFound] = useState(false); const [seller, setSeller] = useState(null); const [ratings, setRatings] = useState(null); const [isSellerDataLoading, setIsSellerDataLoading] = useState(false); const [isLoadMoreReview, setIsLoadMoreReview] = useState(false); const [reviewHasMore, setReviewHasMore] = useState(false); const [reviewCurrentPage, setReviewCurrentPage] = useState(1); const [isOpenInApp, setIsOpenInApp] = useState(false); const isShare = searchParams?.share == "true" ? true : false; useEffect(() => { if (window.innerWidth <= 768 && isShare) { setIsOpenInApp(true); } }, []); useEffect(() => { getSeller(reviewCurrentPage); }, []); const getSeller = async (page) => { if (page === 1) { setIsSellerDataLoading(true); } try { const res = await getSellerApi.getSeller({ id: Number(id), page }); if (res?.data.error && res?.data?.code === 103) { setIsNoUserFound(true); } else { const sellerData = res?.data?.data?.ratings; if (page === 1) { setRatings(sellerData); } else { setRatings({ ...ratings, data: [...ratings?.data, ...sellerData?.data], }); } setSeller(res?.data?.data?.seller); setReviewCurrentPage(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 { setIsSellerDataLoading(false); setIsLoadMoreReview(false); } }; const handleSteps = (step) => { setSteps(step); }; if (IsNoUserFound) { return ; } return ( {isSellerDataLoading ? ( ) : ( <>
{steps === 1 && } {steps === 2 && ( )}
)}
); }; export default Seller;