import React from 'react' import Icon from '@ant-design/icons' import '@/assets/css/components/common/sidebar.scss' import SidebarSeparate from '@/components/common/sidebar/SidebarSeparate' import SidebarFooter from '@/components/common/sidebar/SidebarFooter' import { getLocalStorage, setLocalStorage } from '@/utils/common' interface SidebarProps extends React.PropsWithChildren { title: string width?: string onSidebarSwitch?: (hidden: boolean) => void bottomFixed?: React.ReactNode } const Sidebar: React.FC = (props) => { const [hideSidebar, setHideSidebar] = useState(getLocalStorage('hideSidebar') === 'false') const switchSidebar = () => { setHideSidebar(!hideSidebar) setLocalStorage('hideSidebar', hideSidebar ? 'true' : 'false') props.onSidebarSwitch && props.onSidebarSwitch(hideSidebar) } return ( <>
{props.title}
{props.children}
{props.bottomFixed}
) } export default Sidebar