diff --git a/packages/twenty-front/src/modules/onboarding/components/OnboardingSyncEmailsSettingsCard.tsx b/packages/twenty-front/src/modules/onboarding/components/OnboardingSyncEmailsSettingsCard.tsx
index b1be41995..364ac47bb 100644
--- a/packages/twenty-front/src/modules/onboarding/components/OnboardingSyncEmailsSettingsCard.tsx
+++ b/packages/twenty-front/src/modules/onboarding/components/OnboardingSyncEmailsSettingsCard.tsx
@@ -1,5 +1,7 @@
-import { onboardingSyncEmailsOptions } from '@/onboarding/components/onboardingSyncEmailsOptions';
+import { ONBOARDING_SYNC_EMAILS_OPTIONS } from '@/onboarding/constants/OnboardingSyncEmailsOptions';
import { SettingsAccountsRadioSettingsCard } from '@/settings/accounts/components/SettingsAccountsRadioSettingsCard';
+import { SettingsAccountsVisibilityIcon } from '@/settings/accounts/components/SettingsAccountsVisibilityIcon';
+import styled from '@emotion/styled';
import { MessageChannelVisibility } from '~/generated/graphql';
type OnboardingSyncEmailsSettingsCardProps = {
@@ -7,14 +9,31 @@ type OnboardingSyncEmailsSettingsCardProps = {
value?: MessageChannelVisibility;
};
+const StyledCardMedia = styled(SettingsAccountsVisibilityIcon)`
+ width: ${({ theme }) => theme.spacing(10)};
+`;
+
export const OnboardingSyncEmailsSettingsCard = ({
onChange,
value = MessageChannelVisibility.SHARE_EVERYTHING,
-}: OnboardingSyncEmailsSettingsCardProps) => (
-
-);
+}: OnboardingSyncEmailsSettingsCardProps) => {
+ const optionsWithCardMedia = ONBOARDING_SYNC_EMAILS_OPTIONS.map((option) => ({
+ ...option,
+ cardMedia: (
+
+ ),
+ }));
+
+ return (
+
+ );
+};
diff --git a/packages/twenty-front/src/modules/onboarding/components/onboardingSyncEmailsOptions.tsx b/packages/twenty-front/src/modules/onboarding/components/onboardingSyncEmailsOptions.tsx
deleted file mode 100644
index 7414143bb..000000000
--- a/packages/twenty-front/src/modules/onboarding/components/onboardingSyncEmailsOptions.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { SettingsAccountsVisibilityIcon } from '@/settings/accounts/components/SettingsAccountsVisibilityIcon';
-import styled from '@emotion/styled';
-import { msg } from '@lingui/core/macro';
-
-import { MessageChannelVisibility } from '~/generated/graphql';
-
-const StyledCardMedia = styled(SettingsAccountsVisibilityIcon)`
- width: ${({ theme }) => theme.spacing(10)};
-`;
-
-export const onboardingSyncEmailsOptions = [
- {
- title: msg`Everything`,
- description: msg`Your emails and events content will be shared with your team.`,
- value: MessageChannelVisibility.SHARE_EVERYTHING,
- cardMedia: (
-
- ),
- },
- {
- title: msg`Subject and metadata`,
- description: msg`Your email subjects and meeting titles will be shared with your team.`,
- value: MessageChannelVisibility.SUBJECT,
- cardMedia: (
-
- ),
- },
- {
- title: msg`Metadata`,
- description: msg`Only the timestamp & participants will be shared with your team.`,
- value: MessageChannelVisibility.METADATA,
- cardMedia: (
-
- ),
- },
-];
diff --git a/packages/twenty-front/src/modules/onboarding/constants/OnboardingSyncEmailsOptions.ts b/packages/twenty-front/src/modules/onboarding/constants/OnboardingSyncEmailsOptions.ts
new file mode 100644
index 000000000..3300c3cef
--- /dev/null
+++ b/packages/twenty-front/src/modules/onboarding/constants/OnboardingSyncEmailsOptions.ts
@@ -0,0 +1,48 @@
+import { msg } from '@lingui/core/macro';
+
+import { MessageChannelVisibility } from '~/generated/graphql';
+
+type OnboardingEmailVisibilityProps = {
+ metadata: 'active' | 'inactive';
+ subject: 'active' | 'inactive';
+ body: 'active' | 'inactive';
+};
+
+const everythingProps: OnboardingEmailVisibilityProps = {
+ metadata: 'active',
+ subject: 'active',
+ body: 'active',
+};
+
+const subjectMetadataProps: OnboardingEmailVisibilityProps = {
+ metadata: 'active',
+ subject: 'active',
+ body: 'inactive',
+};
+
+const metadataOnlyProps: OnboardingEmailVisibilityProps = {
+ metadata: 'active',
+ subject: 'inactive',
+ body: 'inactive',
+};
+
+export const ONBOARDING_SYNC_EMAILS_OPTIONS = [
+ {
+ title: msg`Everything`,
+ description: msg`Your emails and events content will be shared with your team.`,
+ value: MessageChannelVisibility.SHARE_EVERYTHING,
+ cardMediaProps: everythingProps,
+ },
+ {
+ title: msg`Subject and metadata`,
+ description: msg`Your email subjects and meeting titles will be shared with your team.`,
+ value: MessageChannelVisibility.SUBJECT,
+ cardMediaProps: subjectMetadataProps,
+ },
+ {
+ title: msg`Metadata`,
+ description: msg`Only the timestamp & participants will be shared with your team.`,
+ value: MessageChannelVisibility.METADATA,
+ cardMediaProps: metadataOnlyProps,
+ },
+];
diff --git a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/data/constants/message-channel-data-seeds.constant.ts b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/data/constants/message-channel-data-seeds.constant.ts
index 799cee8ef..4f0ca4195 100644
--- a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/data/constants/message-channel-data-seeds.constant.ts
+++ b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/data/constants/message-channel-data-seeds.constant.ts
@@ -57,7 +57,7 @@ export const MESSAGE_CHANNEL_DATA_SEEDS: MessageChannelDataSeed[] = [
type: 'email',
connectedAccountId: CONNECTED_ACCOUNT_DATA_SEED_IDS.TIM,
handle: 'tim@apple.dev',
- isSyncEnabled: false,
+ isSyncEnabled: true,
visibility: MessageChannelVisibility.SHARE_EVERYTHING,
syncStage: MessageChannelSyncStage.FULL_MESSAGE_LIST_FETCH_PENDING,
},
@@ -70,7 +70,7 @@ export const MESSAGE_CHANNEL_DATA_SEEDS: MessageChannelDataSeed[] = [
type: 'email',
connectedAccountId: CONNECTED_ACCOUNT_DATA_SEED_IDS.JONY,
handle: 'jony.ive@apple.dev',
- isSyncEnabled: false,
+ isSyncEnabled: true,
visibility: MessageChannelVisibility.SHARE_EVERYTHING,
syncStage: MessageChannelSyncStage.FULL_MESSAGE_LIST_FETCH_PENDING,
},
@@ -83,7 +83,7 @@ export const MESSAGE_CHANNEL_DATA_SEEDS: MessageChannelDataSeed[] = [
type: 'email',
connectedAccountId: CONNECTED_ACCOUNT_DATA_SEED_IDS.PHIL,
handle: 'phil.schiler@apple.dev',
- isSyncEnabled: false,
+ isSyncEnabled: true,
visibility: MessageChannelVisibility.SHARE_EVERYTHING,
syncStage: MessageChannelSyncStage.FULL_MESSAGE_LIST_FETCH_PENDING,
},
@@ -96,7 +96,7 @@ export const MESSAGE_CHANNEL_DATA_SEEDS: MessageChannelDataSeed[] = [
type: 'email',
connectedAccountId: CONNECTED_ACCOUNT_DATA_SEED_IDS.TIM, // Use TIM's connected account for shared inbox
handle: 'support@apple.dev',
- isSyncEnabled: false,
+ isSyncEnabled: true,
visibility: MessageChannelVisibility.SHARE_EVERYTHING,
syncStage: MessageChannelSyncStage.FULL_MESSAGE_LIST_FETCH_PENDING,
},
@@ -109,7 +109,7 @@ export const MESSAGE_CHANNEL_DATA_SEEDS: MessageChannelDataSeed[] = [
type: 'email',
connectedAccountId: CONNECTED_ACCOUNT_DATA_SEED_IDS.TIM, // Use TIM's connected account for shared inbox
handle: 'sales@apple.dev',
- isSyncEnabled: false,
+ isSyncEnabled: true,
visibility: MessageChannelVisibility.SHARE_EVERYTHING,
syncStage: MessageChannelSyncStage.FULL_MESSAGE_LIST_FETCH_PENDING,
},