import React, { useState } from 'react'; import { useForm } from 'react-hook-form'; import toast from 'react-hot-toast'; import { IconButton, Input, Typography } from '@material-tailwind/react'; import { EnvironmentVariable } from 'gql-client'; import ConfirmDialog from '../../../shared/ConfirmDialog'; const ShowPasswordIcon = ({ handler, isVisible, }: { handler: () => void; isVisible: boolean; }) => { return ( { handler(); }} className="cursor-pointer" > {isVisible ? '-' : '+'} ); }; const EditEnvironmentVariableRow = ({ variable, }: { variable: EnvironmentVariable; }) => { const { handleSubmit, register, reset } = useForm({ defaultValues: { key: variable.key, value: variable.value, }, }); const [showPassword, setShowPassword] = useState(false); const [deleteDialogOpen, setDeleteDialogOpen] = useState(false); const [edit, setEdit] = useState(false); return ( <>
Key
Value { setShowPassword((prevShowPassword) => !prevShowPassword); }} isVisible={showPassword} /> } {...register(`value`)} />
{edit ? ( <>
{ toast.success('Variable edited'); setEdit((preVal) => !preVal); })} size="sm" > {'S'}
{ reset(); setEdit((preVal) => !preVal); }} > {'C'}
) : ( <>
{ setEdit((preVal) => !preVal); }} > {'E'}
setDeleteDialogOpen((preVal) => !preVal)} > {'D'}
)}
setDeleteDialogOpen((preVal) => !preVal)} open={deleteDialogOpen} confirmButtonTitle="Yes, Confirm delete" handleConfirm={() => { setDeleteDialogOpen((preVal) => !preVal); toast.success('Variable deleted'); }} color="red" > Are you sure you want to delete the variable  {variable.key}? ); }; export default EditEnvironmentVariableRow;