Files
2019-02-11 14:58:45 +01:00

245 lines
6.7 KiB
JavaScript

import Paper from '@material-ui/core/Paper';
import Grid from '@material-ui/core/Grid';
import Button from '@material-ui/core/Button';
import Card from '@material-ui/core/Card';
import CardContent from '@material-ui/core/CardContent';
import Typography from '@material-ui/core/Typography';
import Hidden from '@material-ui/core/Hidden';
import CardMedia from '@material-ui/core/CardMedia';
import LocalPhone from '@material-ui/icons/LocalPhone';
import LocationOn from '@material-ui/icons/LocationOn';
import Security from '@material-ui/icons/Security';
import Mail from '@material-ui/icons/Mail';
import { withStyles } from '@material-ui/core/styles';
import Link from 'next/link'
import { truncate } from 'lodash'
import Social from './social.js'
import WhatshotIcon from '@material-ui/icons/Whatshot';
import dynamic from 'next/dynamic'
import ButtonBase from "@material-ui/core/ButtonBase";
import Router from 'next/router'
import { Fragment } from 'react';
const PWAInstallSnack = dynamic(() => import('./PWAInstallSnack.js'), {
ssr: false
});
const styles = theme => ({
root: {
flexGrow: 1,
backgroundColor: theme.palette.secondary.main,
color: theme.palette.secondary.main,
display: 'flex',
flexWrap: 'wrap',
justifyContent: 'space-between',
width: 'calc( 100% - theme.spacing.unit*2)'
},
grid: {
display: 'flex',
width: '99%',
margin: 0
},
paper: {
display: 'flex',
flexDirection: 'column',
padding: theme.spacing.unit * 2,
textAlign: 'center'
},
pointer: {
cursor: 'pointer'
},
item: {
margin: theme.spacing.unit * 2,
minWidth: '200px',
maxHeight: '300px',
},
icon: {
fontSize: '64px',
margin: 'auto',
textAlign: 'center'
},
card: {
display: 'flex',
},
cardDetails: {
flex: 1,
},
cardMedia: {
objectFit: 'cover',
width: 150,
height: 150
},
link: {
cursor: 'pointer'
},
image: {
position: 'relative',
height: 200,
[theme.breakpoints.down('xs')]: {
width: '100% !important', // Overrides inline-style
height: 100,
},
'&:hover, &$focusVisible': {
zIndex: 1,
'& $imageBackdrop': {
opacity: 0.15,
},
'& $imageMarked': {
opacity: 0,
},
'& $imageTitle': {
border: '4px solid currentColor',
},
},
},
focusVisible: {},
imageButton: {
position: 'absolute',
left: 0,
right: 0,
top: 0,
bottom: 0,
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
color: theme.palette.common.white,
},
imageSrc: {
position: 'absolute',
left: 0,
right: 0,
top: 0,
bottom: 0,
backgroundSize: 'cover',
backgroundPosition: 'center 40%',
},
imageBackdrop: {
position: 'absolute',
left: 0,
right: 0,
top: 0,
bottom: 0,
backgroundColor: theme.palette.common.black,
opacity: 0.4,
transition: theme.transitions.create('opacity'),
},
imageTitle: {
position: 'relative',
padding: `${theme.spacing.unit * 2}px ${theme.spacing.unit * 4}px ${theme.spacing.unit + 6}px`,
},
imageMarked: {
height: 3,
width: 18,
backgroundColor: theme.palette.common.white,
position: 'absolute',
bottom: -2,
left: 'calc(50% - 9px)',
transition: theme.transitions.create('opacity'),
},
social: {
margin: 'auto'
}
});
class Footer extends React.Component {
render() {
const { classes, show } = this.props;
return (
<div className={classes.root}>
<Grid container className={classes.grid} spacing={16}>
<Grid item xs={12} md={12}>
<Grid container className={classes.demo} justify="center" spacing={16}>
<Grid item className={classes.item}>
<PWAInstallSnack >
{({ initInstall }) =>
<Button
aria-label='install' variant="contained" color="primary" onClick={initInstall}>
<WhatshotIcon ></WhatshotIcon>
<Typography variant="h6" color="inherit">
Instaler l'app
</Typography>
</Button>
}
</PWAInstallSnack>
</Grid>
</Grid>
</Grid>
<Grid item xs={12} md={12}>
<Grid container className={classes.demo} justify="center" spacing={16}>
<Grid item className={classes.item}>
<Paper className={classes.paper} >
<a href="https://goo.gl/maps/mE4X4Xm4i5L2" target="_blank" rel="noopener">
<LocationOn className={classes.icon} />
</a>
<Typography variant="h5" gutterBottom>e-declic Auray</Typography>
</Paper>
</Grid>
<Grid item className={classes.item}>
<ButtonBase
name='contact'
focusRipple
key={'image.title'}
className={classes.image}
focusVisibleClassName={classes.focusVisible}
style={{
width: 200, height: 140
}}
onClick={() => Router.push('/contact')}
>
<span
className={classes.imageSrc}
/>
<span className={classes.imageBackdrop} />
<span className={classes.imageButton}>
<Typography
component="span"
variant="h5"
color="inherit"
className={classes.imageTitle}
>
<Mail className={classes.icon + ' ' + classes.link} />
<span className={classes.imageMarked} />
</Typography>
</span>
</ButtonBase>
</Grid>
<Grid item className={classes.item}>
<Paper className={classes.paper} >
<LocalPhone className={classes.icon} />
<Link href={"tel:+33297290060"} ><a>
<Typography variant="h5" gutterBottom>+33.(0)297 290 060</Typography>
</a></Link>
</Paper>
</Grid>
<Grid item className={classes.item}>
<Paper className={classes.paper} >
<Social className={classes.icon} delay='1000' svgWidth='64'></Social>
<Typography variant="h5" gutterBottom>Nous Suivre</Typography>
</Paper>
</Grid>
</Grid>
</Grid>
</Grid>
</div>
)
}
}
export default withStyles(styles)(Footer)