@@ -7,10 +7,9 @@ import {
77 SheetTitle ,
88 SheetTrigger ,
99} from "@/components/ui/sheet" ;
10- import { useIsMobile } from "@/hooks/use-mobile" ;
1110import { cn } from "@/lib/utils" ;
1211import { Menu } from "lucide-react" ;
13- import { useState } from "react" ;
12+ import { useState , useEffect } from "react" ;
1413
1514export interface SidebarItem {
1615 id : string ;
@@ -31,12 +30,22 @@ export function DocsResponsiveSidebar({
3130 title = "Sumário" ,
3231 description = "Navegue pelo conteúdo" ,
3332} : DocsResponsiveSidebarProps ) {
34- const isMobile = useIsMobile ( ) ;
33+ const [ isLargeScreen , setIsLargeScreen ] = useState < boolean | undefined > ( undefined ) ;
3534 const [ isOpen , setIsOpen ] = useState ( false ) ;
3635
36+ useEffect ( ( ) => {
37+ const mql = window . matchMedia ( '(min-width: 1024px)' ) ;
38+ const onChange = ( ) => {
39+ setIsLargeScreen ( window . innerWidth >= 1024 ) ;
40+ } ;
41+ mql . addEventListener ( "change" , onChange ) ;
42+ setIsLargeScreen ( window . innerWidth >= 1024 ) ;
43+ return ( ) => mql . removeEventListener ( "change" , onChange ) ;
44+ } , [ ] ) ;
45+
3746 const handleItemClick = ( id : string ) => {
3847 onItemClick ( id ) ;
39- if ( isMobile ) {
48+ if ( ! isLargeScreen ) {
4049 setIsOpen ( false ) ;
4150 }
4251 } ;
@@ -60,11 +69,11 @@ export function DocsResponsiveSidebar({
6069 </ div >
6170 ) ;
6271
63- if ( isMobile ) {
72+ if ( ! isLargeScreen ) {
6473 return (
6574 < Sheet open = { isOpen } onOpenChange = { setIsOpen } >
6675 < SheetTrigger asChild >
67- < Button variant = "outline" size = "icon" className = "fixed top-36 right-4 z-50 md :hidden" >
76+ < Button variant = "outline" size = "icon" className = "fixed top-36 right-4 z-50 lg :hidden" >
6877 < Menu className = "h-4 w-4" />
6978 </ Button >
7079 </ SheetTrigger >
@@ -80,7 +89,7 @@ export function DocsResponsiveSidebar({
8089 }
8190
8291 return (
83- < div className = "w-64 flex-shrink-0" >
92+ < div className = "w-64 flex-shrink-0 hidden lg:block " >
8493 < div className = "sticky top-6" >
8594 < SidebarContent />
8695 </ div >
0 commit comments