@@ -23,10 +23,13 @@ import {
23
23
CHeaderNav ,
24
24
CHeaderToggler ,
25
25
CNavItem ,
26
+ useColorModes ,
26
27
} from '@coreui/react/src'
27
28
import { AppContext } from './../AppContext'
28
29
29
30
const Header : FC = ( ) => {
31
+ const { getColorMode, setColorMode } = useColorModes ( 'coreui-react-docs-theme' )
32
+ const colorMode = getColorMode ( )
30
33
return (
31
34
< >
32
35
< AppContext . Consumer >
@@ -63,39 +66,39 @@ const Header: FC = () => {
63
66
</ li >
64
67
< CDropdown variant = "nav-item" placement = "bottom-end" >
65
68
< CDropdownToggle caret = { false } >
66
- { context . storedTheme === 'dark' ? (
69
+ { colorMode === 'dark' ? (
67
70
< CIcon icon = { cilMoon } size = "xl" />
68
- ) : ( context . storedTheme === 'auto' ? (
71
+ ) : colorMode === 'auto' ? (
69
72
< CIcon icon = { cilContrast } size = "xl" />
70
73
) : (
71
74
< CIcon icon = { cilSun } size = "xl" />
72
- ) ) }
75
+ ) }
73
76
</ CDropdownToggle >
74
77
< CDropdownMenu >
75
78
< CDropdownItem
76
- active = { context . storedTheme === 'light' }
79
+ active = { colorMode === 'light' }
77
80
className = "d-flex align-items-center"
78
81
component = "button"
79
82
type = "button"
80
- onClick = { ( ) => context . setStoredTheme && context . setStoredTheme ( 'light' ) }
83
+ onClick = { ( ) => setColorMode ( 'light' ) }
81
84
>
82
85
< CIcon className = "me-2" icon = { cilSun } size = "lg" /> Light
83
86
</ CDropdownItem >
84
87
< CDropdownItem
85
- active = { context . storedTheme === 'dark' }
88
+ active = { colorMode === 'dark' }
86
89
className = "d-flex align-items-center"
87
90
component = "button"
88
91
type = "button"
89
- onClick = { ( ) => context . setStoredTheme && context . setStoredTheme ( 'dark' ) }
92
+ onClick = { ( ) => setColorMode ( 'dark' ) }
90
93
>
91
94
< CIcon className = "me-2" icon = { cilMoon } size = "lg" /> Dark
92
95
</ CDropdownItem >
93
96
< CDropdownItem
94
- active = { context . storedTheme === 'auto' }
97
+ active = { colorMode === 'auto' }
95
98
className = "d-flex align-items-center"
96
99
component = "button"
97
100
type = "button"
98
- onClick = { ( ) => context . setStoredTheme && context . setStoredTheme ( 'auto' ) }
101
+ onClick = { ( ) => setColorMode ( 'auto' ) }
99
102
>
100
103
< CIcon className = "me-2" icon = { cilContrast } size = "lg" /> Auto
101
104
</ CDropdownItem >
0 commit comments