Skip to content

Commit f6bd6a5

Browse files
Merge pull request #268 from Parcels-code/menu-bar-fixes
Menu bar fixes: avoid light/dark switch overlap and multiline menu items
2 parents 7830e4e + eae55a6 commit f6bd6a5

File tree

4 files changed

+12
-3
lines changed

4 files changed

+12
-3
lines changed

src/components/desktop-nav.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ export const DesktopNav = ({ navItems, ...props }) => {
2525
fontSize={'sm'}
2626
fontWeight={'bold'}
2727
// eslint-disable-next-line react-hooks/rules-of-hooks
28+
whiteSpace={'nowrap'}
29+
flexShrink={0}
2830
color={useColorModeValue('gray.600', 'gray.200')}
2931
_hover={{
3032
textDecoration: 'none',

src/components/header.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { DesktopNav } from '@/components/desktop-nav'
22
import { Link } from '@/components/mdx'
33
import { MobileNav } from '@/components/mobile-nav'
44
import { menuItems } from '@/data/menu-items'
5-
import { CloseIcon, HamburgerIcon } from '@chakra-ui/icons'
5+
import { CloseIcon, HamburgerIcon, MoonIcon, SunIcon } from '@chakra-ui/icons'
66
import {
77
Box,
88
Container,
@@ -95,6 +95,13 @@ export const Header = () => {
9595
navItems={navItems}
9696
display={{ base: 'none', md: 'flex' }}
9797
/>
98+
<IconButton
99+
aria-label={`Switch to ${colorMode === 'light' ? 'dark' : 'light'} mode`}
100+
icon={colorMode === 'light' ? <MoonIcon /> : <SunIcon />}
101+
onClick={toggleColorMode}
102+
variant={'ghost'}
103+
size={'sm'}
104+
/>
98105
</Stack>
99106
</Container>
100107
</Flex>

src/components/mobile-nav.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const MobileNavItem = ({ href, children, label }) => {
3535
>
3636
<Text
3737
fontWeight={600}
38+
whiteSpace={'nowrap'}
3839
color={useColorModeValue('gray.600', 'gray.200')}
3940
>
4041
{label}
@@ -56,6 +57,7 @@ const MobileNavItem = ({ href, children, label }) => {
5657
pl={4}
5758
borderLeft={1}
5859
borderStyle={'solid'}
60+
whiteSpace={'nowrap'}
5961
borderColor={useColorModeValue('gray.200', 'gray.700')}
6062
align={'start'}
6163
>

src/pages/_app.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { ChakraProvider } from '@chakra-ui/react'
44
import { useRouter } from 'next/router'
55
import Script from 'next/script'
66
import { useEffect } from 'react'
7-
import { ColorModeToggle } from '@/components/ColorModeToggle'
87

98
function MyApp({ Component, pageProps }) {
109
const router = useRouter()
@@ -42,7 +41,6 @@ function MyApp({ Component, pageProps }) {
4241
}}
4342
/>
4443

45-
<ColorModeToggle />
4644
<Component {...pageProps} />
4745
</ChakraProvider>
4846
)

0 commit comments

Comments
 (0)