import { useNavigate } from "@/components/Common/useNavigate"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { getIsFreAdListing } from "@/redux/reducer/settingSlice"; import { t } from "@/utils"; import { getPackageApi, renewItemApi } from "@/utils/api"; import { useEffect, useState } from "react"; import { useSelector } from "react-redux"; import { toast } from "sonner"; const RenewAd = ({ currentLanguageId, setProductDetails, item_id, setStatus, }) => { const { navigate } = useNavigate(); const [RenewId, setRenewId] = useState(""); const [ItemPackages, setItemPackages] = useState([]); const [isRenewingAd, setIsRenewingAd] = useState(false); const isFreeAdListing = useSelector(getIsFreAdListing); useEffect(() => { getItemsPackageData(); }, [currentLanguageId]); const getItemsPackageData = async () => { try { const res = await getPackageApi.getPackage({ type: "item_listing" }); const { data } = res.data; setItemPackages(data); setRenewId(data[0]?.id); } catch (error) { console.log(error); } }; const handleRenewItem = async () => { try { const subPackage = ItemPackages.find( (p) => Number(p.id) === Number(RenewId) ); if (!isFreeAdListing && !subPackage?.is_active) { toast.error(t("purchasePackageFirst")); navigate("/user-subscription"); return; } try { setIsRenewingAd(true); const res = await renewItemApi.renewItem({ item_ids: item_id, ...(isFreeAdListing ? {} : { package_id: RenewId }), }); if (res?.data?.error === false) { setProductDetails((prev) => ({ ...prev, status: res?.data?.data?.status, expiry_date: res?.data?.data?.expiry_date, })); setStatus(res?.data?.data?.status); toast.success(res?.data?.message); } else { toast.error(res?.data?.message); } } catch (error) { console.error(error); } finally { setIsRenewingAd(false); } } catch (error) { console.log(error); } }; return (