Remove menu render from Backend

Remove menu via backend

In the Mantis React admin, a few dashboard menus (i.e. Default, Analytics, Components) load from our mock API (GitHub repository). If you want to remove it from your admin panel, follow the steps below and remove/edit the suggested line of code.

  1. Delete menu-items file: dashboard.tsx

    1. dashboard.tsx[src/menu-items/dashboard.tsx]

  2. Open the file src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.tsx and edit the below line of code.

Form:

src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.tsx
import { Fragment, useLayoutEffect, useState } from 'react';
...
import menuItem from 'menu-items';
import { useGetMenu, useGetMenuMaster } from 'api/menu';

To:

src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.tsx
import { Fragment, useState } from 'react';
...
import menuItems from 'menu-items';
import { useGetMenuMaster } from 'api/menu';
  1. Open file src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.tsx and remove the below line of code.

src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.tsx
import { MenuFromAPI } from 'menu-items/dashboard';
	
export default function Navigation() {
	...		
	const { menuLoading } = useGetMenu();		
	...		
        const [menuItems, setMenuItems] = useState<{ items: NavItemType[] }>({ items: [] });

	let dashboardMenu = MenuFromAPI();
	
        useLayoutEffect(() => {
            const isFound = menuItem.items.some((element) => {
              if (element.id === 'group-dashboard') {
                return true;
              }
              return false;
            });
        
            if (menuLoading) {
              menuItem.items.splice(0, 0, dashboardMenu);
              setMenuItems({ items: [...menuItem.items] });
            } else if (!menuLoading && dashboardMenu?.id !== undefined && !isFound) {
              menuItem.items.splice(0, 1, dashboardMenu);
              setMenuItems({ items: [...menuItem.items] });
            } else {
              setMenuItems({ items: [...menuItem.items] });
            }
            // eslint-disable-next-line
  }, [menuLoading]);
}
  1. Open the file src\api\menu.ts and remove the code below.

  1. Open file src\api\menu.ts and edit the below line of code.

Form:

To:

Last updated