import { useSearchParams } from 'react-router-dom'; import { Input, Select, Switch } from '@chakra-ui/react'; import { isStringBoolean } from '../../utils/viewUtils'; import { ParamField } from './types'; interface EditFormInputProps { paramField: ParamField; } export default function ParamInput({ paramField }: EditFormInputProps) { const [searchParams] = useSearchParams(); const { id, type } = paramField; if (type === 'option') { const optionFromParams = searchParams.get(id); const defaultOptionValue = paramField.values.find((value) => value === optionFromParams); return ( ); } if (type === 'boolean') { const defaultCheckedValue = isStringBoolean(searchParams.get(id)) ?? false; // checked value should be 'true', so it can be captured by the form event return ; } if (type === 'number') { const defaultNumberValue = searchParams.get(id) ?? ''; return ; } const defaultStringValue = searchParams.get(id) ?? ''; return ; }