import React from 'react'; import Typography from '@material-ui/core/Typography'; import {makeStyles} from '@material-ui/core/styles'; import Divider from '@material-ui/core/Divider'; import Paper from '@material-ui/core/Paper'; import {useTranslation} from 'react-i18next'; import {useStrapi} from 'strapi-react-context'; import moment from 'moment'; import PassengersList from '../PassengersList'; import {useToast} from '../../contexts/Toast'; const Car = ({car}) => { const classes = useStyles(); const {t} = useTranslation(); const {addToast} = useToast(); const strapi = useStrapi(); if (!car) return null; const addPassenger = async passenger => { try { await strapi.services.cars.update(car.id, { passengers: [...(car.passengers || []), passenger], }); } catch (error) { console.error(error); addToast(t('car.errors.cant_add_passenger')); } }; const removePassenger = async idx => { if (!car?.passengers) return false; try { return await strapi.services.cars.update(car.id, { passengers: car.passengers.filter((_, i) => i !== idx), }); } catch (error) { console.error(error); addToast(t('car.errors.cant_remove_passenger')); return false; } }; return (
{!!car.departure && ( {moment(car.departure).format('LLLL')} )} {car.name} {!!car.meeting && (
{t('car.fields.meeting_point')} {car.meeting}
)} {!!car.details && (
{t('car.fields.details')} {car.details}
)}
); }; const useStyles = makeStyles(theme => ({ header: {padding: theme.spacing(2)}, section: { marginTop: theme.spacing(2), }, })); export default Car;