snowballtools-base/packages/frontend/src/components/projects/project/settings/AddEnvironmentVariableRow.tsx
Nabarun Gogoi 9b224f218a
Show error messages and toasters in Environment variables settings tab (#29)
* Display error if fields are empty

* Show number of added variables in toast

* Show horizontal line between different environments

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 17:02:34 +05:30

55 lines
1.3 KiB
TypeScript

import React from 'react';
import { UseFormRegister } from 'react-hook-form';
import { Typography, Input, IconButton } from '@material-tailwind/react';
import { EnvironmentVariablesFormValues } from './EnvironmentVariablesTabPanel';
interface AddEnvironmentVariableRowProps {
onDelete: () => void;
register: UseFormRegister<EnvironmentVariablesFormValues>;
index: number;
isDeleteDisabled: boolean;
}
const AddEnvironmentVariableRow = ({
onDelete,
register,
index,
isDeleteDisabled,
}: AddEnvironmentVariableRowProps) => {
return (
<div className="flex gap-1 p-2">
<div>
<Typography variant="small">Key</Typography>
<Input
crossOrigin={undefined}
{...register(`variables.${index}.key`, {
required: 'Key field cannot be empty',
})}
/>
</div>
<div>
<Typography variant="small">Value</Typography>
<Input
crossOrigin={undefined}
{...register(`variables.${index}.value`, {
required: 'Value field cannot be empty',
})}
/>
</div>
<div className="self-end">
<IconButton
size="sm"
onClick={() => onDelete()}
disabled={isDeleteDisabled}
>
{'>'}
</IconButton>
</div>
</div>
);
};
export default AddEnvironmentVariableRow;