diff options
Diffstat (limited to 'src/lib/home/components/CategoryDynamicMobile.jsx')
| -rw-r--r-- | src/lib/home/components/CategoryDynamicMobile.jsx | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/lib/home/components/CategoryDynamicMobile.jsx b/src/lib/home/components/CategoryDynamicMobile.jsx deleted file mode 100644 index c1433a2d..00000000 --- a/src/lib/home/components/CategoryDynamicMobile.jsx +++ /dev/null @@ -1,101 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import useCategoryManagement from '../hooks/useCategoryManagement'; -import NextImage from 'next/image'; -import Link from "next/link"; -import { createSlug } from '@/core/utils/slug'; -import { Swiper, SwiperSlide } from 'swiper/react'; -import 'swiper/css'; - -const CategoryDynamicMobile = () => { - const { categoryManagement } = useCategoryManagement() - const [selectedCategory, setSelectedCategory] = useState({}); - - useEffect(() => { - const loadPromo = async () => { - try { - if (categoryManagement.data?.length > 0) { - const initialSelections = categoryManagement.data.reduce((acc, category) => { - if (category.categories.length > 0) { - acc[category.id] = category.categories[0].idLevel2; - } - return acc; - }, {}); - setSelectedCategory(initialSelections); - } - } catch (loadError) { - // console.error("Error loading promo items:", loadError); - } - }; - - loadPromo(); - }, [categoryManagement.data]); - - const handleCategoryLevel2Click = (categoryIdI, idLevel2) => { - setSelectedCategory(prev => ({ - ...prev, - [categoryIdI]: idLevel2 - })); - }; - - return ( - <div className='p-4'> - {categoryManagement.data && categoryManagement.data.map((category) => ( - <div key={category.id}> - <div className='bagian-judul flex flex-row justify-between items-center gap-3 mb-4 mt-4'> - <div className='font-semibold sm:text-h-sm mr-2'>{category.name}</div> - <Link href={createSlug('/shop/category/', category?.name, category?.categoryIdI)} className="!text-red-500 font-semibold text-sm">Lihat Semua</Link> - </div> - <Swiper slidesPerView={2.3} spaceBetween={10}> - {category.categories.map((index) => ( - <SwiperSlide key={index.id}> - <div - onClick={() => handleCategoryLevel2Click(category.id, index?.idLevel2)} - className={`border flex justify-start items-center max-w-48 max-h-16 rounded ${selectedCategory[category.id] === index?.idLevel2 ? 'bg-red-50 border-red-500 text-red-500' : 'border-gray-200 text-gray-900'}`} - > - <div className='p-1 flex justify-start items-center'> - <div className='flex flex-row justify-center items-center'> - <NextImage - src={index.image ? index.image : "/images/noimage.jpeg"} - alt={index.name} - width={30} - height={30} - className='object-' - /> - <div className='bagian-judul flex flex-col justify-center items-start gap-1 ml-2'> - <div className='font-semibold text-[10px] line-clamp-1'>{index.name}</div> - <p className='text-gray_r-10 text-[10px]'>999 rb+ Produk</p> - </div> - </div> - </div> - </div> - </SwiperSlide> - ))} - </Swiper> - <div className='p-3 mt-2 border'> - <div className='grid grid-cols-2 gap-2 overflow-y-auto max-h-[240px]'> - {category.categories.map((index) => ( - selectedCategory[category.id] === index?.idLevel2 && index.childFrontendIdI.map((x) => ( - <div key={x.id}> - <Link href={createSlug('/shop/category/', x?.name, x?.idLevel3)} className="flex flex-row gap-1 border rounded group hover:border-red-500"> - <NextImage - src={x.image ? x.image : "/images/noimage.jpeg"} - alt={x.name} - width={40} - height={40} - /> - <div className='bagian-judul flex flex-col justify-center items-start gap-1 break-words line-clamp-2 group-hover:text-red-500'> - <div className='font-semibold line-clamp-2 group-hover:text-red-500 text-[10px]'>{x.name}</div> - </div> - </Link> - </div> - )) - ))} - </div> - </div> - </div> - ))} - </div> - ); -}; - -export default CategoryDynamicMobile; |
