diff --git a/components/layout/IconNavBar.tsx b/components/layout/IconNavBar.tsx index 86b250997..84994644a 100644 --- a/components/layout/IconNavBar.tsx +++ b/components/layout/IconNavBar.tsx @@ -6,6 +6,11 @@ import { MenuGroup, MenuItem, MenuList, + Popover, + PopoverArrow, + PopoverContent, + PopoverHeader, + PopoverTrigger, } from "@chakra-ui/react"; import { t, Trans } from "@lingui/macro"; import { useLingui } from "@lingui/react"; @@ -73,7 +78,6 @@ const IconNavBar = () => { secondaryBgColor, textColor, themeColorHex: themeColor, - gray, } = useMyTheme(); const pathname = useRouter().pathname; @@ -90,45 +94,13 @@ const IconNavBar = () => { boxShadow="md" > {navIcons.map(({ displayName, code, menuItems }) => { - const codesTogether = - "/" + - code + - menuItems.reduce((acc, { code }) => acc + "/" + code, ""); - - const isActive = pathname !== "/" && codesTogether.includes(pathname); - const MenuNavIcon = () => ( - - - - - {/* TODO same width for each */} - {code} - {menuItems.length > 0 && ( - - ▾ - - )} - - ); if (!menuItems.length) { return ( - + + + ); @@ -136,9 +108,11 @@ const IconNavBar = () => { return ( - - - + + + + + {menuItems.map((item) => ( @@ -184,6 +158,67 @@ const IconNavBar = () => { })} ); + + function MenuNavIcon({ + code, + showDownArrow, + }: { + code: string; + showDownArrow?: boolean; + }) { + return ( + + {code} + {showDownArrow && ( + + ▾ + + )} + + ); + } + + function MenuDialog({ + children, + displayName, + }: { + children: React.ReactNode; + displayName: string; + }) { + return ( + + + + {children} + + + + {displayName} + + + + ); + } }; function getFirstFridayDate() { diff --git a/pages/_app.tsx b/pages/_app.tsx index 3cd36c4d1..2e60e0182 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,5 +1,3 @@ -import "./styles.css"; - import { ChakraProvider, extendTheme } from "@chakra-ui/react"; import { mode } from "@chakra-ui/theme-tools"; import { i18n } from "@lingui/core"; @@ -12,6 +10,7 @@ import GoogleFonts from "next-google-fonts"; import type { AppProps } from "next/app"; import { useEffect } from "react"; import { theme } from "theme"; +import "./styles.css"; const extendedTheme = extendTheme({ styles: { @@ -74,6 +73,16 @@ const extendedTheme = extendTheme({ }, }), }, + Popover: { + variants: { + responsive: { + popper: { + maxWidth: "unset", + width: "unset", + }, + }, + }, + }, }, colors: { theme: {