import React, { useMemo } from 'react'; import { Layout, Menu } from 'antd'; import { useNavigate, useLocation } from 'react-router-dom'; import { useTheme } from '@/contexts/ThemeContext'; import { getMenuItems } from '@/utils/menuUtils'; import { Logo } from '@/components/common/Logo'; const { Sider } = Layout; const Sidebar = ({ collapsed }) => { const navigate = useNavigate(); const location = useLocation(); const { isDarkMode } = useTheme(); const menuItems = useMemo(() => getMenuItems(), []); const defaultOpenKeys = useMemo(() => { const pathSegments = location.pathname.split('/').filter(Boolean); return pathSegments.reduce((acc, _, index) => { const path = `/${pathSegments.slice(0, index + 1).join('/')}`; acc.push(path); return acc; }, []); }, [location.pathname]); // Handle menu item click const handleMenuClick = ({ key }) => { navigate(key); }; return ( ); }; export default React.memo(Sidebar);