import moment from 'moment'; import Card from '@mui/material/Card'; import Typography from '@mui/material/Typography'; import Link from '@mui/material/Link'; import Box from '@mui/material/Box'; import {TravelEntity} from '../../../generated/graphql'; import {Popup} from 'react-leaflet'; import {useTranslation} from 'next-i18next'; import getMapsLink from '../../../lib/getMapsLink'; import {getFormatedPhoneNumber} from '../../../lib/phoneNumbers'; import usePermissions from '../../../hooks/usePermissions'; import useEventStore from '../../../stores/useEventStore'; interface Props { travel: TravelEntity; } const TravelPopup = ({travel}: Props) => { const {t} = useTranslation(); const { userPermissions: {canSeeTravelDetails}, } = usePermissions(); const isReturnEvent = useEventStore(s => s.event?.isReturnEvent); return ( {!!travel.attributes.departureDate && ( {moment(travel.attributes.departureDate).format('dddd LL')}{' '} {travel.attributes.departureTime || ''} )} {travel.attributes.vehicleName} {!!travel.attributes.phone_number && canSeeTravelDetails(travel) && ( {t('travel.fields.phone')} {getFormatedPhoneNumber({ phone: travel.attributes.phone_number, phoneCountry: travel.attributes.phoneCountry, })} )} {!!travel.attributes.meeting && ( {t(isReturnEvent ? 'travel.destination' : 'travel.meeting')} e.stopPropagation()} sx={{color: 'primary.main'}} > {travel.attributes.meeting} )} ); }; export default TravelPopup;