all repos — caroster @ 4c2a1eeec230df485374076d3d9d67fec0190a80

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

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

 1import React, {useState} from 'react';
 2import {Box, FormControlLabel, Typography} from '@mui/material';
 3import Toggle from '../../components/Toggle/index';
 4import {t} from 'i18next';
 5import {EventEntity} from '../../generated/graphql';
 6import useCreateTripAlert from './useCreateTripAlert';
 7
 8interface Props {
 9  event: EventEntity;
10  switchChecked: boolean;
11  disabled: boolean;
12  handleToggle: () => void;
13}
14
15const AlertsHeader = ({
16  event,
17  switchChecked,
18  disabled,
19  handleToggle,
20}: Props) => {
21  const handleCreateTripAlert = useCreateTripAlert();
22
23  const eventId = event.id;
24
25  const handleToggleClick = async () => {
26    if (!disabled) {
27      await handleCreateTripAlert({
28        eventId,
29        enabled: !switchChecked,
30      });
31      handleToggle();
32    }
33  };
34
35  return (
36    <Box display="flex" alignItems="center" justifyContent="space-between">
37      <Typography variant="h5">{t('alert.title')}</Typography>
38      <FormControlLabel
39        control={
40          <Toggle
41            activate={handleToggleClick}
42            checked={switchChecked}
43            disabled={disabled}
44          />
45        }
46        label=""
47        sx={{m: 0}}
48      />
49    </Box>
50  );
51};
52
53export default AlertsHeader;