added hide on scroll logic

This commit is contained in:
2021-06-05 14:31:18 +02:00
parent 9f5d7a5c3a
commit abbdb6027c
8 changed files with 20 additions and 25 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
@@ -2,9 +2,9 @@ import React from 'react';
import { useScrollTrigger, Slide } from '@material-ui/core'; import { useScrollTrigger, Slide } from '@material-ui/core';
const HideOnScroll = (props) => { const HideOnScroll = ({children}) => {
const { children, window } = props;
const trigger = useScrollTrigger({ target: window ? window() : undefined }); const trigger = useScrollTrigger();
return ( return (
<Slide appear={false} direction="down" in={!trigger}> <Slide appear={false} direction="down" in={!trigger}>
@@ -2,12 +2,12 @@ import React from 'react';
import { AppBar, Toolbar, CssBaseline } from '@material-ui/core'; import { AppBar, Toolbar, CssBaseline } from '@material-ui/core';
import { makeStyles } from '@material-ui/styles'; import { makeStyles } from '@material-ui/styles';
import HideOnScroll from './hideOnScroll'; import HideOnScroll from '../../../../common/hideOnScroll'
import Navigation from './navigation'; import Navigation from './navigation';
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({
appBar: { appBar: {
position: 'relative', position: 'fixed',
zIndex: 1301, zIndex: 1301,
}, },
})); }));
@@ -18,13 +18,13 @@ const Header = () => {
<> <>
<CssBaseline /> <CssBaseline />
<HideOnScroll> <HideOnScroll>
<AppBar className={classes.appBar} position="static" elevation={0}> <AppBar className={classes.appBar} elevation={0}>
<Toolbar> <Toolbar>
<Navigation /> <Navigation />
</Toolbar> </Toolbar>
</AppBar> </AppBar>
</HideOnScroll> </HideOnScroll>
{/* <Toolbar /> */} <Toolbar />
</> </>
); );
}; };
@@ -12,6 +12,7 @@ import {
import DarkModeToogle from './darkModeToogle' import DarkModeToogle from './darkModeToogle'
import ArtTrackOutlinedIcon from '@material-ui/icons/ArtTrackOutlined'; import ArtTrackOutlinedIcon from '@material-ui/icons/ArtTrackOutlined';
import { makeStyles } from '@material-ui/styles'; import { makeStyles } from '@material-ui/styles';
import HideOnScroll from '../../../../common/hideOnScroll'
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({
@@ -52,7 +53,8 @@ const Header = (props) => {
return ( return (
<> <>
<CssBaseline /> <CssBaseline />
<AppBar className={classes.appBar} position="fixed" elevation={0}> <HideOnScroll>
<AppBar className={classes.appBar} elevation={0}>
<Toolbar> <Toolbar>
<Grid container justify="space-between"> <Grid container justify="space-between">
<Grid item> <Grid item>
@@ -88,6 +90,7 @@ const Header = (props) => {
</Grid> </Grid>
</Toolbar> </Toolbar>
</AppBar> </AppBar>
</HideOnScroll>
<Toolbar /> <Toolbar />
</> </>
); );
@@ -1,15 +0,0 @@
import React from 'react';
import { useScrollTrigger, Slide } from '@material-ui/core';
const HideOnScroll = (props) => {
const { children, window } = props;
const trigger = useScrollTrigger({ target: window ? window() : undefined });
return (
<Slide appear={false} direction="down" in={!trigger}>
{children}
</Slide>
);
};
export default HideOnScroll;
@@ -1 +0,0 @@
export { default } from './HideOnScroll.jsx';
+8
View File
@@ -4,6 +4,14 @@ const Projects = () => {
return ( return (
<div style={{ minHeight: 'calc(100vh-128px)' }}> <div style={{ minHeight: 'calc(100vh-128px)' }}>
Projects ...in progress Projects ...in progress
{[...new Array(120)]
.map(
() => `Cras mattis consectetur purus sit amet fermentum.
Cras justo odio, dapibus ac facilisis in, egestas eget quam.
Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.`,
)
.join('\n')}
</div> </div>
) )
} }