mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-23 15:09:33 +01:00
fix: parent is always undefined for submenus
This commit is contained in:
@@ -71,7 +71,12 @@ function GlobalMenuWrapper() {
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Menu items={items} data={data} closeMenu={closeMenu} />
|
||||
<Menu
|
||||
items={items}
|
||||
data={data}
|
||||
title={data.title}
|
||||
closeMenu={closeMenu}
|
||||
/>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user