Untitled
unknown
plain_text
4 months ago
1.5 kB
5
Indexable
/** * @license * Copyright (c) ECS FIN. All rights reserved. * * Unauthorized copying or reproduction of this file, in any form, * including file content and design, is strictly prohibited. This source code is * confidential and proprietary to ECS FIN. */ import { useState } from "react"; import { useRouter } from "next/router"; function usePaymentsListMenu(defaultMenu, defaultSubMenu, setPageNo, menus) { const router = useRouter(); const [selectedMenu, setSelectedMenu] = useState(defaultMenu); const [selectedSubMenu, setSelectedSubMenu] = useState(defaultSubMenu); const getMenuType = ( menuKey, subMenuKey) => { const menu = menus?.find((item) => item.key === menuKey); const subMenu = menu.subMenus?.find((item) => item.key === subMenuKey); return subMenu.type || "transactions"; }; const [selectedType, setSelectedType] = useState(getMenuType(defaultMenu, defaultSubMenu)); const onMenuChange = (menu, subMenu) => { const type = getMenuType(menu, subMenu); setSelectedType(type??transactions) setSelectedMenu(menu); setSelectedSubMenu(subMenu || ""); setPageNo(0); router.push({ pathname: router.pathname, query: { ...router.query, menu: menu, subMenu: subMenu, // type: type || "transactions", }, }); }; return { selectedMenu, selectedSubMenu, onMenuChange, selectedType }; } export default usePaymentsListMenu;
Editor is loading...
Leave a Comment