import React, { forwardRef, useImperativeHandle } from 'react'; import { InputLabel, MenuItem, TextField, Select, FormControl } from "@mui/material"; import { ScreenshotSettings as Settings } from "../../../shared/types"; import styled from "styled-components"; import { SelectChangeEvent } from "@mui/material/Select/Select"; import { Dropdown } from "../../ui/DropdownMui"; export const ScreenshotSettings = forwardRef((props, ref) => { const [settings, setSettings] = React.useState({}); useImperativeHandle(ref, () => ({ getSettings() { return settings; } })); const handleInput = (event: React.ChangeEvent) => { const { id, value, type } = event.target; let parsedValue: any = value; if (type === "number") { parsedValue = parseInt(value); }; setSettings({ ...settings, [id]: parsedValue, }); }; const handleSelect = (event: SelectChangeEvent) => { const { name, value } = event.target; let parsedValue: any = value; if (value === "true" || value === "false") { parsedValue = value === "true"; }; setSettings({ ...settings, [name]: parsedValue, }); }; return ( jpeg png {settings.type === "jpeg" ? : null } disabled allow {settings.type === "png" ? true false : null } hide initial true false css device ); }); const SettingsWrapper = styled.div` margin-left: 15px; * { margin-bottom: 10px; } `;