import { formatDate, t } from "@/utils"; import { BiBadgeCheck } from "react-icons/bi"; import { FaHeart, FaRegHeart } from "react-icons/fa"; import { manageFavouriteApi } from "@/utils/api"; import { useSelector } from "react-redux"; import { userSignUpData } from "@/redux/reducer/authSlice"; import CustomLink from "@/components/Common/CustomLink"; import { toast } from "sonner"; import { setIsLoginOpen } from "@/redux/reducer/globalStateSlice"; import CustomImage from "./CustomImage"; const ProductCard = ({ item, handleLike }) => { const userData = useSelector(userSignUpData); const isJobCategory = Number(item?.category?.is_job_category) === 1; const translated_item = item.translated_item; const isHidePrice = isJobCategory ? !item?.formatted_salary_range : !item?.formatted_price; const price = isJobCategory ? item?.formatted_salary_range : item?.formatted_price; const productLink = userData?.id === item?.user_id ? `/my-listing/${item?.slug}` : `/ad-details/${item.slug}`; const handleLikeItem = async (e) => { e.preventDefault(); e.stopPropagation(); try { if (!userData) { setIsLoginOpen(true); return; } const response = await manageFavouriteApi.manageFavouriteApi({ item_id: item?.id, }); if (response?.data?.error === false) { toast.success(response?.data?.message); handleLike(item?.id); } else { toast.error(t("failedToLike")); } } catch (error) { console.log(error); toast.error(t("failedToLike")); } }; return (
{item?.is_feature && (

{t("featured")}

)}
{item?.is_liked ? ( ) : ( )}
{isHidePrice ? (

{translated_item?.name || item?.name}

) : (

{price}

)}

{formatDate(item?.created_at)}‎

{!isHidePrice && (

{translated_item?.name || item?.name}

)}

{item?.translated_address}

); }; export default ProductCard;