import ButtonIcon from '@/components/ButtonIcon'; import SvgIcon from '@/components/SvgIcon'; import { getSiderCollapse, toggleSiderCollapse } from '@/layouts/appStore'; interface Props { /** Arrow style icon */ arrowIcon?: boolean; className?: string; } type NumberBool = 0 | 1; const icons: Record> = { 0: { 0: 'line-md:menu-fold-left', 1: 'line-md:menu-fold-right' }, 1: { 0: 'ph-caret-double-left-bold', 1: 'ph-caret-double-right-bold' } }; const MenuToggler = ({ arrowIcon, className }: Props) => { const { t } = useTranslation(); const siderCollapse = useAppSelector(getSiderCollapse); const dispatch = useAppDispatch(); const isArrowIcon = Number(arrowIcon || false) as NumberBool; const isCollapsed = Number(siderCollapse || false) as NumberBool; const icon = icons[isArrowIcon][isCollapsed]; return ( dispatch(toggleSiderCollapse())} > ); }; export default MenuToggler;