From 856b78abc74ca8559b240994da665459134fa934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tha=C3=AFs?= Date: Wed, 13 Dec 2023 17:37:12 +0100 Subject: [PATCH] feat: add Settings/Accounts/Emails Emails Sync section accounts list (#2957) Closes #2888 Co-authored-by: Lucas Bordeau --- .../src/modules/accounts/types/Account.ts | 2 +- .../components/SettingsAccountsCard.tsx | 13 +++- .../components/SettingsAccountsEmailsCard.tsx | 52 +++++++++++++ .../SettingsAccountsEmailsSyncSection.tsx | 8 +- .../components/SettingsAccountsRow.tsx | 70 ++++-------------- .../SettingsAccountsRowDropdownMenu.tsx | 66 +++++++++++++++++ .../modules/ui/display/icon/assets/gmail.svg | Bin 0 -> 563 bytes .../ui/display/icon/assets/google-icon.svg | Bin 85777 -> 0 bytes .../modules/ui/display/icon/assets/google.svg | Bin 0 -> 956 bytes .../ui/display/icon/components/IconGmail.tsx | 14 ++++ .../ui/display/icon/components/IconGoogle.tsx | 4 +- .../ui/display/status/components/Status.tsx | 13 +++- .../components/__stories__/Card.stories.tsx | 5 +- .../src/testing/mock-data/accounts.ts | 14 +++- 14 files changed, 191 insertions(+), 70 deletions(-) create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsCard.tsx create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx create mode 100644 packages/twenty-front/src/modules/ui/display/icon/assets/gmail.svg delete mode 100644 packages/twenty-front/src/modules/ui/display/icon/assets/google-icon.svg create mode 100644 packages/twenty-front/src/modules/ui/display/icon/assets/google.svg create mode 100644 packages/twenty-front/src/modules/ui/display/icon/components/IconGmail.tsx diff --git a/packages/twenty-front/src/modules/accounts/types/Account.ts b/packages/twenty-front/src/modules/accounts/types/Account.ts index 2d40aeb6420..e432b12c36a 100644 --- a/packages/twenty-front/src/modules/accounts/types/Account.ts +++ b/packages/twenty-front/src/modules/accounts/types/Account.ts @@ -1 +1 @@ -export type Account = { email: string; uuid: string }; +export type Account = { email: string; isSynced?: boolean; uuid: string }; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsCard.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsCard.tsx index 3bd8b146d7c..c2b5f7fd5d4 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsCard.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsCard.tsx @@ -2,8 +2,10 @@ import { useNavigate } from 'react-router-dom'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; -import { Account } from '@/accounts/types/Account'; +import { Account } from '@/accounts/types/account'; +import { SettingsAccountsRowDropdownMenu } from '@/settings/accounts/components/SettingsAccountsRowDropdownMenu'; import { IconAt, IconPlus } from '@/ui/display/icon'; +import { IconGoogle } from '@/ui/display/icon/components/IconGoogle'; import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; import { Card } from '@/ui/layout/card/components/Card'; import { CardFooter } from '@/ui/layout/card/components/CardFooter'; @@ -24,6 +26,10 @@ const StyledIconButton = styled(LightIconButton)` margin-left: auto; `; +const StyledDropdown = styled(SettingsAccountsRowDropdownMenu)` + margin-left: auto; +`; + type SettingsAccountsCardProps = { accounts: Account[]; onAccountRemove?: (uuid: string) => void; @@ -41,9 +47,12 @@ export const SettingsAccountsCard = ({ {accounts.map((account, index) => ( + } divider={index < accounts.length - 1} - onRemove={onAccountRemove} /> ))} diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsCard.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsCard.tsx new file mode 100644 index 00000000000..d9eae1a9e4d --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsCard.tsx @@ -0,0 +1,52 @@ +import { useNavigate } from 'react-router-dom'; +import styled from '@emotion/styled'; + +import { Account } from '@/accounts/types/account'; +import { IconChevronRight } from '@/ui/display/icon'; +import { IconGmail } from '@/ui/display/icon/components/IconGmail'; +import { Status } from '@/ui/display/status/components/Status'; +import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; +import { Card } from '@/ui/layout/card/components/Card'; + +import { SettingsAccountRow } from './SettingsAccountsRow'; + +const StyledRightContainer = styled.div` + align-items: center; + display: flex; + gap: ${({ theme }) => theme.spacing(1)}; + margin-left: auto; +`; + +type SettingsAccountsEmailsCardProps = { + accounts: Account[]; +}; + +export const SettingsAccountsEmailsCard = ({ + accounts, +}: SettingsAccountsEmailsCardProps) => { + const navigate = useNavigate(); + + return ( + + {accounts.map((account, index) => ( + + {account.isSynced ? ( + + ) : ( + + )} + + + } + onClick={() => navigate(`/settings/accounts/emails/${account.uuid}`)} + divider={index < accounts.length - 1} + /> + ))} + + ); +}; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsSyncSection.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsSyncSection.tsx index 06e600ce685..d140db07614 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsSyncSection.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsEmailsSyncSection.tsx @@ -1,6 +1,8 @@ import { H2Title } from '@/ui/display/typography/components/H2Title'; import { Section } from '@/ui/layout/section/components/Section'; +import { mockedAccounts as accounts } from '~/testing/mock-data/accounts'; +import { SettingsAccountsEmailsCard } from './SettingsAccountsEmailsCard'; import { SettingsAccountsEmptyStateCard } from './SettingsAccountsEmptyStateCard'; export const SettingsAccountsEmailsSyncSection = () => ( @@ -9,6 +11,10 @@ export const SettingsAccountsEmailsSyncSection = () => ( title="Emails sync" description="Sync your inboxes and set your privacy settings" /> - + {accounts.length ? ( + + ) : ( + + )} ); diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRow.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRow.tsx index d33a734d7c5..716f99e0031 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRow.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRow.tsx @@ -1,21 +1,14 @@ -import { useNavigate } from 'react-router-dom'; +import { ReactNode } from 'react'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; -import { Account } from '@/accounts/types/Account'; -import { IconDotsVertical, IconMail, IconTrash } from '@/ui/display/icon'; -import { IconGoogle } from '@/ui/display/icon/components/IconGoogle'; -import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; +import { Account } from '@/accounts/types/account'; +import { IconComponent } from '@/ui/display/icon/types/IconComponent'; import { CardContent } from '@/ui/layout/card/components/CardContent'; -import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; -import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu'; -import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; -import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; -import { DropdownScope } from '@/ui/layout/dropdown/scopes/DropdownScope'; -import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem'; const StyledRow = styled(CardContent)` align-items: center; + cursor: ${({ onClick }) => (onClick ? 'pointer' : 'default')}; display: flex; font-size: ${({ theme }) => theme.font.size.sm}; font-weight: ${({ theme }) => theme.font.weight.medium}; @@ -24,65 +17,28 @@ const StyledRow = styled(CardContent)` padding-left: ${({ theme }) => theme.spacing(4)}; `; -const StyledDropdown = styled(Dropdown)` - margin-left: auto; -`; - type SettingsAccountRowProps = { account: Account; divider?: boolean; - onRemove?: (uuid: string) => void; + LeftIcon: IconComponent; + onClick?: () => void; + rightComponent: ReactNode; }; export const SettingsAccountRow = ({ account, divider, - onRemove, + LeftIcon, + onClick, + rightComponent, }: SettingsAccountRowProps) => { - const dropdownScopeId = `settings-account-row-${account.uuid}`; - const theme = useTheme(); - const navigate = useNavigate(); - const { closeDropdown } = useDropdown({ dropdownScopeId }); return ( - - + + {account.email} - - - } - dropdownComponents={ - - - { - navigate(`/settings/accounts/emails/${account.uuid}`); - closeDropdown(); - }} - /> - {!!onRemove && ( - { - onRemove(account.uuid); - closeDropdown(); - }} - /> - )} - - - } - /> - + {rightComponent} ); }; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx new file mode 100644 index 00000000000..f5919b53bb2 --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx @@ -0,0 +1,66 @@ +import { useNavigate } from 'react-router-dom'; + +import { Account } from '@/accounts/types/account'; +import { IconDotsVertical, IconMail, IconTrash } from '@/ui/display/icon'; +import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; +import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; +import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu'; +import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; +import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; +import { DropdownScope } from '@/ui/layout/dropdown/scopes/DropdownScope'; +import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem'; + +type SettingsAccountsRowDropdownMenuProps = { + account: Account; + className?: string; + onRemove?: (uuid: string) => void; +}; + +export const SettingsAccountsRowDropdownMenu = ({ + account, + className, + onRemove, +}: SettingsAccountsRowDropdownMenuProps) => { + const dropdownScopeId = `settings-account-row-${account.uuid}`; + + const navigate = useNavigate(); + const { closeDropdown } = useDropdown({ dropdownScopeId }); + + return ( + + + } + dropdownComponents={ + + + { + navigate(`/settings/accounts/emails/${account.uuid}`); + closeDropdown(); + }} + /> + {!!onRemove && ( + { + onRemove(account.uuid); + closeDropdown(); + }} + /> + )} + + + } + /> + + ); +}; diff --git a/packages/twenty-front/src/modules/ui/display/icon/assets/gmail.svg b/packages/twenty-front/src/modules/ui/display/icon/assets/gmail.svg new file mode 100644 index 0000000000000000000000000000000000000000..5f4c0fdc5e63114ad5bf2df7904c1da5f0172f1e GIT binary patch literal 563 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 Af&c&j diff --git a/packages/twenty-front/src/modules/ui/display/icon/assets/google.svg b/packages/twenty-front/src/modules/ui/display/icon/assets/google.svg new file mode 100644 index 0000000000000000000000000000000000000000..836f0912fe7b6cc201a55d0f825bb0f283365b57 GIT binary patch literal 956 zcmZuwO>Y`O488YPj5e3{u-+NlGoGy=5}-yoq*BhkA-<&zpg-9=kp~LH@Vefr|ippJg%ky?z1+Cn6wcBjZL%iN~ z-MHEx_N&TWcB||3@HVcz^DZd9)%_ReMjN;2cE|cSF95$^yRUciZ+!;2^5_PTJLMc7 zfWI79Kg~rlwhNPmuobdob0OyJhO=)`2U4FLQ}EU?v9SxN$BBDK9tH5 zM+%yquSwfflh;^NYf@8SD~Q66_N!_N^$!F^Cpk(_@CAToE|Un?6a$mA@pw%e= literal 0 HcmV?d00001 diff --git a/packages/twenty-front/src/modules/ui/display/icon/components/IconGmail.tsx b/packages/twenty-front/src/modules/ui/display/icon/components/IconGmail.tsx new file mode 100644 index 00000000000..647780e2752 --- /dev/null +++ b/packages/twenty-front/src/modules/ui/display/icon/components/IconGmail.tsx @@ -0,0 +1,14 @@ +import { useTheme } from '@emotion/react'; + +import IconGmailRaw from '../assets/gmail.svg?react'; + +interface IconGmailProps { + size?: number; +} + +export const IconGmail = (props: IconGmailProps) => { + const theme = useTheme(); + const size = props.size ?? theme.icon.size.lg; + + return ; +}; diff --git a/packages/twenty-front/src/modules/ui/display/icon/components/IconGoogle.tsx b/packages/twenty-front/src/modules/ui/display/icon/components/IconGoogle.tsx index 6ab2a51d655..7ab67694f12 100644 --- a/packages/twenty-front/src/modules/ui/display/icon/components/IconGoogle.tsx +++ b/packages/twenty-front/src/modules/ui/display/icon/components/IconGoogle.tsx @@ -1,12 +1,12 @@ import { useTheme } from '@emotion/react'; -import IconGoogleRaw from '../assets/google-icon.svg?react'; +import IconGoogleRaw from '../assets/google.svg?react'; interface IconGoogleProps { size?: number; } -export const IconGoogle = (props: IconGoogleProps): JSX.Element => { +export const IconGoogle = (props: IconGoogleProps) => { const theme = useTheme(); const size = props.size ?? theme.icon.size.lg; diff --git a/packages/twenty-front/src/modules/ui/display/status/components/Status.tsx b/packages/twenty-front/src/modules/ui/display/status/components/Status.tsx index 4ba436c9283..8d1b3542e46 100644 --- a/packages/twenty-front/src/modules/ui/display/status/components/Status.tsx +++ b/packages/twenty-front/src/modules/ui/display/status/components/Status.tsx @@ -5,6 +5,7 @@ import { themeColorSchema } from '@/ui/theme/utils/themeColorSchema'; const StyledStatus = styled.h3<{ color: ThemeColor; + weight: 'regular' | 'medium'; }>` align-items: center; background: ${({ color, theme }) => theme.tag.background[color]}; @@ -13,7 +14,7 @@ const StyledStatus = styled.h3<{ display: inline-flex; font-size: ${({ theme }) => theme.font.size.md}; font-style: normal; - font-weight: ${({ theme }) => theme.font.weight.regular}; + font-weight: ${({ theme, weight }) => theme.font.weight[weight]}; gap: ${({ theme }) => theme.spacing(1)}; height: ${({ theme }) => theme.spacing(5)}; margin: 0; @@ -42,13 +43,21 @@ type StatusProps = { color: ThemeColor; text: string; onClick?: () => void; + weight?: 'regular' | 'medium'; }; -export const Status = ({ className, color, text, onClick }: StatusProps) => ( +export const Status = ({ + className, + color, + text, + onClick, + weight = 'regular', +}: StatusProps) => ( {text} diff --git a/packages/twenty-front/src/modules/ui/layout/card/components/__stories__/Card.stories.tsx b/packages/twenty-front/src/modules/ui/layout/card/components/__stories__/Card.stories.tsx index b30740ea46c..e4753734487 100644 --- a/packages/twenty-front/src/modules/ui/layout/card/components/__stories__/Card.stories.tsx +++ b/packages/twenty-front/src/modules/ui/layout/card/components/__stories__/Card.stories.tsx @@ -11,8 +11,9 @@ const meta: Meta = { title: 'UI/Layout/Card/Card', component: Card, decorators: [ComponentDecorator], - render: () => ( - + render: (args) => ( + // eslint-disable-next-line react/jsx-props-no-spreading + Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id massa diff --git a/packages/twenty-front/src/testing/mock-data/accounts.ts b/packages/twenty-front/src/testing/mock-data/accounts.ts index 908710efccb..8c7a73f7986 100644 --- a/packages/twenty-front/src/testing/mock-data/accounts.ts +++ b/packages/twenty-front/src/testing/mock-data/accounts.ts @@ -1,6 +1,14 @@ -import { Account } from '@/accounts/types/Account'; +import { Account } from '@/accounts/types/account'; export const mockedAccounts: Account[] = [ - { email: 'thomas@twenty.com', uuid: '0794b782-f52e-48c3-977e-b0f57f90de24' }, - { email: 'thomas@twenty.dev', uuid: 'dc66a7ec-56b2-425b-a8e8-26ff0396c3aa' }, + { + email: 'thomas@twenty.com', + isSynced: true, + uuid: '0794b782-f52e-48c3-977e-b0f57f90de24', + }, + { + email: 'thomas@twenty.dev', + isSynced: false, + uuid: 'dc66a7ec-56b2-425b-a8e8-26ff0396c3aa', + }, ];