'use client' import { useEffect } from 'react' import Link from 'next/link' import { Disclosure } from '@headlessui/react' import { Icons, SidebarSkeleton, LogoH } from 'components' import { useDisclosure } from 'hooks' import { useGetCategoriesQuery } from '@/store/services' export default function Sidebar() { //? Assets const [isSidebar, sidebarHandlers] = useDisclosure() //? Get Categories Query const { categoriesList, isLoading } = useGetCategoriesQuery(undefined, { selectFromResult: ({ data, isLoading }) => ({ categoriesList: data?.data?.categoriesList, isLoading, }), }) //? Handlers const handleClose = () => sidebarHandlers.close() //? Re-Renders //* prevent scroll useEffect(() => { if (isSidebar) document.body.style.overflow = 'hidden' else document.body.style.overflow = 'unset' }, [isSidebar]) //? Render(s) return ( <>
商品分类
{isLoading ? ( ) : categoriesList ? (
{categoriesList.children && categoriesList.children.map(category => ( {({ open }) => ( <> {category.name} 此类别所有分类 {category?.children && category.children.map(category => ( {({ open }) => ( <> {category.name} 此类别所有分类 {category.children && category.children.map(category => ( {category.name} ))} )} ))} )} ))}
) : null}
) }