refactor: tool options components

This commit is contained in:
Ibrahima G. Coulibaly
2024-06-23 15:14:14 +01:00
parent 4604c32a9c
commit 1c1ec0c1e6
8 changed files with 142 additions and 135 deletions

View File

@@ -0,0 +1,46 @@
import { SplitOperatorType } from '../../pages/string/split/service';
import { Box, Stack } from '@mui/material';
import { Field } from 'formik';
import Typography from '@mui/material/Typography';
import React from 'react';
import TextFieldWithDesc from './TextFieldWithDesc';
const RadioWithTextField = <T,>({
fieldName,
type,
title,
onTypeChange,
value,
description,
onTextChange
}: {
fieldName: string;
title: string;
type: T;
onTypeChange: (val: T) => void;
value: string;
description: string;
onTextChange: (value: string) => void;
}) => {
const onChange = () => onTypeChange(type);
return (
<Box>
<Stack
direction={'row'}
sx={{ mt: 2, mb: 1, cursor: 'pointer' }}
onClick={onChange}
alignItems={'center'}
spacing={1}
>
<Field type="radio" name={fieldName} value={type} onChange={onChange} />
<Typography>{title}</Typography>
</Stack>
<TextFieldWithDesc
value={value}
onChange={onTextChange}
description={description}
/>
</Box>
);
};
export default RadioWithTextField;