"use client"; import Link from "next/link"; import React, { useState, useEffect } from "react"; import { backendUrl } from "@/utils/axios"; import axios from "axios"; import Image from "next/image"; import slugify from "slugify"; export default function SubcategoryList({ params }) { //console.log("category params is", params); //console.log("Category name:", params.name); const [subcategories, setSubcategories] = useState([]); const [category, setCategory] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const fetchData = async () => { try { // Fetch all categories const categoryResponse = await axios.get(`${backendUrl}/products/category/`); // Find the category by name const selectedCategory = categoryResponse.data.find( (cat) => cat.category_name.toLowerCase() === decodeURIComponent(params.name).toLowerCase() ); if (!selectedCategory) { setError("Category not found."); setLoading(false); return; } setCategory(selectedCategory); // Fetch subcategories using category id const subcategoriesResponse = await axios.get( `${backendUrl}/admins/product/subcategories/?category_id=${selectedCategory.id}` ); setSubcategories(subcategoriesResponse.data); console.log("Selected subcategories", subcategoriesResponse.data); } catch (err) { console.error("Error fetching data:", err); setError("Failed to load subcategories. Please try again later."); } finally { setLoading(false); } }; fetchData(); }, [params.name]); if (loading) { return
Loading subcategories...
; } if (error) { return
{error}
; } return (

Explore {category ? category.category_name : "Category"} Subcategories

{subcategories.length === 0 ? (

No subcategories available for this category.

) : (
{subcategories.map((subcategory) => (
{subcategory.subcategory_name}

{subcategory.subcategory_name}

Click to view collections

))}
)}
); }