feat: minify json

This commit is contained in:
Ibrahima G. Coulibaly
2025-03-08 06:43:11 +00:00
parent 4a956bf916
commit 90d3c0801e
10 changed files with 211 additions and 103 deletions

View File

@@ -17,7 +17,7 @@ interface ToolContentPropsBase<T, I> extends ToolComponentProps {
// Tool options
initialValues: T;
getGroups: GetGroupsType<T>;
getGroups: GetGroupsType<T> | null;
// Computation function
compute: (optionsValues: T, input: I) => void;

View File

@@ -18,7 +18,7 @@ export interface ExampleCardProps<T> {
sampleResult: string;
sampleOptions: T;
changeInputResult: (newInput: string, newOptions: T) => void;
getGroups: GetGroupsType<T>;
getGroups: GetGroupsType<T> | null;
}
export default function ExampleCard<T>({

View File

@@ -7,12 +7,12 @@ export default function ExampleOptions<T>({
getGroups
}: {
options: T;
getGroups: GetGroupsType<T>;
getGroups: GetGroupsType<T> | null;
}) {
return (
<ToolOptionGroups
// @ts-ignore
groups={getGroups({ values: options })}
groups={getGroups?.({ values: options }) ?? []}
vertical
/>
);

View File

@@ -13,7 +13,7 @@ export interface ExampleProps<T> {
title: string;
subtitle?: string;
exampleCards: CardExampleType<T>[];
getGroups: GetGroupsType<T>;
getGroups: GetGroupsType<T> | null;
formRef: React.RefObject<FormikProps<T>>;
setInput: React.Dispatch<React.SetStateAction<any>>;
}

View File

@@ -86,44 +86,45 @@ export default function ToolOptions<T extends FormikValues>({
validationSchema?: any | (() => any);
compute: (optionsValues: T, input: any) => void;
input?: any;
getGroups: GetGroupsType<T>;
getGroups: GetGroupsType<T> | null;
formRef?: RefObject<FormikProps<T>>;
}) {
const theme = useTheme();
return (
<Box
sx={{
mb: 2,
borderRadius: 2,
padding: 2,
backgroundColor: theme.palette.background.default,
boxShadow: '2'
}}
mt={2}
>
<Stack direction={'row'} spacing={1} alignItems={'center'}>
<SettingsIcon />
<Typography fontSize={22}>Tool options</Typography>
</Stack>
<Box mt={2}>
<Formik
innerRef={formRef}
initialValues={initialValues}
validationSchema={validationSchema}
onSubmit={() => {}}
>
{(formikProps) => (
<ToolBody
compute={compute}
input={input}
getGroups={getGroups}
formikProps={formikProps}
>
{children}
</ToolBody>
)}
</Formik>
if (getGroups)
return (
<Box
sx={{
mb: 2,
borderRadius: 2,
padding: 2,
backgroundColor: theme.palette.background.default,
boxShadow: '2'
}}
mt={2}
>
<Stack direction={'row'} spacing={1} alignItems={'center'}>
<SettingsIcon />
<Typography fontSize={22}>Tool options</Typography>
</Stack>
<Box mt={2}>
<Formik
innerRef={formRef}
initialValues={initialValues}
validationSchema={validationSchema}
onSubmit={() => {}}
>
{(formikProps) => (
<ToolBody
compute={compute}
input={input}
getGroups={getGroups}
formikProps={formikProps}
>
{children}
</ToolBody>
)}
</Formik>
</Box>
</Box>
</Box>
);
);
}