# Introduction closes https://github.com/twentyhq/core-team-issues/issues/591 Same than for `twenty-shared` made in https://github.com/twentyhq/twenty/pull/11083. ## TODO - [x] Manual migrate twenty-website twenty-ui imports ## What's next: - Generate barrel and migration script factorization within own package + tests - Refactoring using preconstruct ? TimeBox - Lint circular dependencies - Lint import from barrel and forbid them ### Preconstruct We need custom rollup plugins addition, but preconstruct does not expose its rollup configuration. It might be possible to handle this using the babel overrides. But was a big tunnel. We could give it a try afterwards ! ( allowing cjs interop and stuff like that ) Stuck to vite lib app Closed related PRs: - https://github.com/twentyhq/twenty/pull/11294 - https://github.com/twentyhq/twenty/pull/11203
51 lines
1.6 KiB
TypeScript
51 lines
1.6 KiB
TypeScript
import { ConnectedAccount } from '@/accounts/types/ConnectedAccount';
|
|
import { SettingsAccountsRowDropdownMenu } from '@/settings/accounts/components/SettingsAccountsRowDropdownMenu';
|
|
import { SyncStatus } from '@/settings/accounts/constants/SyncStatus';
|
|
import { computeSyncStatus } from '@/settings/accounts/utils/computeSyncStatus';
|
|
import styled from '@emotion/styled';
|
|
import { t } from '@lingui/core/macro';
|
|
import { Status } from 'twenty-ui/display';
|
|
|
|
const StyledRowRightContainer = styled.div`
|
|
align-items: center;
|
|
display: flex;
|
|
gap: ${({ theme }) => theme.spacing(1)};
|
|
`;
|
|
|
|
export const SettingsAccountsConnectedAccountsRowRightContainer = ({
|
|
account,
|
|
}: {
|
|
account: ConnectedAccount;
|
|
}) => {
|
|
const messageChannelSyncStatus = account.messageChannels[0]?.syncStatus;
|
|
const calendarChannelSyncStatus = account.calendarChannels[0]?.syncStatus;
|
|
|
|
const status = computeSyncStatus(
|
|
messageChannelSyncStatus,
|
|
calendarChannelSyncStatus,
|
|
);
|
|
|
|
return (
|
|
<StyledRowRightContainer>
|
|
{status === SyncStatus.FAILED && (
|
|
<Status color="red" text={t`Sync failed`} weight="medium" />
|
|
)}
|
|
{status === SyncStatus.SYNCED && (
|
|
<Status color="green" text={t`Synced`} weight="medium" />
|
|
)}
|
|
{status === SyncStatus.NOT_SYNCED && (
|
|
<Status color="orange" text={t`Not synced`} weight="medium" />
|
|
)}
|
|
{status === SyncStatus.IMPORTING && (
|
|
<Status
|
|
color="turquoise"
|
|
text={t`Importing`}
|
|
weight="medium"
|
|
isLoaderVisible
|
|
/>
|
|
)}
|
|
<SettingsAccountsRowDropdownMenu account={account} />
|
|
</StyledRowRightContainer>
|
|
);
|
|
};
|