mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-23 23:19:40 +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>
|
</Modal>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,12 +62,12 @@ function useMenuFocus(items) {
|
|||||||
return [focusIndex, setFocusIndex, isSubmenuOpen, setIsSubmenuOpen];
|
return [focusIndex, setFocusIndex, isSubmenuOpen, setIsSubmenuOpen];
|
||||||
}
|
}
|
||||||
|
|
||||||
function Menu({ items, data, closeMenu }) {
|
function Menu({ items, data, title, closeMenu }) {
|
||||||
const [focusIndex, setFocusIndex, isSubmenuOpen, setIsSubmenuOpen] =
|
const [focusIndex, setFocusIndex, isSubmenuOpen, setIsSubmenuOpen] =
|
||||||
useMenuFocus(items);
|
useMenuFocus(items);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<MenuContainer title={data?.title}>
|
<MenuContainer title={title}>
|
||||||
{items.map((item, index) => (
|
{items.map((item, index) => (
|
||||||
<MenuItem
|
<MenuItem
|
||||||
key={item.key}
|
key={item.key}
|
||||||
|
|||||||
@@ -141,11 +141,7 @@ function MenuItem({
|
|||||||
// left: itemRef.current?.offsetWidth,
|
// left: itemRef.current?.offsetWidth,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Menu
|
<Menu items={items} closeMenu={closeMenu} data={data} />
|
||||||
items={items}
|
|
||||||
closeMenu={closeMenu}
|
|
||||||
data={{ ...data, parent: item, title: undefined }}
|
|
||||||
/>
|
|
||||||
</Flex>
|
</Flex>
|
||||||
)}
|
)}
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|||||||
@@ -179,11 +179,15 @@ function mapMenuItems(items, data) {
|
|||||||
color,
|
color,
|
||||||
iconColor,
|
iconColor,
|
||||||
|
|
||||||
items: hasSubmenu ? mapMenuItems(items, data) : [],
|
|
||||||
|
|
||||||
modifier: modifier?.join("+"),
|
modifier: modifier?.join("+"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (hasSubmenu)
|
||||||
|
menuItem.items = mapMenuItems(items, {
|
||||||
|
...data,
|
||||||
|
parent: menuItem,
|
||||||
|
});
|
||||||
|
|
||||||
prev.push(menuItem);
|
prev.push(menuItem);
|
||||||
|
|
||||||
return prev;
|
return prev;
|
||||||
|
|||||||
Reference in New Issue
Block a user