import { useModal, withModal } from "@/modules/modals"; import { FunctionComponent, useCallback, useState } from "react"; import { Button, Form, InputGroup } from "react-bootstrap"; import { useProcess } from "./ToolContext"; function submodProcessFrameRate(from: number, to: number) { return `change_FPS(from=${from},to=${to})`; } const FrameRateTool: FunctionComponent = () => { const [from, setFrom] = useState>(null); const [to, setTo] = useState>(null); const canSave = from !== null && to !== null && from !== to; const Modal = useModal(); const process = useProcess(); const submit = useCallback(() => { if (canSave) { const action = submodProcessFrameRate(from, to); process(action); } }, [canSave, from, process, to]); const footer = ( ); return ( { const value = parseFloat(e.currentTarget.value); if (isNaN(value)) { setFrom(null); } else { setFrom(value); } }} > { const value = parseFloat(e.currentTarget.value); if (isNaN(value)) { setTo(null); } else { setTo(value); } }} > ); }; export default withModal(FrameRateTool, "frame-rate-tool");