import { CalendarChannel } from '@/accounts/types/CalendarChannel'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { SettingsAccountsEventVisibilitySettingsCard } from '@/settings/accounts/components/SettingsAccountsCalendarVisibilitySettingsCard'; import styled from '@emotion/styled'; import { Section } from '@react-email/components'; import { H2Title } from 'twenty-ui'; import { CalendarChannelVisibility } from '~/generated-metadata/graphql'; import { Card } from '@/ui/layout/card/components/Card'; import { SettingsOptionCardContent } from '@/settings/components/SettingsOptionCardContent'; import { Toggle } from '@/ui/input/components/Toggle'; const StyledDetailsContainer = styled.div` display: flex; flex-direction: column; gap: ${({ theme }) => theme.spacing(6)}; `; type SettingsAccountsCalendarChannelDetailsProps = { calendarChannel: Pick< CalendarChannel, 'id' | 'visibility' | 'isContactAutoCreationEnabled' | 'isSyncEnabled' >; }; const StyledToggle = styled(Toggle)` margin-left: auto; `; export const SettingsAccountsCalendarChannelDetails = ({ calendarChannel, }: SettingsAccountsCalendarChannelDetailsProps) => { const { updateOneRecord } = useUpdateOneRecord({ objectNameSingular: CoreObjectNameSingular.CalendarChannel, }); const handleVisibilityChange = (value: CalendarChannelVisibility) => { updateOneRecord({ idToUpdate: calendarChannel.id, updateOneRecordInput: { visibility: value, }, }); }; const handleContactAutoCreationToggle = (value: boolean) => { updateOneRecord({ idToUpdate: calendarChannel.id, updateOneRecordInput: { isContactAutoCreationEnabled: value, }, }); }; return (
handleContactAutoCreationToggle( !calendarChannel.isContactAutoCreationEnabled, ) } >
); };