d2e7f2a910
- Update twenty-cli to support application env variable definition - Update twenty-server to create a new `core.applicationVariable` entity to store env variables and provide env var when executing serverless function - Update twenty-front to support application environment variable value setting <img width="1044" height="660" alt="image" src="https://github.com/user-attachments/assets/24c3d323-5370-4a80-8174-fc4653cc3c22" /> <img width="1178" height="662" alt="image" src="https://github.com/user-attachments/assets/c124f423-8ed8-4246-ae5b-a9bd6672c7dc" /> <img width="1163" height="823" alt="image" src="https://github.com/user-attachments/assets/fb7425a3-facc-4895-a5eb-8a8e278e0951" /> <img width="1087" height="696" alt="image" src="https://github.com/user-attachments/assets/113da8a2-5590-433c-b1b3-5ed3137f24ca" /> <img width="1512" height="715" alt="image" src="https://github.com/user-attachments/assets/1d2110b7-301d-4f21-a45c-ddd54d6e3391" /> <img width="1287" height="581" alt="image" src="https://github.com/user-attachments/assets/353b16c6-0527-444c-87d6-51447a96cbc7" />
51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
import { type ServerlessFunctionNewFormValues } from '@/settings/serverless-functions/hooks/useServerlessFunctionUpdateFormState';
|
|
import { SettingsTextInput } from '@/ui/input/components/SettingsTextInput';
|
|
import { TextArea } from '@/ui/input/components/TextArea';
|
|
import styled from '@emotion/styled';
|
|
import { H2Title } from 'twenty-ui/display';
|
|
import { Section } from 'twenty-ui/layout';
|
|
|
|
const StyledInputsContainer = styled.div`
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: ${({ theme }) => theme.spacing(4)};
|
|
`;
|
|
|
|
export const SettingsServerlessFunctionNewForm = ({
|
|
formValues,
|
|
onChange,
|
|
readonly = false,
|
|
}: {
|
|
formValues: ServerlessFunctionNewFormValues;
|
|
onChange: (key: string) => (value: string) => void;
|
|
readonly?: boolean;
|
|
}) => {
|
|
const descriptionTextAreaId = `${formValues.name}-description`;
|
|
const nameTextInputId = `${formValues.name}-name`;
|
|
|
|
return (
|
|
<Section>
|
|
<H2Title title="About" description="Name and describe your function" />
|
|
<StyledInputsContainer>
|
|
<SettingsTextInput
|
|
instanceId={nameTextInputId}
|
|
placeholder="Name"
|
|
fullWidth
|
|
autoFocusOnMount
|
|
value={formValues.name}
|
|
onChange={onChange('name')}
|
|
readOnly={readonly}
|
|
/>
|
|
<TextArea
|
|
textAreaId={descriptionTextAreaId}
|
|
placeholder="Description"
|
|
minRows={4}
|
|
value={formValues.description}
|
|
onChange={onChange('description')}
|
|
readOnly={readonly}
|
|
/>
|
|
</StyledInputsContainer>
|
|
</Section>
|
|
);
|
|
};
|