90 lines
2.0 KiB
JavaScript
90 lines
2.0 KiB
JavaScript
|
import * as React from 'react';
|
||
|
import PropTypes from 'prop-types';
|
||
|
import { styled } from '@mui/material/styles';
|
||
|
|
||
|
import Container from '@mui/material/Container';
|
||
|
import Box from '@mui/material/Box';
|
||
|
|
||
|
const ProductHeroLayoutRoot = styled('section')(({ theme }) => ({
|
||
|
color: theme.palette.common.white,
|
||
|
position: 'relative',
|
||
|
display: 'flex',
|
||
|
alignItems: 'center',
|
||
|
[theme.breakpoints.up('sm')]: {
|
||
|
height: '80vh',
|
||
|
minHeight: 500,
|
||
|
maxHeight: 1300,
|
||
|
},
|
||
|
}));
|
||
|
|
||
|
const Background = styled(Box)({
|
||
|
position: 'absolute',
|
||
|
left: 0,
|
||
|
right: 0,
|
||
|
top: 0,
|
||
|
bottom: 0,
|
||
|
backgroundSize: 'cover',
|
||
|
backgroundRepeat: 'no-repeat',
|
||
|
zIndex: -2,
|
||
|
});
|
||
|
|
||
|
function ProductHeroLayout(props) {
|
||
|
const { sxBackground, children } = props;
|
||
|
|
||
|
return (
|
||
|
<ProductHeroLayoutRoot>
|
||
|
<Container
|
||
|
sx={{
|
||
|
mt: 3,
|
||
|
mb: 14,
|
||
|
display: 'flex',
|
||
|
flexDirection: 'column',
|
||
|
alignItems: 'center',
|
||
|
}}
|
||
|
>
|
||
|
<img
|
||
|
src="/static/themes/onepirate/productHeroWonder.png"
|
||
|
alt="wonder"
|
||
|
width="147"
|
||
|
height="80"
|
||
|
/>
|
||
|
{children}
|
||
|
<Box
|
||
|
sx={{
|
||
|
position: 'absolute',
|
||
|
left: 0,
|
||
|
right: 0,
|
||
|
top: 0,
|
||
|
bottom: 0,
|
||
|
backgroundColor: 'common.black',
|
||
|
opacity: 0.5,
|
||
|
zIndex: -1,
|
||
|
}}
|
||
|
/>
|
||
|
<Background sx={sxBackground} />
|
||
|
<Box
|
||
|
component="img"
|
||
|
src="/static/themes/onepirate/productHeroArrowDown.png"
|
||
|
height="16"
|
||
|
width="12"
|
||
|
alt="arrow down"
|
||
|
sx={{ position: 'absolute', bottom: 32 }}
|
||
|
/>
|
||
|
</Container>
|
||
|
</ProductHeroLayoutRoot>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
ProductHeroLayout.propTypes = {
|
||
|
children: PropTypes.node,
|
||
|
sxBackground: PropTypes.oneOfType([
|
||
|
PropTypes.arrayOf(
|
||
|
PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool]),
|
||
|
),
|
||
|
PropTypes.func,
|
||
|
PropTypes.object,
|
||
|
]),
|
||
|
};
|
||
|
|
||
|
export default ProductHeroLayout;
|