Commit ae940de 1 parent 665347f commit ae940de Copy full SHA for ae940de
File tree 3 files changed +29
-12
lines changed
3 files changed +29
-12
lines changed Original file line number Diff line number Diff line change 6
6
FileTextOutlined ,
7
7
GiftTwoTone ,
8
8
GithubOutlined ,
9
+ GlobalOutlined ,
9
10
LaptopOutlined ,
10
11
LogoutOutlined ,
11
12
SettingOutlined ,
@@ -49,6 +50,7 @@ class PageRoot extends ApiComponent<
49
50
{
50
51
versionInfo : IVersionInfo | undefined
51
52
collapsed : boolean
53
+ showLanguageSelector : boolean
52
54
}
53
55
> {
54
56
private mainContainer : RefObject < HTMLDivElement >
@@ -59,6 +61,7 @@ class PageRoot extends ApiComponent<
59
61
this . state = {
60
62
versionInfo : undefined ,
61
63
collapsed : false ,
64
+ showLanguageSelector : false ,
62
65
}
63
66
}
64
67
@@ -248,7 +251,7 @@ class PageRoot extends ApiComponent<
248
251
</ span >
249
252
< span
250
253
style = { {
251
- marginInlineEnd : 50 ,
254
+ marginInlineEnd : 20 ,
252
255
} }
253
256
>
254
257
< DarkModeSwitch />
@@ -258,7 +261,7 @@ class PageRoot extends ApiComponent<
258
261
marginInlineEnd : 50 ,
259
262
} }
260
263
>
261
- < LanguageSelector />
264
+ { self . createLanguageSelector ( ) }
262
265
</ span >
263
266
< span >
264
267
< Button
@@ -444,6 +447,18 @@ class PageRoot extends ApiComponent<
444
447
</ Layout >
445
448
)
446
449
}
450
+ createLanguageSelector ( ) : React . ReactNode {
451
+ const self = this
452
+ return self . state . showLanguageSelector ? (
453
+ < LanguageSelector />
454
+ ) : (
455
+ < Button
456
+ onClick = { ( ) => self . setState ( { showLanguageSelector : true } ) }
457
+ shape = "circle"
458
+ icon = { < GlobalOutlined /> }
459
+ />
460
+ )
461
+ }
447
462
}
448
463
449
464
function mapStateToProps ( state : any ) {
Original file line number Diff line number Diff line change 1
- import { BulbFilled , BulbOutlined } from '@ant-design/icons'
2
- import { Switch } from 'antd'
1
+ import { SunFilled , SunOutlined } from '@ant-design/icons'
2
+ import { Button } from 'antd'
3
3
import { useContext } from 'react'
4
4
import DarkModeContext from '../../contexts/DarkModeContext'
5
5
6
6
const DarkModeSwitch = ( ) => {
7
7
const { isDarkMode, setIsDarkMode } = useContext ( DarkModeContext )
8
8
9
9
return (
10
- < Switch
11
- checkedChildren = { < BulbOutlined /> }
12
- unCheckedChildren = { < BulbFilled /> }
13
- checked = { isDarkMode }
14
- onChange = { ( checked ) => {
15
- setIsDarkMode ( checked )
10
+ < Button
11
+ onClick = { ( ) => {
12
+ setIsDarkMode ( ! isDarkMode )
16
13
} }
14
+ shape = "circle"
15
+ icon = { isDarkMode ? < SunOutlined /> : < SunFilled /> }
17
16
/>
18
17
)
19
18
}
Original file line number Diff line number Diff line change @@ -59,8 +59,11 @@ class StorageHelper {
59
59
// If not preference exists, return DarkMode based on users colorScheme
60
60
return isDarkMode
61
61
? JSON . parse ( isDarkMode )
62
- : window . matchMedia &&
63
- window . matchMedia ( '(prefers-color-scheme: dark)' ) . matches
62
+ : // default to dark mode
63
+ ! (
64
+ window . matchMedia &&
65
+ window . matchMedia ( '(prefers-color-scheme: light)' ) . matches
66
+ )
64
67
}
65
68
66
69
setLanguageInLocalStorage ( language : string ) {
You can’t perform that action at this time.
0 commit comments