import { NumberInput, PasswordInput, Stack, Switch, Textarea, TextInput, } from "@mantine/core"; import { useForm } from "@mantine/form"; import { AdminConfig, UpdateConfig } from "../../../types/config.type"; const AdminConfigInput = ({ configVariable, updateConfigVariable, }: { configVariable: AdminConfig; updateConfigVariable: (variable: UpdateConfig) => void; }) => { const form = useForm({ initialValues: { stringValue: configVariable.value ?? configVariable.defaultValue, textValue: configVariable.value ?? configVariable.defaultValue, numberValue: parseInt( configVariable.value ?? configVariable.defaultValue ), booleanValue: (configVariable.value ?? configVariable.defaultValue) == "true", }, }); const onValueChange = (configVariable: AdminConfig, value: any) => { form.setFieldValue(`${configVariable.type}Value`, value); updateConfigVariable({ key: configVariable.key, value: value }); }; return ( {configVariable.type == "string" && (configVariable.obscured ? ( onValueChange(configVariable, e.target.value)} /> ) : ( onValueChange(configVariable, e.target.value)} /> ))} {configVariable.type == "text" && (