1- import React from 'react' ;
1+ import React , { useContext } from 'react' ;
22import { makeStyles } from '@material-ui/core/styles' ;
3- import { AppBar , Toolbar , Typography } from '@material-ui/core' ;
3+ import { AppBar , IconButton , Toolbar , Typography } from '@material-ui/core' ;
44import { APP_NAME } from '../../settings'
5- import { AppProps } from '../../App'
65import { AccountCircle } from '@material-ui/icons' ;
76import MenuItem from '@material-ui/core/MenuItem' ;
87import DropdownMenu from '../Layout/DropdownMenu' ;
9-
8+ import Brightness7Icon from '@material-ui/icons/Brightness7' ;
9+ import Brightness4Icon from '@material-ui/icons/Brightness4' ;
10+ import { ThemeContext } from '../../contexts/ThemeContext' ;
11+ import { AppProps } from '../../App' ;
1012const useStyles = makeStyles ( ( theme ) => ( {
1113 root : {
1214 flexGrow : 1 ,
@@ -21,13 +23,17 @@ const useStyles = makeStyles((theme) => ({
2123
2224export default function TopBar ( props : AppProps ) {
2325 const classes = useStyles ( ) ;
24-
26+ const { darkMode, setDarkMode } = useContext ( ThemeContext ) ;
27+
2528 return (
2629 < AppBar position = "relative" >
2730 < Toolbar className = { props . isAuthenticated ? classes . authToolbar : undefined } >
2831 < Typography variant = "h5" align = "center" className = { classes . title } >
2932 { APP_NAME }
3033 </ Typography >
34+ < IconButton color = "inherit" onClick = { ( ) => setDarkMode ( ! darkMode ) } >
35+ { darkMode ? < Brightness4Icon /> : < Brightness7Icon /> }
36+ </ IconButton >
3137 { props . isAuthenticated && (
3238 < DropdownMenu dropdownButtonIcon = { < AccountCircle /> } >
3339 < div >
0 commit comments