import moment from 'moment'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; import ListItem from '@mui/material/ListItem'; import Link from '@mui/material/Link'; import Button from '@mui/material/Button'; import Divider from '@mui/material/Divider'; import LinearProgress from '@mui/material/LinearProgress'; import {useTranslation} from 'react-i18next'; import getMapsLink from '../../lib/getMapsLink'; import {Travel} from '../../generated/graphql'; type TravelObject = Travel & {id: string}; export type SelectTravel = (travel: TravelObject) => Promise; interface Props { travel: TravelObject; select: SelectTravel; } const AvailableTravel = ({travel, select}: Props) => { const {t} = useTranslation(); const passengersCount = travel.passengers?.data.length || 0; const availableSeats = travel.seats - passengersCount || 0; return ( <> {travel.departure && ( {t('passenger.assign.departure')} {moment(travel.departure).format('LLLL')} )} {travel.vehicleName} {t('passenger.assign.seats', { count: availableSeats || 0, })} e.preventDefault} > {travel.meeting} ); }; export default AvailableTravel;