feat(core): add journal navigation tracking (#8046)

fix AF-1314
This commit is contained in:
pengx17
2024-09-05 02:31:57 +00:00
parent 06552a1120
commit 1cac2f6ccd
3 changed files with 15 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
import { useDocMetaHelper } from '@affine/core/hooks/use-block-suite-page-meta';
import { useJournalHelper } from '@affine/core/hooks/use-journal';
import { track } from '@affine/core/mixpanel';
import {
PeekViewService,
useInsidePeekView,
@@ -123,9 +124,16 @@ export function AffinePageReference({
const peekView = useService(PeekViewService).peekView;
const isInPeekView = useInsidePeekView();
const isJournal = journalHelper.isPageJournal(pageId);
const onClick = useCallback(
(e: React.MouseEvent) => {
if (isJournal) {
track.doc.editor.pageRef.navigate({
to: 'journal',
});
}
if (e.shiftKey && ref.current) {
e.preventDefault();
e.stopPropagation();
@@ -141,7 +149,7 @@ export function AffinePageReference({
return;
},
[isInPeekView, peekView]
[isInPeekView, isJournal, peekView]
);
const query = useMemo(() => {

View File

@@ -3,6 +3,7 @@ import { DocsService, initEmptyPage, useService } from '@toeverything/infra';
import dayjs from 'dayjs';
import { useCallback, useMemo } from 'react';
import { track } from '../mixpanel';
import { WorkbenchService } from '../modules/workbench';
import type { DocCollection } from '../shared';
import { useCurrentWorkspacePropertiesAdapter } from './use-affine-adapter';
@@ -164,6 +165,9 @@ export const useJournalRouteHelper = (docCollection: DocCollection) => {
workbench.openDoc(page.id, {
at: newTab ? 'new-tab' : 'active',
});
track.$.navigationPanel.journal.navigate({
to: 'journal',
});
return page.id;
},
[getJournalByDate, workbench]

View File

@@ -221,6 +221,7 @@ const PageEvents = {
'openSettings',
],
profileAndBadge: ['openSettings'],
journal: ['navigate'],
},
aiOnboarding: {
dialog: ['viewPlans'],
@@ -263,6 +264,7 @@ const PageEvents = {
slashMenu: ['linkDoc', 'createDoc'],
atMenu: ['linkDoc'],
formatToolbar: ['bold'],
pageRef: ['navigate'],
},
inlineDocInfo: {
$: ['toggle'],