import React, { useEffect, useState, useCallback } from 'react'; 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'; import { fetchCategoryManagementSolr, fetchCategoryManagementVersion, } from '../api/categoryManagementApi'; const CategoryDynamicMobile = () => { const [selectedCategory, setSelectedCategory] = useState({}); const [categoryManagement, setCategoryManagement] = useState([]); const [isLoading, setIsLoading] = useState(false); useEffect(() => { const fetchCategoryData = async () => { setIsLoading(true); const res = await fetch('/api/category-management'); const { data } = await res.json(); if (data) { setCategoryManagement(data); } setIsLoading(false); }; fetchCategoryData(); }, []); useEffect(() => { if (categoryManagement?.length > 0) { const initialSelections = categoryManagement.reduce((acc, category) => { if (category.categories.length > 0) { acc[category.id] = category.categories[0].id_level_2; } return acc; }, {}); setSelectedCategory(initialSelections); } }, [categoryManagement]); const handleCategoryLevel2Click = (categoryId, idLevel2) => { setSelectedCategory((prev) => ({ ...prev, [categoryId]: idLevel2, })); }; return (
{categoryManagement && categoryManagement?.map((category) => (

{category.name}

Lihat Semua
{category.categories.map((index) => (
handleCategoryLevel2Click(category.id, index?.id_level_2) } className={`border flex justify-start items-center max-w-48 max-h-16 rounded ${ selectedCategory[category.id] === index?.id_level_2 ? 'bg-red-50 border-red-500 text-red-500' : 'border-gray-200 text-gray-900' }`} >

{index?.name}

))}
{category.categories.map( (index) => selectedCategory[category.id] === index?.id_level_2 && index?.child_frontend_id_i.map((x) => (

{x?.name}

)) )}
))}
); }; export default CategoryDynamicMobile;