feat: add my pages mobile dropdown cmoponent, parallel route, and consume + zustand store

This commit is contained in:
Chuma McPhoy
2024-06-19 07:57:26 +02:00
committed by Michael Zetterberg
parent f5d998d056
commit cfb08fff2c
11 changed files with 224 additions and 12 deletions

31
stores/main-menu.ts Normal file
View File

@@ -0,0 +1,31 @@
import { create } from "zustand"
interface DropdownState {
isHamburgerMenuOpen: boolean
isMyPagesMobileMenuOpen: boolean
toggleHamburgerMenu: () => void
toggleMyPagesMobileMenu: () => void
}
const useDropdownStore = create<DropdownState>((set) => ({
isHamburgerMenuOpen: false,
isMyPagesMobileMenuOpen: false,
toggleHamburgerMenu: () =>
set((state) => {
// Close the other dropdown if it's open
if (!state.isHamburgerMenuOpen && state.isMyPagesMobileMenuOpen) {
set({ isMyPagesMobileMenuOpen: false })
}
return { isHamburgerMenuOpen: !state.isHamburgerMenuOpen }
}),
toggleMyPagesMobileMenu: () =>
set((state) => {
// Close the other dropdown if it's open
if (!state.isMyPagesMobileMenuOpen && state.isHamburgerMenuOpen) {
set({ isHamburgerMenuOpen: false })
}
return { isMyPagesMobileMenuOpen: !state.isMyPagesMobileMenuOpen }
}),
}))
export default useDropdownStore