From 97980f42ca255e2e7d690a2c1a39c9732bda1fc1 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Sun, 12 Jun 2022 09:05:10 +0200 Subject: [PATCH] =?UTF-8?q?feat(bot):=20=E2=9C=A8=20Custom=20email=20body?= =?UTF-8?q?=20and=20HTML=20content?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SendEmailSettings/SendEmailSettings.tsx | 68 ++++++- .../Graph/Nodes/GroupNode/GroupNode.tsx | 2 +- .../tests/integrations/sendEmail.spec.ts | 1 + apps/viewer/assets/newLeadEmailContent.ts | 188 ++++++++++++++++++ .../[typebotId]}/integrations/email.ts | 103 +++++++++- .../viewer/playwright/tests/sendEmail.spec.ts | 2 +- .../bot-engine/src/services/integration.ts | 15 +- .../typebot/blocks/integration/sendEmail.ts | 2 + 8 files changed, 358 insertions(+), 23 deletions(-) create mode 100644 apps/viewer/assets/newLeadEmailContent.ts rename apps/viewer/pages/api/{ => typebots/[typebotId]}/integrations/email.ts (51%) diff --git a/apps/builder/components/shared/Graph/Nodes/BlockNode/SettingsPopoverContent/bodies/SendEmailSettings/SendEmailSettings.tsx b/apps/builder/components/shared/Graph/Nodes/BlockNode/SettingsPopoverContent/bodies/SendEmailSettings/SendEmailSettings.tsx index 86e280f24..f12b9738f 100644 --- a/apps/builder/components/shared/Graph/Nodes/BlockNode/SettingsPopoverContent/bodies/SendEmailSettings/SendEmailSettings.tsx +++ b/apps/builder/components/shared/Graph/Nodes/BlockNode/SettingsPopoverContent/bodies/SendEmailSettings/SendEmailSettings.tsx @@ -1,5 +1,14 @@ -import { Stack, useDisclosure, Text } from '@chakra-ui/react' +import { + Stack, + useDisclosure, + Text, + Flex, + HStack, + Switch, +} from '@chakra-ui/react' +import { CodeEditor } from 'components/shared/CodeEditor' import { CredentialsDropdown } from 'components/shared/CredentialsDropdown' +import { SwitchWithLabel } from 'components/shared/SwitchWithLabel' import { Input, Textarea } from 'components/shared/Textbox' import { CredentialsType, SendEmailOptions } from 'models' import React, { useState } from 'react' @@ -66,6 +75,18 @@ export const SendEmailSettings = ({ options, onOptionsChange }: Props) => { replyTo, }) + const handleIsCustomBodyChange = (isCustomBody: boolean) => + onOptionsChange({ + ...options, + isCustomBody, + }) + + const handleIsBodyCodeChange = () => + onOptionsChange({ + ...options, + isBodyCode: options.isBodyCode ? !options.isBodyCode : true, + }) + return ( @@ -121,15 +142,42 @@ export const SendEmailSettings = ({ options, onOptionsChange }: Props) => { defaultValue={options.subject ?? ''} /> - - Body: -