3889 activate settingsaccountsemailsinboxsettings (#3962)

* update email visibility in settings

* improve styling

* Add contact auto creation toggle to inbox settings

* re
move soonpill

* update Icon

* create job

* Add logic to create contacts and companies for message participants without personId and workspaceMemberId

* add listener

* wip

* wip

* refactoring

* improve structure

* Add isContactAutoCreationEnabled method to MessageChannelService

* wip

* wip

* clean

* add job

* fix bug

* contact creation is working

* wip

* working

* improve code

* improve typing

* resolve conflicts

* fix

* create company repository

* move util

* wip

* fix
This commit is contained in:
bosiraphael
2024-02-14 17:30:17 +01:00
committed by GitHub
parent 0b2ffb0ee6
commit 94ad0e33ec
27 changed files with 607 additions and 164 deletions

View File

@ -3,7 +3,7 @@ import styled from '@emotion/styled';
import { MessageChannel } from '@/accounts/types/MessageChannel';
import { SettingsAccountsInboxSettingsCardMedia } from '@/settings/accounts/components/SettingsAccountsInboxSettingsCardMedia';
import { IconSend } from '@/ui/display/icon';
import { IconUser } from '@/ui/display/icon';
import { H2Title } from '@/ui/display/typography/components/H2Title';
import { Toggle } from '@/ui/input/components/Toggle';
import { Card } from '@/ui/layout/card/components/Card';
@ -43,7 +43,7 @@ export const SettingsAccountsInboxSettingsContactAutoCreateSection = ({
<Card>
<StyledCardContent>
<SettingsAccountsInboxSettingsCardMedia>
<IconSend size={theme.icon.size.sm} stroke={theme.icon.stroke.lg} />
<IconUser size={theme.icon.size.sm} stroke={theme.icon.stroke.lg} />
</SettingsAccountsInboxSettingsCardMedia>
<StyledTitle>Auto-creation</StyledTitle>
<Toggle

View File

@ -1,5 +1,4 @@
import styled from '@emotion/styled';
import { SoonPill } from 'tsup.ui.index';
import { SettingsAccountsInboxSettingsCardMedia } from '@/settings/accounts/components/SettingsAccountsInboxSettingsCardMedia';
import { H2Title } from '@/ui/display/typography/components/H2Title';
@ -23,7 +22,11 @@ const StyledCardContent = styled(CardContent)`
align-items: center;
display: flex;
gap: ${({ theme }) => theme.spacing(4)};
opacity: 0.56;
cursor: pointer;
&:hover {
background: ${({ theme }) => theme.background.transparent.lighter};
}
`;
const StyledCardMedia = styled(SettingsAccountsInboxSettingsCardMedia)`
@ -61,16 +64,6 @@ const StyledRadio = styled(Radio)`
margin-left: auto;
`;
const StyledSoonPill = styled(SoonPill)`
position: absolute;
right: 0;
top: 0;
`;
const StyledSection = styled(Section)`
position: relative;
`;
const inboxSettingsVisibilityOptions = [
{
title: 'Everything',
@ -108,12 +101,11 @@ export const SettingsAccountsInboxSettingsVisibilitySection = ({
onChange,
value = InboxSettingsVisibilityValue.Everything,
}: SettingsAccountsInboxSettingsVisibilitySectionProps) => (
<StyledSection>
<Section>
<H2Title
title="Email visibility"
description="Define what will be visible to other users in your workspace"
/>
<StyledSoonPill />
<Card>
{inboxSettingsVisibilityOptions.map(
(
@ -123,6 +115,7 @@ export const SettingsAccountsInboxSettingsVisibilitySection = ({
<StyledCardContent
key={optionValue}
divider={index < inboxSettingsVisibilityOptions.length - 1}
onClick={() => onChange(optionValue)}
>
<StyledCardMedia>
<StyledMetadataSkeleton isActive={visibleElements.metadata} />
@ -137,11 +130,10 @@ export const SettingsAccountsInboxSettingsVisibilitySection = ({
value={optionValue}
onCheckedChange={() => onChange(optionValue)}
checked={value === optionValue}
disabled={true}
/>
</StyledCardContent>
),
)}
</Card>
</StyledSection>
</Section>
);