import { memo, useCallback, useEffect, useState } from "react" import { MessageInfo } from "./types" import { userInteractionInternals } from "./userInteraction" import { Snackbar, Alert } from "@mui/material" const ShowMessage = memo(() => { const [messageInfo, setMessageInfo] = useState() useEffect(() => { userInteractionInternals.showMessage = setMessageInfo return () => (userInteractionInternals.showMessage = undefined) }, [setMessageInfo]) const handleMessageClose = useCallback( (_event?: React.SyntheticEvent | Event, reason?: string) => { if (reason === "clickaway") { return } setMessageInfo(undefined) }, [setMessageInfo], ) if (messageInfo === undefined) { return null } return ( {messageInfo.content} ) }) export default ShowMessage