From cb79da4b18db2af2f0c1cef4616ddbb5980936ac Mon Sep 17 00:00:00 2001 From: GivFNZ Date: Fri, 28 Feb 2025 17:55:42 -0300 Subject: [PATCH] feat: hide drawer when user clicks outside --- src/App.tsx | 2 +- src/components/Header/index.tsx | 8 ++++---- src/hooks/useDrawerVisible.tsx | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 src/hooks/useDrawerVisible.tsx diff --git a/src/App.tsx b/src/App.tsx index 74e0196..03fbfbd 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -37,7 +37,7 @@ function App() { ); diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx index c7a9594..47d22e6 100644 --- a/src/components/Header/index.tsx +++ b/src/components/Header/index.tsx @@ -4,18 +4,19 @@ import { AvatarHeader } from "../Avatar/avatar"; import i18n from "../../utils/i18n"; import { t } from "i18next"; import { Drawer, DrawerContainer, DrawerItem } from "../Drawer/styles"; -import { useState } from "react"; +import useDrawerVisible from "../../hooks/useDrawerVisible"; export default function Header() { const changeLanguage = (event: React.ChangeEvent) => { i18n.changeLanguage(event.target.value); localStorage.setItem("language", event.target.value); }; - const [openDrawer, setOpenDrawer] = useState(false); + const { ref, openDrawer, setOpenDrawer } = useDrawerVisible(); return ( <> - + + setOpenDrawer(!openDrawer)} /> Giv's Website @@ -24,7 +25,6 @@ export default function Header() { {t("about")} {t("contact")} {t("projects")} - setOpenDrawer(!openDrawer)} />