import {ReactNode, useReducer} from 'react';
import {
ListItemAvatar,
ListItemIcon,
ListItemText,
Chip,
Box,
Typography,
Icon,
useTheme,
} from '@mui/material';
import {useTranslation} from 'react-i18next';
import useProfile from '../../hooks/useProfile';
import {PassengerEntity} from '../../generated/graphql';
import DrawerPassenger from '../DrawerPassenger';
import usePermissions from '../../hooks/usePermissions';
interface Props {
passenger?: PassengerEntity;
button?: ReactNode;
isTravel?: boolean;
}
const Passenger = (props: Props) => {
const {passenger, button, isTravel} = props;
const theme = useTheme();
const {t} = useTranslation();
const [openDrawerPassenger, toggleDrawerPassenger] = useReducer(
i => !i,
false
);
const {
userPermissions: {canSeePassengerDetails},
} = usePermissions();
const {userId} = useProfile();
const isUser = `${userId}` === passenger?.attributes.user?.data?.id;
const showLocation = isTravel ? null : (
{passenger.attributes.location}
);
if (passenger) {
return (
person_outlined
{passenger.attributes.name}
{isUser && (
)}
{showLocation}
}
/>
{button}
{canSeePassengerDetails(passenger) && (
toggleDrawerPassenger()}
firstName={passenger?.attributes.user?.data?.attributes.firstName}
lastName={passenger?.attributes.user?.data?.attributes.lastName}
email={passenger?.attributes.email}
phone={passenger?.attributes.phone}
/>
)}
);
} else {
return (
<>
person
>
);
}
};
export default Passenger;