import { cn } from "@/lib/utils"; import { Loader2, Minus, Plus } from "lucide-react"; import { usePathname, useSearchParams } from "next/navigation"; import { t } from "@/utils"; import CategoryNode from "./CategoryNode"; import { useState } from "react"; import { useNavigate } from "../Common/useNavigate"; import useGetCategories from "../Layout/useGetCategories"; const FilterTree = ({ extraDetails, setExtraDetails }) => { const { navigate } = useNavigate(); const searchParams = useSearchParams(); const pathname = usePathname(); const { getCategories, cateData, isCatLoading, isCatLoadMore, catCurrentPage, catLastPage, } = useGetCategories(); const hasMore = catCurrentPage < catLastPage; const selectedSlug = searchParams.get("category") || ""; const isSelected = !selectedSlug; // "All" category is selected when no category is selected const [expanded, setExpanded] = useState(true); const handleToggleExpand = () => { setExpanded((prev) => !prev); }; const handleClick = () => { const params = new URLSearchParams(searchParams); params.delete("category"); Object.keys(extraDetails || {})?.forEach((key) => { params.delete(key); }); setExtraDetails({}) if (pathname.startsWith("/ads")) { window.history.pushState(null, "", `/ads?${params.toString()}`); } else { navigate(`/ads?${params.toString()}`); } }; return ( ); }; export default FilterTree;