This commit is contained in:
2021-06-05 20:18:11 +02:00
parent abbdb6027c
commit 0b28182458
14 changed files with 50 additions and 264 deletions
@@ -1,5 +1,5 @@
import React from 'react';
import { AppBar, Toolbar, Grid, Typography } from '@material-ui/core';
import {Grid, Typography } from '@material-ui/core';
const Footer = () => {
return (
@@ -123,12 +123,7 @@ const Navigation = (props) => {
}
});
}, [value, routes]);
useEffect(() => {
setTimeout(() => {
tabsActions.current?.updateIndicator();
}, 100);
});
return (
<Container ref={wrapper}>
<Hidden mdUp>
+6 -10
View File
@@ -1,11 +1,11 @@
import React, { useState } from 'react';
import React, { useContext } from 'react';
import { Container } from '@material-ui/core';
import {
ThemeProvider,
createMuiTheme,
makeStyles,
responsiveFontSizes,
} from '@material-ui/core/styles';
import {ThemeContext} from '../../App'
import Footer from './components/footer';
import Header from './components/header';
@@ -23,30 +23,26 @@ const useStyles = makeStyles((theme) => ({
},
}));
const White = (props) => {
const { children } = props;
const classes = useStyles();
const [darkMode, setDarkMode] = useState(true);
const { darkMode} = useContext(ThemeContext);
let theme = createMuiTheme({
typography: {
fontFamily: 'Yeon Sung',
transform: 'matrix(1, 0, 0, 1, 0, 0)',
// h1: {
// // marginLeft: '-.5rem',
// paddingLeft: 0,
// },
},
palette: {
type: darkMode ? 'dark' : 'light',
},
});
theme = responsiveFontSizes(theme);
return (
<ThemeProvider theme={theme}>
<div id="back-to-top-anchor" />
<Header darkMode={darkMode} setDarkMode={setDarkMode} />
<Header />
<Container className={classes.container}>{children}</Container>
<Footer />
</ThemeProvider>
+15 -20
View File
@@ -8,33 +8,31 @@ import {
Breadcrumbs,
Link as MaterialLink,
Grid,
IconButton
} from '@material-ui/core';
import DarkModeToogle from './darkModeToogle'
import ArtTrackOutlinedIcon from '@material-ui/icons/ArtTrackOutlined';
import { makeStyles } from '@material-ui/styles';
import HideOnScroll from '../../../../common/hideOnScroll'
import ThreeSixtyOutlinedIcon from '@material-ui/icons/ThreeSixtyOutlined';
const useStyles = makeStyles((theme) => ({
appBar: {
position: 'fixed',
zIndex: 1301,
backgroundColor: 'transparent',
background: 'transparent',
[theme.breakpoints.down('lg')]: {
backgroundColor: theme.palette.background.default,
},
},
name: {
textTransform: 'uppercase',
letterSpacing: '.5rem',
},
white: {
color: "#fff",
},
black: {
color: "#000",
},
}
}));
const handleClick = (event) => {
const handleScrollDown = (event) => {
event.preventDefault();
const anchor = (event.target.ownerDocument || document).querySelector(
'#footer'
@@ -45,10 +43,8 @@ const handleClick = (event) => {
}
};
const Header = (props) => {
const Header = () => {
const classes = useStyles();
const { darkMode, setDarkMode } = props;
return (
<>
@@ -70,7 +66,7 @@ const Header = (props) => {
<MaterialLink
color="textPrimary"
to="#about"
onClick={handleClick}
onClick={handleScrollDown}
>
About
</MaterialLink>
@@ -78,13 +74,12 @@ const Header = (props) => {
</Grid>
<Grid item >
<Grid container alignItems="center">
<DarkModeToogle
darkMode={darkMode}
setDarkMode={setDarkMode}
/>
<DarkModeToogle/>
<Link to="/projects">
<ArtTrackOutlinedIcon className={darkMode ? classes.white: classes.black} />
</Link>
<IconButton disableRipple>
<ThreeSixtyOutlinedIcon />
</IconButton>
</Link>
</Grid>
</Grid>
</Grid>
@@ -1,29 +1,22 @@
import React from 'react';
import { makeStyles } from '@material-ui/styles';
import React,{useContext} from 'react';
import {IconButton} from '@material-ui/core'
import {ThemeContext} from '../../../../../App'
import WbSunnyOutlinedIcon from '@material-ui/icons/WbSunnyOutlined';
import NightsStayOutlinedIcon from '@material-ui/icons/NightsStayOutlined';
const DarkModeToogle = () => {
const useStyles = makeStyles((theme) => ({
white: {
color: "#fff",
marginRight:'1rem'
},
black: {
color: "#000",
marginRight:'1rem'
},
}));
const DarkModeToogle = (props) => {
const classes = useStyles();
const { darkMode, setDarkMode } = props;
const { darkMode, setDarkMode } = useContext(ThemeContext);
const icon = darkMode ?
<WbSunnyOutlinedIcon /> : <NightsStayOutlinedIcon />
return (
<span onClick={() => setDarkMode(!darkMode)}>
{darkMode ?
<WbSunnyOutlinedIcon className={classes.white}/> : <NightsStayOutlinedIcon className={classes.black}/>}
</span>
<IconButton
disableRipple
onClick={() => setDarkMode(!darkMode)}
>
{icon}
</IconButton>
);
};
@@ -1,139 +0,0 @@
import React, { useState, useEffect, createRef } from 'react';
import { Link } from 'react-router-dom';
import {
Container,
Hidden,
Tabs,
Tab,
useMediaQuery,
IconButton,
SwipeableDrawer,
} from '@material-ui/core';
import MenuIcon from '@material-ui/icons/Menu';
import MenuOpenIcon from '@material-ui/icons/MenuOpen';
import { makeStyles, useTheme } from '@material-ui/styles';
const useStyles = makeStyles((theme) => ({
toolbar: theme.mixins.toolbar,
drawerIconContainer: {
alignSelf: 'center',
'&:hover': { backgroundColor: 'transparent' },
[theme.breakpoints.down('md')]: { padding: 0 },
},
drawerIcon: {
height: '40px',
width: '40px',
color: 'white',
},
drawer: { minWidth: '50vw' },
tab: {
alignItems: 'flex-start',
fontSize: '2rem',
textTransform: 'capitalize',
},
right: {},
}));
const Navigation = (props) => {
const classes = useStyles();
const theme = useTheme();
const matches = useMediaQuery(theme.breakpoints.down('sm'));
const iOS = process.browser && /iPad|iPhone|iPod/.test(navigator.userAgent);
const [value, setValue] = useState(0);
const [openDrawer, setOpenDrawer] = useState(false);
const handleTabsChange = (e, newValue) => {
setValue(newValue);
setOpenDrawer(false);
};
const open = () => {
setOpenDrawer(true);
};
const close = () => {
setOpenDrawer(false);
};
const wrapper = createRef();
return (
<Container ref={wrapper}>
<Hidden mdUp>
<IconButton
onClick={() => setOpenDrawer(!openDrawer)}
disableRipple
className={classes.drawerIconContainer}
>
{openDrawer ? (
<MenuOpenIcon className={classes.drawerIcon} />
) : (
<MenuIcon className={classes.drawerIcon} />
)}
</IconButton>
</Hidden>
{matches ? (
<SwipeableDrawer
disableBackdropTransition={!iOS}
disableDiscovery={iOS}
open={openDrawer}
onOpen={open}
onClose={close}
classes={{ paper: classes.drawer }}
>
<div className={classes.toolbar} />
<Tabs
value={value}
onChange={handleTabsChange}
orientation="vertical"
indicatorColor="primary"
>
<Tab
label="Home"
component={Link}
to="/"
classes={{ wrapper: classes.tab }}
/>
<Tab
label="Projects"
component={Link}
to="/projects"
classes={{ wrapper: classes.tab }}
/>
<Tab
label="Games"
component={Link}
to="/games"
classes={{ wrapper: classes.tab }}
/>
<Tab
label="Snippets"
component={Link}
to="/snippets"
classes={{ wrapper: classes.tab }}
/>
<Tab
label="About"
component={Link}
to="/about"
classes={{ wrapper: classes.tab }}
/>
</Tabs>
</SwipeableDrawer>
) : (
<Hidden smDown>
<Tabs value={value} onChange={handleTabsChange} centered>
<Tab label="Home" component={Link} to="/" />
<Tab label="Projects" component={Link} to="/projects" />
<Tab label="Games" component={Link} to="/games" />
<Tab label="Snippets" component={Link} to="/snippets" />
<Tab label="About" component={Link} to="/about" />
</Tabs>
</Hidden>
)}
</Container>
);
};
export default Navigation;
@@ -1 +0,0 @@
export { default } from './Navigation';