import { useEffect, useState } from 'react' import { Button, Dialog, DialogContent, DialogFooter, DialogHeader, DialogSection, DialogSectionSeparator, DialogTitle, Input, } from 'ui' import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout' import { CodeEditor } from '@/components/ui/CodeEditor/CodeEditor' import { tryParseJson } from '@/lib/helpers' interface SendMessageModalProps { visible: boolean onSelectCancel: () => void onSelectConfirm: (v: { message: string; payload: string }) => void } const defaultPayload = { message: 'Test message', payload: '{ "message": "Hello World" }', } export const SendMessageModal = ({ visible, onSelectCancel, onSelectConfirm, }: SendMessageModalProps) => { const [error, setError] = useState() const [values, setValues] = useState(defaultPayload) useEffect(() => { if (visible) { setError(undefined) setValues(defaultPayload) } }, [visible]) return ( Broadcast a message to all clients
setValues({ ...values, message: v.target.value })} />
setValues({ ...values, payload: e ?? '{}' }) } options={{ wordWrap: 'off', contextmenu: false }} value={values.payload} /> {error !== undefined &&

{error}

}
) }