import {useState} from 'react';
import {Box, Icon, IconButton} from '@mui/material';
import usePermissions from '../../hooks/usePermissions';
import RemovePassengerModal from './RemovePassengerModal';
import useActions from './useActions';
import {PassengerEntity, TravelEntity} from '../../generated/graphql';
type Props = {
passenger: PassengerEntity;
travel: TravelEntity;
setFocusPassenger: (passenger: PassengerEntity) => void;
};
const PassengerActions = (props: Props) => {
const {passenger, travel, setFocusPassenger} = props;
const [isRemovingPassenger, setIsRemovingPassenger] = useState(false);
const {
userPermissions: {canDeletePassenger, canSeePassengerDetails},
} = usePermissions();
const {removePassengerFromTravel} = useActions({travel});
return (
<>
{canDeletePassenger(passenger) && {
id: passenger.id,
attributes: {
...passenger.attributes,
travel: {data: travel},
},
} && (
setIsRemovingPassenger(true)}
tabIndex={-1}
>
delete_outline
)}
{canSeePassengerDetails(passenger) && (
setFocusPassenger(passenger)}
>
info_outlined
)}
setIsRemovingPassenger(false)}
removePassenger={removePassengerFromTravel}
/>
>
);
};
export default PassengerActions;