import Button from '@mui/material/Button' import Grid from '@mui/material/Grid' import Stack from '@mui/material/Stack' import TextField from '@mui/material/TextField' import Typography from '@mui/material/Typography' import AppWrapper from 'browser/components/AppWrapper' import renderWhenReady from 'browser/helpers/renderWhenReady' import React from 'react' const Prompt = () => { const answerRef = React.useRef(null) // @ts-expect-error this exists const dismissPrompt = () => window.dismissPrompt() // @ts-expect-error this exists const answerPrompt = () => window.answerPrompt(answerRef.current!.value); React.useEffect(() => { answerRef.current!.focus() window.addEventListener('error', (e) => { // @ts-expect-error this exists window.promptError(e.message) }) }, []) return ( { if (e.key === 'Enter') answerPrompt() else if (e.key === 'Escape') dismissPrompt() }} name="answer" size="small" /> ) } renderWhenReady(Prompt)