summaryrefslogtreecommitdiff
path: root/src/lib/home/components/CategoryDynamicMobile.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/home/components/CategoryDynamicMobile.jsx')
-rw-r--r--src/lib/home/components/CategoryDynamicMobile.jsx101
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;