docs: fixes to navbar and sidebar in mobile (#12379)
* docs: fixes to navbar and sidebar in mobile * fix height issues
This commit is contained in:
1 parent
91173f3052
commit
74e93b3079
4 files changed
+15
-13
No files matched your search
@@ -24,11 +24,11 @@ export const MainNavMobileSubMenu = ({
|
|||||||
) as (MenuItemLink | MenuItemSubMenu)[]
|
) as (MenuItemLink | MenuItemSubMenu)[]
|
||||||
}, [menu])
|
}, [menu])
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col gap-[23px]">
|
<div className="flex flex-col gap-[23px] max-h-[90%]">
|
||||||
<span className="text-compact-small-plus text-medusa-fg-muted uppercase">
|
<span className="text-compact-small-plus text-medusa-fg-muted uppercase">
|
||||||
{title}
|
{title}
|
||||||
</span>
|
</span>
|
||||||
<ul className="flex flex-col gap-[18px]">
|
<ul className="flex flex-col gap-[18px] max-h-full overflow-auto">
|
||||||
{filteredItems.map((item, index) => (
|
{filteredItems.map((item, index) => (
|
||||||
<li
|
<li
|
||||||
key={index}
|
key={index}
|
||||||
|
|||||||
@@ -52,7 +52,10 @@ export const MainNavMobileMenu = () => {
|
|||||||
nodeRef={ref}
|
nodeRef={ref}
|
||||||
timeout={250}
|
timeout={250}
|
||||||
>
|
>
|
||||||
<div ref={ref} className="w-full px-docs_1.5">
|
<div
|
||||||
|
ref={ref}
|
||||||
|
className="w-full px-docs_1.5 h-3/4 flex flex-col justify-center"
|
||||||
|
>
|
||||||
{selectedMenus.length === 0 && (
|
{selectedMenus.length === 0 && (
|
||||||
<MainNavMobileMainMenu setSelectedMenus={setSelectedMenus} />
|
<MainNavMobileMainMenu setSelectedMenus={setSelectedMenus} />
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -64,8 +64,14 @@ export const SidebarItemCategory = ({
|
|||||||
}, [persistCategoryState])
|
}, [persistCategoryState])
|
||||||
|
|
||||||
const handleOpen = () => {
|
const handleOpen = () => {
|
||||||
|
if (!open) {
|
||||||
item.onOpen?.()
|
item.onOpen?.()
|
||||||
}
|
}
|
||||||
|
if (persistCategoryState) {
|
||||||
|
updatePersistedCategoryState(item.title, !open)
|
||||||
|
}
|
||||||
|
setOpen((prev) => !prev)
|
||||||
|
}
|
||||||
|
|
||||||
const isTitleOneWord = useMemo(
|
const isTitleOneWord = useMemo(
|
||||||
() => item.title.split(" ").length === 1,
|
() => item.title.split(" ").length === 1,
|
||||||
@@ -87,15 +93,7 @@ export const SidebarItemCategory = ({
|
|||||||
!isTitleOneWord && "break-words"
|
!isTitleOneWord && "break-words"
|
||||||
)}
|
)}
|
||||||
tabIndex={-1}
|
tabIndex={-1}
|
||||||
onClick={() => {
|
onClick={handleOpen}
|
||||||
if (!open) {
|
|
||||||
handleOpen()
|
|
||||||
}
|
|
||||||
if (persistCategoryState) {
|
|
||||||
updatePersistedCategoryState(item.title, !open)
|
|
||||||
}
|
|
||||||
setOpen((prev) => !prev)
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className={clsx(
|
className={clsx(
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ export const useClickOutside = ({
|
|||||||
|
|
||||||
const checkClickOutside = useCallback(
|
const checkClickOutside = useCallback(
|
||||||
(e: MouseEvent) => {
|
(e: MouseEvent) => {
|
||||||
if (!elmRef.current?.contains(e.target as Node)) {
|
const node = e.target as Node
|
||||||
|
if (!elmRef.current?.contains(node) && node.isConnected) {
|
||||||
onClickOutside(e)
|
onClickOutside(e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in new issue
Block a user