Files
web/components/PagesComponent/Home/FeaturedSections.jsx
Husanjonazamov 64af77101f classify web
2026-02-24 12:52:49 +05:00

63 lines
2.0 KiB
JavaScript

"use client";
import { t } from "@/utils";
import CustomLink from "@/components/Common/CustomLink";
import ProductCard from "@/components/Common/ProductCard";
import { Fragment } from "react";
const FeaturedSections = ({ featuredData, setFeaturedData, allEmpty }) => {
const handleLike = (id) => {
const updatedData = featuredData.map((section) => {
const updatedSectionData = section.section_data.map((item) => {
if (item.id === id) {
return { ...item, is_liked: !item.is_liked };
}
return item;
});
return { ...section, section_data: updatedSectionData };
});
setFeaturedData(updatedData);
};
return (
featuredData &&
featuredData.length > 0 &&
!allEmpty && (
<section className="container">
{featuredData.map(
(ele) =>
ele?.section_data.length > 0 && (
<Fragment key={ele?.id}>
<div className="space-between gap-2 mt-12">
<h5 className="text-xl sm:text-2xl font-medium">
{ele?.translated_name || ele?.title}
</h5>
{ele?.section_data.length > 4 && (
<CustomLink
href={`/ads?featured_section=${ele?.slug}`}
className="text-sm sm:text-base font-medium whitespace-nowrap"
prefetch={false}
>
{t("viewAll")}
</CustomLink>
)}
</div>
<div className="grid grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 sm:gap-6 mt-6">
{ele?.section_data.slice(0, 4).map((data) => (
<ProductCard
key={data?.id}
item={data}
handleLike={handleLike}
/>
))}
</div>
</Fragment>
)
)}
</section>
)
);
};
export default FeaturedSections;