dwysokinski.me/src/features/HomePage/components/Header.js

76 lines
2.0 KiB
JavaScript

import React from 'react';
import useSmoothScroll from '@libs/useSmoothScroll';
import { SECTION_ID } from './Contact';
import { makeStyles } from '@material-ui/core/styles';
import { Container, Typography, Button, Link } from '@material-ui/core';
import bg from './header-bg.jpg';
export const HEADER_ID = 'start';
function Header() {
const classes = useStyles();
const handleLinkClick = useSmoothScroll();
return (
<header id={HEADER_ID} className={classes.header}>
<Container className={classes.container}>
<div>
<div className={classes.textContainer}>
<Typography gutterBottom variant="h1">
Full Stack Web Developer
</Typography>
<Typography variant="h3">
I create websites and web apps.
</Typography>
<Typography gutterBottom variant="h3">
Have an idea, a project or a problem you would like to discuss?
</Typography>
</div>
<Link
underline="none"
to={'#' + SECTION_ID}
onClick={handleLinkClick(SECTION_ID)}
>
<Button variant="outlined" size="large">
<Typography variant="h4">Get in touch</Typography>
</Button>
</Link>
</div>
</Container>
</header>
);
}
const useStyles = makeStyles(theme => ({
header: {
minHeight: '100vh',
backgroundImage: `url(${bg})`,
backgroundSize: 'cover',
backgroundPosition: 'center',
clipPath: 'polygon(0 0,100% 0,100% 80vh,0 100%)',
height: '100%',
display: 'flex',
justifyContent: 'center',
flexDirection: 'column',
[theme.breakpoints.down('sm')]: {
margin: 0,
clipPath: 'none',
},
},
container: {
textAlign: 'center',
height: '100%',
paddingBottom: theme.spacing(8),
[theme.breakpoints.down('sm')]: {
paddingBottom: theme.spacing(1),
},
},
textContainer: {
paddingTop: theme.spacing(12),
paddingBottom: theme.spacing(5),
},
}));
export default Header;