Files
omni-tools/src/components/options/RadioWithTextField.tsx
Ibrahima G. Coulibaly f4e1c06270 feat: change gif speed
2024-06-27 12:39:38 +01:00

47 lines
1.0 KiB
TypeScript

import { Box } from '@mui/material';
import React from 'react';
import TextFieldWithDesc from './TextFieldWithDesc';
import SimpleRadio from './SimpleRadio';
const RadioWithTextField = <T,>({
fieldName,
radioValue,
title,
onRadioChange,
value,
description,
onTextChange,
typeDescription
}: {
fieldName: string;
title: string;
radioValue: T;
onRadioChange: (val: T) => void;
value: string;
description: string;
onTextChange: (value: string) => void;
typeDescription?: string;
}) => {
const onChange = () => onRadioChange(radioValue);
return (
<Box>
<SimpleRadio
value={radioValue}
onChange={onChange}
fieldName={fieldName}
title={title}
description={typeDescription}
/>
<TextFieldWithDesc
value={value}
onChange={(val) => {
if (typeof val === 'string') onTextChange(val);
else onTextChange(val.target.value);
}}
description={description}
/>
</Box>
);
};
export default RadioWithTextField;