Skip to content

Commit aa7121f

Browse files
Ajustar visibilidade do sidebar
O DocsResponsiveSidebar agora oculta o menu quando a largura da tela atinge 1024px.
1 parent 5d72491 commit aa7121f

1 file changed

Lines changed: 16 additions & 7 deletions

File tree

src/components/DocsResponsiveSidebar.tsx

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ import {
77
SheetTitle,
88
SheetTrigger,
99
} from "@/components/ui/sheet";
10-
import { useIsMobile } from "@/hooks/use-mobile";
1110
import { cn } from "@/lib/utils";
1211
import { Menu } from "lucide-react";
13-
import { useState } from "react";
12+
import { useState, useEffect } from "react";
1413

1514
export 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

Comments
 (0)