import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons'; import { Affix, Drawer, Layout, Menu } from 'antd'; import React, { useEffect, useState } from 'react'; import { useMedia } from 'react-use'; import { useMenu } from '../../hooks/useMenu'; import { getAncestorMenuItems } from '../../utils/menu'; import styles from './index.module.less'; export const Sidebar: React.FC = () => { const [drawOpen, setDrawOpen] = useState(false); const [menuItems, selectedKey] = useMenu(); const is767Wide = useMedia('(min-width: 767.99px)', true); const [openKeys, setOpenKeys] = useState([]); useEffect(() => { const items = getAncestorMenuItems(menuItems, selectedKey); setOpenKeys((prev) => [...new Set([...prev, ...items.map((item) => item.key)])]); }, [menuItems, selectedKey]); const menu = (