From cfbba733c2a0948c1b02d3ffcb76f3ac8b2986eb Mon Sep 17 00:00:00 2001 From: Timothy Armes Date: Fri, 12 Apr 2024 14:54:44 +0200 Subject: [PATCH] Avatar with drop down menu for accessing zones and signing out --- package.json | 1 + .../(main)/components/HamburgerMenu.tsx | 44 +++++++----- src/app/[locale]/(main)/components/Navbar.tsx | 10 +-- src/app/[locale]/(main)/contact-us/page.tsx | 2 +- .../(main)/zones/components/ZoneThumbnail.tsx | 7 +- src/app/[locale]/(main)/zones/layout.tsx | 38 +++++----- src/app/[locale]/(main)/zones/page.tsx | 13 ++-- src/components/AuthButton.tsx | 35 +++++---- src/components/DropdownMenu.tsx | 71 +++++++++++++++++++ src/components/LoadingMap.tsx | 6 +- src/hooks/useAuthMenuOptions.ts | 59 +++++++++++++++ src/messages/en.json | 4 +- src/messages/fr.json | 4 +- yarn.lock | 34 ++++++++- 14 files changed, 255 insertions(+), 73 deletions(-) create mode 100644 src/components/DropdownMenu.tsx create mode 100644 src/hooks/useAuthMenuOptions.ts diff --git a/package.json b/package.json index 085168c..e944f35 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ }, "dependencies": { "@auth/mongodb-adapter": "^2.5.0", + "@headlessui-float/react": "^0.13.3", "@headlessui/react": "^1.7.18", "@headlessui/tailwindcss": "^0.2.0", "@hookform/resolvers": "^3.3.3", diff --git a/src/app/[locale]/(main)/components/HamburgerMenu.tsx b/src/app/[locale]/(main)/components/HamburgerMenu.tsx index bac4c40..d2e4522 100644 --- a/src/app/[locale]/(main)/components/HamburgerMenu.tsx +++ b/src/app/[locale]/(main)/components/HamburgerMenu.tsx @@ -3,11 +3,13 @@ import { useTranslations } from "next-intl"; import { twMerge } from "tailwind-merge"; import { burgerMenuIsOpenAtom } from "@/atoms"; +import { useAuthMenuOptions } from "@/hooks/useAuthMenuOptions"; import { Link } from "@/utils/navigation"; const HamburgerMenu = () => { const t = useTranslations("Nav"); const [burgerMenuIsOpen, setBurgerMenuIsOpen] = useAtom(burgerMenuIsOpenAtom); + const menuItems = useAuthMenuOptions(); const closeMenu = () => setBurgerMenuIsOpen(false); @@ -20,35 +22,41 @@ const HamburgerMenu = () => { )} > ); diff --git a/src/app/[locale]/(main)/components/Navbar.tsx b/src/app/[locale]/(main)/components/Navbar.tsx index 7e8a82f..e54af04 100644 --- a/src/app/[locale]/(main)/components/Navbar.tsx +++ b/src/app/[locale]/(main)/components/Navbar.tsx @@ -15,10 +15,7 @@ export default function Navbar() { ] as const; return ( -