diff --git a/src/components/molecules/action-settings/screenshot.tsx b/src/components/molecules/action-settings/screenshot.tsx new file mode 100644 index 00000000..bae4ad3e --- /dev/null +++ b/src/components/molecules/action-settings/screenshot.tsx @@ -0,0 +1,126 @@ +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 "../../atoms/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; + } +`;