fix: parent is always undefined for submenus

This commit is contained in:
thecodrr
2022-02-12 08:43:33 +05:00
parent d728f44519
commit db50bcc42a
4 changed files with 15 additions and 10 deletions

View File

@@ -71,7 +71,12 @@ function GlobalMenuWrapper() {
},
}}
>
<Menu items={items} data={data} closeMenu={closeMenu} />
<Menu
items={items}
data={data}
title={data.title}
closeMenu={closeMenu}
/>
</Modal>
);
}

View File

@@ -62,12 +62,12 @@ function useMenuFocus(items) {
return [focusIndex, setFocusIndex, isSubmenuOpen, setIsSubmenuOpen];
}
function Menu({ items, data, closeMenu }) {
function Menu({ items, data, title, closeMenu }) {
const [focusIndex, setFocusIndex, isSubmenuOpen, setIsSubmenuOpen] =
useMenuFocus(items);
return (
<MenuContainer title={data?.title}>
<MenuContainer title={title}>
{items.map((item, index) => (
<MenuItem
key={item.key}

View File

@@ -141,11 +141,7 @@ function MenuItem({
// left: itemRef.current?.offsetWidth,
}}
>
<Menu
items={items}
closeMenu={closeMenu}
data={{ ...data, parent: item, title: undefined }}
/>
<Menu items={items} closeMenu={closeMenu} data={data} />
</Flex>
)}
</Flex>

View File

@@ -179,11 +179,15 @@ function mapMenuItems(items, data) {
color,
iconColor,
items: hasSubmenu ? mapMenuItems(items, data) : [],
modifier: modifier?.join("+"),
};
if (hasSubmenu)
menuItem.items = mapMenuItems(items, {
...data,
parent: menuItem,
});
prev.push(menuItem);
return prev;