File tree Expand file tree Collapse file tree 2 files changed +13
-10
lines changed Expand file tree Collapse file tree 2 files changed +13
-10
lines changed Original file line number Diff line number Diff line change
1
+ import dynamic from 'next/dynamic'
1
2
import { useRouter } from 'next/router'
2
3
import React from 'react'
3
4
import Button from '../Button'
4
- import ThemeButton from './ThemeButton'
5
+ const ThemeButton = dynamic ( ( ) => import ( './ThemeButton' ) , {
6
+ ssr : false ,
7
+ } )
5
8
6
9
export default function Navbar ( ) {
7
10
const router = useRouter ( )
@@ -16,9 +19,7 @@ export default function Navbar() {
16
19
< ThemeButton />
17
20
{ pathname !== '/story' && (
18
21
< Button >
19
- < a href = "/story" >
20
- < a > Create Post </ a >
21
- </ a >
22
+ < a href = "/story" > Create Post</ a >
22
23
</ Button >
23
24
) }
24
25
</ div >
Original file line number Diff line number Diff line change @@ -2,17 +2,19 @@ import { useEffect, useState } from 'react'
2
2
import Button from '../Button'
3
3
4
4
export default function ThemeButton ( ) {
5
- const [ darkMode , setDarkMode ] = useState < boolean | undefined > ( undefined )
6
- useEffect ( ( ) => {
7
- setDarkMode ( document . documentElement . classList . contains ( 'dark' ) )
8
- } , [ ] )
5
+ const darkModePreference =
6
+ localStorage . theme === 'dark' ||
7
+ ( ! ( 'theme' in localStorage ) &&
8
+ window . matchMedia ( '(prefers-color-scheme: dark)' ) . matches )
9
+ const [ darkMode , setDarkMode ] = useState ( darkModePreference )
10
+ darkModePreference && window . document . documentElement . classList . add ( 'dark' )
9
11
useEffect ( ( ) => {
10
12
if ( darkMode ) {
11
13
window . document . documentElement . classList . add ( 'dark' )
12
- localStorage . setItem ( 'vidyaDarkMode ' , 'true' )
14
+ localStorage . setItem ( 'preferenceDarkMode ' , 'true' )
13
15
} else {
14
16
window . document . documentElement . classList . remove ( 'dark' )
15
- localStorage . setItem ( 'vidyaDarkMode ' , 'false' )
17
+ localStorage . setItem ( 'preferenceDarkMode ' , 'false' )
16
18
}
17
19
} , [ darkMode ] )
18
20
const onClick = ( ) => {
You can’t perform that action at this time.
0 commit comments