From c08d8ef838fc81dff983f0a51008c0dd3e8f2e9d Mon Sep 17 00:00:00 2001 From: Lakshay saini Date: Wed, 27 Dec 2023 19:24:48 +0530 Subject: [PATCH] feat: add email blocklist section with mocked data (#3145) * feat: add email blocklist section with mocked data * fix:front lint testcase * fix: add current date and placeholder update --------- Co-authored-by: Lakshay saini --- .../modules/accounts/types/BlockedEmail.ts | 5 ++ .../SettingsAccountsEmailsBlocklistInput.tsx | 54 +++++++++++++++++++ ...SettingsAccountsEmailsBlocklistSection.tsx | 45 ++++++++++++++++ .../SettingsAccountsEmailsBlocklistTable.tsx | 40 ++++++++++++++ ...ettingsAccountsEmailsBlocklistTableRow.tsx | 32 +++++++++++ .../accounts/SettingsAccountsEmails.tsx | 2 + .../src/testing/mock-data/accounts.ts | 19 +++++++ packages/twenty-front/src/utils/date-utils.ts | 5 +- 8 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 packages/twenty-front/src/modules/accounts/types/BlockedEmail.ts create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsBlocklistInput.tsx create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsBlocklistSection.tsx create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsBlocklistTable.tsx create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsBlocklistTableRow.tsx diff --git a/packages/twenty-front/src/modules/accounts/types/BlockedEmail.ts b/packages/twenty-front/src/modules/accounts/types/BlockedEmail.ts new file mode 100644 index 000000000..65958c0bf --- /dev/null +++ b/packages/twenty-front/src/modules/accounts/types/BlockedEmail.ts @@ -0,0 +1,5 @@ +export type BlockedEmail = { + id: string; + email: string; + blocked_at: string; +}; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsBlocklistInput.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsBlocklistInput.tsx new file mode 100644 index 000000000..bfc8ca7cb --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsBlocklistInput.tsx @@ -0,0 +1,54 @@ +import { useState } from 'react'; +import styled from '@emotion/styled'; + +import { Button } from '@/ui/input/button/components/Button'; +import { TextInput } from '@/ui/input/components/TextInput'; + +const StyledContainer = styled.div` + display: flex; + flex-direction: row; + margin-bottom: 16px; +`; + +const StyledLinkContainer = styled.div` + flex: 1; + margin-right: ${({ theme }) => theme.spacing(2)}; +`; + +type SettingsAccountsEmailsBlocklistInputProps = { + updateBlockedEmailList: (email: string) => void; +}; + +export const SettingsAccountsEmailsBlocklistInput = ({ + updateBlockedEmailList, +}: SettingsAccountsEmailsBlocklistInputProps) => { + const [formValues, setFormValues] = useState<{ + email: string; + }>({ + email: '', + }); + return ( + + + { + setFormValues((prevState) => ({ + ...prevState, + email: value, + })); + }} + fullWidth + /> + +