import Box from "@mui/material/Box"; import Stack from "@mui/material/Stack"; import TextField from "@mui/material/TextField"; import MenuItem from "@mui/material/MenuItem"; import { useI18n } from "../../hooks/I18n"; import { OPT_TRANS_ALL, OPT_LANGS_FROM, OPT_LANGS_TO, OPT_INPUT_TRANS_SIGNS, } from "../../config"; import ShortcutInput from "./ShortcutInput"; import FormControlLabel from "@mui/material/FormControlLabel"; import Switch from "@mui/material/Switch"; import { useInputRule } from "../../hooks/InputRule"; import { useCallback } from "react"; import Grid from "@mui/material/Grid"; import { limitNumber } from "../../libs/utils"; export default function InputSetting() { const i18n = useI18n(); const { inputRule, updateInputRule } = useInputRule(); const handleChange = (e) => { e.preventDefault(); let { name, value } = e.target; switch (name) { case "triggerTime": value = limitNumber(value, 10, 1000); break; default: } updateInputRule({ [name]: value, }); }; const handleShortcutInput = useCallback( (val) => { updateInputRule({ triggerShortcut: val }); }, [updateInputRule] ); const { transOpen, translator, fromLang, toLang, triggerShortcut, triggerCount, triggerTime, transSign, } = inputRule; return ( { updateInputRule({ transOpen: !transOpen }); }} /> } label={i18n("use_input_box_translation")} /> {OPT_TRANS_ALL.map((item) => ( {item} ))} {OPT_LANGS_FROM.map(([lang, name]) => ( {name} ))} {OPT_LANGS_TO.map(([lang, name]) => ( {name} ))} {i18n("style_none")} {OPT_INPUT_TRANS_SIGNS.map((item) => ( {item} ))} {[1, 2, 3, 4, 5].map((val) => ( {val} ))} ); }