import { TextInput } from '@/ui/input/components/TextInput'; import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownContent } from '@/ui/layout/dropdown/components/DropdownContent'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { useCloseDropdown } from '@/ui/layout/dropdown/hooks/useCloseDropdown'; import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableRow } from '@/ui/layout/table/components/TableRow'; import { t } from '@lingui/core/macro'; import React, { useState } from 'react'; import { IconCheck, IconDotsVertical, IconPencil, IconTrash, IconX, OverflowingTextWithTooltip, } from 'twenty-ui/display'; import { LightIconButton } from 'twenty-ui/input'; import { MenuItem } from 'twenty-ui/navigation'; import type { ApplicationVariable } from '~/generated-metadata/graphql'; const StyledEditModeTableRow = ( props: React.ComponentProps, ) => ( ); const StyledTableRow = (props: React.ComponentProps) => ( ); export const SettingsLogicFunctionTabEnvironmentVariableTableRow = ({ envVariable, onChange, onDelete, initialEditMode = false, }: { envVariable: ApplicationVariable; onChange: (newEnvVariable: ApplicationVariable) => void; onDelete: () => void; initialEditMode?: boolean; }) => { const [editedEnvVariable, setEditedEnvVariable] = useState(envVariable); const [editMode, setEditMode] = useState(initialEditMode); const dropDownId = `settings-environment-variable-dropdown-${envVariable.id}`; const { closeDropdown } = useCloseDropdown(); return editMode ? ( setEditedEnvVariable({ ...editedEnvVariable, key: newKey }) } placeholder={t`Name`} fullWidth /> setEditedEnvVariable({ ...editedEnvVariable, value: newValue }) } placeholder={t`Value`} fullWidth /> { if (envVariable.key === '' && envVariable.value === '') { onDelete(); } setEditedEnvVariable(envVariable); setEditMode(false); }} /> { onChange(editedEnvVariable); setEditMode(false); }} /> ) : ( setEditMode(true)}> } dropdownComponents={ { setEditMode(true); closeDropdown(dropDownId); }} /> { onDelete(); closeDropdown(dropDownId); }} /> } /> ); };