useCloseMobileMenuOnResize
Closes a mobile menu or overlay when the viewport is resized.
Menu is closed. Resize the window to close it automatically.
Installation
npx shadcn@latest add https://reactdocs.canceydejean.dev/r/use-close-mobile-menu-on-resize.jsonUsage
Pass a callback that runs on every window resize event. Typical use: dismiss a sheet, drawer, or
mobile nav when the user widens the viewport so the desktop layout takes over.
import { useCloseMobileMenuOnResize } from "@/hooks/use-close-mobile-menu-on-resize";
export function MobileNav({ open, onOpenChange }: { open: boolean; onOpenChange: (open: boolean) => void }) {
useCloseMobileMenuOnResize(() => onOpenChange(false));
return open ? <nav>{/* mobile links */}</nav> : null;
}Pair with useIsMobile when you only want to close after crossing the mobile
breakpoint instead of on every resize tick.