5622 add a syncemail onboarding step (#5689)

- add sync email onboarding step
- refactor calendar and email visibility enums
- add a new table `keyValuePair` in `core` schema
- add a new resolved boolean field `skipSyncEmail` in current user




https://github.com/twentyhq/twenty/assets/29927851/de791475-5bfe-47f9-8e90-76c349fba56f
This commit is contained in:
martmull
2024-06-05 18:16:53 +02:00
committed by GitHub
parent fda0d2a170
commit 9f6a6c3282
92 changed files with 2707 additions and 1246 deletions

View File

@ -17,10 +17,8 @@ import { SettingsPath } from '@/types/SettingsPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/SubMenuTopBarContainer';
import { Section } from '@/ui/layout/section/components/Section';
import { Breadcrumb } from '@/ui/navigation/bread-crumb/components/Breadcrumb';
import {
TimelineCalendarEvent,
TimelineCalendarEventVisibility,
} from '~/generated-metadata/graphql';
import { CalendarChannelVisibility } from '~/generated/graphql';
import { TimelineCalendarEvent } from '~/generated-metadata/graphql';
export const SettingsAccountsCalendars = () => {
const calendarSettingsEnabled = false;
@ -79,7 +77,7 @@ export const SettingsAccountsCalendars = () => {
isCanceled: false,
location: '',
title: 'Onboarding call',
visibility: TimelineCalendarEventVisibility.ShareEverything,
visibility: CalendarChannelVisibility.ShareEverything,
};
return (

View File

@ -4,10 +4,7 @@ import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
import { H2Title, IconRefresh, IconSettings, IconUser } from 'twenty-ui';
import {
CalendarChannel,
CalendarChannelVisibility,
} from '@/accounts/types/CalendarChannel';
import { CalendarChannel } from '@/accounts/types/CalendarChannel';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord';
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
@ -21,6 +18,7 @@ import { SettingsPath } from '@/types/SettingsPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/SubMenuTopBarContainer';
import { Section } from '@/ui/layout/section/components/Section';
import { Breadcrumb } from '@/ui/navigation/bread-crumb/components/Breadcrumb';
import { CalendarChannelVisibility } from '~/generated/graphql';
const StyledCardMedia = styled(SettingsAccountsCardMedia)`
height: ${({ theme }) => theme.spacing(6)};

View File

@ -8,16 +8,14 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi
import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord';
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
import { SettingsAccountsCardMedia } from '@/settings/accounts/components/SettingsAccountsCardMedia';
import {
InboxSettingsVisibilityValue,
SettingsAccountsInboxVisibilitySettingsCard,
} from '@/settings/accounts/components/SettingsAccountsInboxVisibilitySettingsCard';
import { SettingsAccountsInboxVisibilitySettingsCard } from '@/settings/accounts/components/SettingsAccountsInboxVisibilitySettingsCard';
import { SettingsAccountsToggleSettingCard } from '@/settings/accounts/components/SettingsAccountsToggleSettingCard';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { AppPath } from '@/types/AppPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/SubMenuTopBarContainer';
import { Section } from '@/ui/layout/section/components/Section';
import { Breadcrumb } from '@/ui/navigation/bread-crumb/components/Breadcrumb';
import { MessageChannelVisibility } from '~/generated/graphql';
export const SettingsAccountsEmailsInboxSettings = () => {
const theme = useTheme();
@ -33,7 +31,7 @@ export const SettingsAccountsEmailsInboxSettings = () => {
objectNameSingular: CoreObjectNameSingular.MessageChannel,
});
const handleVisibilityChange = (value: InboxSettingsVisibilityValue) => {
const handleVisibilityChange = (value: MessageChannelVisibility) => {
updateOneRecord({
idToUpdate: messageChannelId,
updateOneRecordInput: {

View File

@ -2,6 +2,7 @@ import { Meta, StoryObj } from '@storybook/react';
import { within } from '@storybook/test';
import { graphql, HttpResponse } from 'msw';
import { MessageChannelVisibility } from '~/generated/graphql';
import { SettingsAccountsEmailsInboxSettings } from '~/pages/settings/accounts/SettingsAccountsEmailsInboxSettings';
import {
PageDecorator,
@ -26,7 +27,7 @@ const meta: Meta<PageDecoratorArgs> = {
data: {
messageChannel: {
id: '1',
visibility: 'share_everything',
visibility: MessageChannelVisibility.ShareEverything,
messageThreads: { edges: [] },
createdAt: '2021-08-27T12:00:00Z',
type: 'email',