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;