feat(core): track for calendar integration (#12378)

This commit is contained in:
CatsJuice
2025-05-23 10:01:14 +00:00
parent fe99e51d5b
commit 262f1a47a4
4 changed files with 21 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
import { Button, Input, Modal, notify } from '@affine/component';
import { IntegrationService } from '@affine/core/modules/integration';
import { useI18n } from '@affine/i18n';
import track from '@affine/track';
import { PlusIcon, TodayIcon } from '@blocksuite/icons/rc';
import { useLiveData, useService } from '@toeverything/infra';
import { useCallback, useState } from 'react';
@@ -72,6 +73,11 @@ const AddSubscription = () => {
.then(() => {
setOpen(false);
setUrl('');
track.$.settingsPanel.integrationList.connectIntegration({
type: 'calendar',
control: 'Calendar Setting',
result: 'success',
});
})
.catch(() => {
notify.error({

View File

@@ -4,6 +4,7 @@ import {
IntegrationService,
} from '@affine/core/modules/integration';
import { useI18n } from '@affine/i18n';
import track from '@affine/track';
import { useLiveData, useService } from '@toeverything/infra';
import { useCallback, useMemo, useState } from 'react';
@@ -114,6 +115,10 @@ const UnsubscribeButton = ({ url, name }: { url: string; name: string }) => {
}),
onConfirm: () => {
calendar.deleteSubscription(url);
track.$.settingsPanel.integrationList.disconnectIntegration({
type: 'calendar',
control: 'Calendar Setting',
});
},
confirmText: t['com.affine.integration.calendar.unsubscribe'](),
confirmButtonOptions: {

View File

@@ -10,6 +10,7 @@ import { JournalService } from '@affine/core/modules/journal';
import { GuardService } from '@affine/core/modules/permissions';
import { WorkspaceService } from '@affine/core/modules/workspace';
import { useI18n } from '@affine/i18n';
import track from '@affine/track';
import { FullDayIcon, PeriodIcon, PlusIcon } from '@blocksuite/icons/rc';
import { useLiveData, useService } from '@toeverything/infra';
import { cssVarV2 } from '@toeverything/theme/v2';
@@ -94,6 +95,7 @@ const CalendarEventRenderer = ({ event }: { event: CalendarEvent }) => {
await docsService.changeDocTitle(newDoc.id, title);
await docsService.addLinkedDoc(doc.id, newDoc.id);
}
track.doc.sidepanel.journal.createCalendarDocEvent();
} finally {
setLoading(false);
}