allow people to connect their mailbox (#9982)
allow people to connect their mailbox independantly from the auth possibilities
This commit is contained in:
@ -4,10 +4,7 @@ import { ConnectedAccount } from '@/accounts/types/ConnectedAccount';
|
|||||||
import { SettingsAccountsListEmptyStateCard } from '@/settings/accounts/components/SettingsAccountsListEmptyStateCard';
|
import { SettingsAccountsListEmptyStateCard } from '@/settings/accounts/components/SettingsAccountsListEmptyStateCard';
|
||||||
import { SettingsPath } from '@/types/SettingsPath';
|
import { SettingsPath } from '@/types/SettingsPath';
|
||||||
|
|
||||||
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
|
|
||||||
import { SettingsAccountsConnectedAccountsRowRightContainer } from '@/settings/accounts/components/SettingsAccountsConnectedAccountsRowRightContainer';
|
import { SettingsAccountsConnectedAccountsRowRightContainer } from '@/settings/accounts/components/SettingsAccountsConnectedAccountsRowRightContainer';
|
||||||
import { useRecoilValue } from 'recoil';
|
|
||||||
import { isDefined } from 'twenty-shared';
|
|
||||||
import { useNavigateSettings } from '~/hooks/useNavigateSettings';
|
import { useNavigateSettings } from '~/hooks/useNavigateSettings';
|
||||||
import { SettingsListCard } from '../../components/SettingsListCard';
|
import { SettingsListCard } from '../../components/SettingsListCard';
|
||||||
|
|
||||||
@ -24,17 +21,11 @@ export const SettingsAccountsConnectedAccountsListCard = ({
|
|||||||
loading?: boolean;
|
loading?: boolean;
|
||||||
}) => {
|
}) => {
|
||||||
const navigate = useNavigateSettings();
|
const navigate = useNavigateSettings();
|
||||||
const currentWorkspace = useRecoilValue(currentWorkspaceState);
|
|
||||||
|
|
||||||
if (!accounts.length) {
|
if (!accounts.length) {
|
||||||
return <SettingsAccountsListEmptyStateCard />;
|
return <SettingsAccountsListEmptyStateCard />;
|
||||||
}
|
}
|
||||||
|
|
||||||
const atLeastOneProviderAvailable =
|
|
||||||
isDefined(currentWorkspace) &&
|
|
||||||
(currentWorkspace?.isGoogleAuthEnabled ||
|
|
||||||
currentWorkspace?.isMicrosoftAuthEnabled);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SettingsListCard
|
<SettingsListCard
|
||||||
items={accounts}
|
items={accounts}
|
||||||
@ -44,7 +35,7 @@ export const SettingsAccountsConnectedAccountsListCard = ({
|
|||||||
RowRightComponent={({ item: account }) => (
|
RowRightComponent={({ item: account }) => (
|
||||||
<SettingsAccountsConnectedAccountsRowRightContainer account={account} />
|
<SettingsAccountsConnectedAccountsRowRightContainer account={account} />
|
||||||
)}
|
)}
|
||||||
hasFooter={atLeastOneProviderAvailable}
|
hasFooter={true}
|
||||||
footerButtonLabel="Add account"
|
footerButtonLabel="Add account"
|
||||||
onFooterButtonClick={() => navigate(SettingsPath.NewAccount)}
|
onFooterButtonClick={() => navigate(SettingsPath.NewAccount)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
|
|
||||||
import { useTriggerApisOAuth } from '@/settings/accounts/hooks/useTriggerApiOAuth';
|
import { useTriggerApisOAuth } from '@/settings/accounts/hooks/useTriggerApiOAuth';
|
||||||
import styled from '@emotion/styled';
|
import styled from '@emotion/styled';
|
||||||
import { useLingui } from '@lingui/react/macro';
|
import { useLingui } from '@lingui/react/macro';
|
||||||
import { useRecoilValue } from 'recoil';
|
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
Card,
|
Card,
|
||||||
@ -32,7 +30,6 @@ export const SettingsAccountsListEmptyStateCard = ({
|
|||||||
label,
|
label,
|
||||||
}: SettingsAccountsListEmptyStateCardProps) => {
|
}: SettingsAccountsListEmptyStateCardProps) => {
|
||||||
const { triggerApisOAuth } = useTriggerApisOAuth();
|
const { triggerApisOAuth } = useTriggerApisOAuth();
|
||||||
const currentWorkspace = useRecoilValue(currentWorkspaceState);
|
|
||||||
|
|
||||||
const { t } = useLingui();
|
const { t } = useLingui();
|
||||||
|
|
||||||
@ -40,22 +37,19 @@ export const SettingsAccountsListEmptyStateCard = ({
|
|||||||
<Card>
|
<Card>
|
||||||
<StyledHeader>{label || t`No connected account`}</StyledHeader>
|
<StyledHeader>{label || t`No connected account`}</StyledHeader>
|
||||||
<StyledBody>
|
<StyledBody>
|
||||||
{currentWorkspace?.isGoogleAuthEnabled && (
|
<Button
|
||||||
<Button
|
Icon={IconGoogle}
|
||||||
Icon={IconGoogle}
|
title={t`Connect with Google`}
|
||||||
title={t`Connect with Google`}
|
variant="secondary"
|
||||||
variant="secondary"
|
onClick={() => triggerApisOAuth('google')}
|
||||||
onClick={() => triggerApisOAuth('google')}
|
/>
|
||||||
/>
|
|
||||||
)}
|
<Button
|
||||||
{currentWorkspace?.isMicrosoftAuthEnabled && (
|
Icon={IconMicrosoft}
|
||||||
<Button
|
title={t`Connect with Microsoft`}
|
||||||
Icon={IconMicrosoft}
|
variant="secondary"
|
||||||
title={t`Connect with Microsoft`}
|
onClick={() => triggerApisOAuth('microsoft')}
|
||||||
variant="secondary"
|
/>
|
||||||
onClick={() => triggerApisOAuth('microsoft')}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</StyledBody>
|
</StyledBody>
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user