import React, { useEffect, useRef, useState } from "react"; import MenuItem from "@material-ui/core/MenuItem"; import Menu from "@material-ui/core/Menu"; import { i18n } from "../../translate/i18n"; import api from "../../services/api"; import ConfirmationModal from "../ConfirmationModal"; import TransferTicketModal from "../TransferTicketModal"; import toastError from "../../errors/toastError"; const TicketOptionsMenu = ({ ticket, menuOpen, handleClose, anchorEl }) => { const [confirmationOpen, setConfirmationOpen] = useState(false); const [transferTicketModalOpen, setTransferTicketModalOpen] = useState(false); const isMounted = useRef(true); useEffect(() => { return () => { isMounted.current = false; }; }, []); const handleDeleteTicket = async () => { try { await api.delete(`/tickets/${ticket.id}`); } catch (err) { toastError(err); } }; const handleOpenConfirmationModal = e => { setConfirmationOpen(true); handleClose(); }; const handleOpenTransferModal = e => { setTransferTicketModalOpen(true); handleClose(); }; const handleCloseTransferTicketModal = () => { if (isMounted.current) { setTransferTicketModalOpen(false); } }; return ( <>