import Badge from '@/components/Badge' import Collapse from '@/components/Collapse' import { siteConfig } from '@/lib/config' import CONFIG from '../config' import BlogPostCard from './BlogPostCard' /** * 导航列表 * @param posts 所有文章 * @param tags 所有标签 * @returns {JSX.Element} * @constructor */ const NavPostItem = props => { const { group, expanded, toggleItem } = props // 接收传递的展开状态和切换函数 // const [isOpen, setIsOpen] = useState(expanded) // 使用展开状态作为组件内部状态 // 当展开状态改变时触发切换函数,并根据传入的展开状态更新内部状态 const toggleOpenSubMenu = () => { toggleItem() // 调用父组件传递的切换函数 // setIsOpen(!expanded) // 更新内部状态为传入的展开状态的相反值 } const groupHasLatest = group?.items?.some(post => post.isLatest) if (group?.category) { return ( <>
{group?.category}
{groupHasLatest && siteConfig('GITBOOK_LATEST_POST_RED_BADGE', false, CONFIG) && !expanded && }
{group?.items?.map((post, index) => (
))}
) } else { return ( <> {group?.items?.map((post, index) => (
))} ) } } export default NavPostItem