Skip to content

Commit e488e8a

Browse files
Joseph LozanoJoseph Lozano
Joseph Lozano
authored and
Joseph Lozano
committed
use windowSize hook to determine if menu should be hidden
1 parent 0ffd4ba commit e488e8a

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

packages/react/src/SubdomainNavBar/NavigationVisbilityObserver.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@ import styles from './SubdomainNavBar.module.css'
1111
import {useKeyboardEscape} from '../hooks/useKeyboardEscape'
1212
import {useWindowSize} from '../hooks/useWindowSize'
1313

14-
export function NavigationVisbilityObserver({children, className, showOnlyOnNarrow = false, ...rest}) {
14+
export function NavigationVisbilityObserver({children, className, ...rest}) {
1515
const navRef = useRef<HTMLUListElement | null>(null)
1616
const [visibilityMap] = useVisibilityObserver(navRef, children)
1717
const {width} = useWindowSize()
1818

1919
const showOverflow = Object.values(visibilityMap).includes(false)
2020

21-
if (showOnlyOnNarrow && width && width > 768) return null
2221
return (
2322
<ul className={clsx(styles['SubdomainNavBar-primary-nav-list'], className)} ref={navRef} {...rest}>
2423
{React.Children.map(children, child => {

packages/react/src/SubdomainNavBar/SubdomainNavBar.tsx

+8
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {NavigationVisbilityObserver} from './NavigationVisbilityObserver'
77
import {useOnClickOutside} from '../hooks/useOnClickOutside'
88
import {useFocusTrap} from '../hooks/useFocusTrap'
99
import {useKeyboardEscape} from '../hooks/useKeyboardEscape'
10+
import {useWindowSize} from '../hooks/useWindowSize'
1011

1112
/**
1213
* Design tokens
@@ -79,10 +80,17 @@ function Root({
7980
}: SubdomainNavBarProps) {
8081
const [menuHidden, setMenuHidden] = useState(true)
8182
const [searchVisible, setSearchVisible] = useState(false)
83+
const {width} = useWindowSize()
8284

8385
const handleMobileMenuClick = () => setMenuHidden(!menuHidden)
8486
const handleSearchVisibility = () => setSearchVisible(!searchVisible)
8587

88+
useEffect(() => {
89+
if (width && width >= 768) {
90+
setMenuHidden(true)
91+
}
92+
}, [width, menuHidden])
93+
8694
useEffect(() => {
8795
const newOverflowState = menuHidden ? 'auto' : 'hidden'
8896
document.body.style.overflow = newOverflowState

0 commit comments

Comments
 (0)