all repos — caroster @ 6a778a00a5bb7e86d12260b5efd5421a375e7382

[Octree] Group carpool to your event https://caroster.io

frontend/containers/Alerts/index.tsx (view raw)

 1import Box from '@mui/material/Box';
 2import Container from '@mui/material/Container';
 3import Paper from '@mui/material/Paper';
 4import useMediaQuery from '@mui/material/useMediaQuery';
 5import theme from '../../theme';
 6import AlertsHead from './AlertsHead';
 7import AlertsForm from './AlertsForm';
 8import {useReducer} from 'react';
 9import {EventEntity, TripAlertEntity} from '../../generated/graphql';
10
11interface Props {
12  event: EventEntity;
13  tripAlertEntity: TripAlertEntity;
14}
15
16const Alerts = ({event, tripAlertEntity}: Props) => {
17  const isMobile = useMediaQuery(theme.breakpoints.down('md'));
18  const [switchChecked, handleToggle] = useReducer(
19    i => !i,
20    tripAlertEntity?.attributes.enabled || false
21  );
22
23  return (
24    <Container maxWidth="sm" sx={{mt: 11, mx: 0, px: isMobile ? 2 : 4}}>
25      <Paper sx={{width: '480px', maxWidth: '100%', position: 'relative'}}>
26        <Box p={2}>
27          <AlertsHead handleToggle={handleToggle} checked={switchChecked} />
28          <AlertsForm
29            event={event}
30            disabled={!switchChecked}
31            tripAlertEntity={tripAlertEntity}
32          />
33        </Box>
34      </Paper>
35    </Container>
36  );
37};
38
39export default Alerts;