feat(core): add globalcontext info to mixpanel track (#7681)

This commit is contained in:
EYHN
2024-08-01 09:29:31 +00:00
parent bb767a6cdc
commit 553fbed60f
10 changed files with 126 additions and 74 deletions
@@ -6,10 +6,18 @@ import {
import { useBlockSuiteDocMeta } from '@affine/core/hooks/use-block-suite-page-meta';
import { performanceRenderLogger } from '@affine/core/shared';
import type { Filter } from '@affine/env/filter';
import { useService, WorkspaceService } from '@toeverything/infra';
import { useState } from 'react';
import {
GlobalContextService,
useService,
WorkspaceService,
} from '@toeverything/infra';
import { useEffect, useState } from 'react';
import { ViewBody, ViewHeader } from '../../../modules/workbench';
import {
useIsActiveView,
ViewBody,
ViewHeader,
} from '../../../modules/workbench';
import { EmptyPageList } from '../page-list-empty';
import * as styles from './all-page.css';
import { FilterContainer } from './all-page-filter';
@@ -17,6 +25,7 @@ import { AllPageHeader } from './all-page-header';
export const AllPage = () => {
const currentWorkspace = useService(WorkspaceService).workspace;
const globalContext = useService(GlobalContextService).globalContext;
const pageMetas = useBlockSuiteDocMeta(currentWorkspace.docCollection);
const [hideHeaderCreateNew, setHideHeaderCreateNew] = useState(true);
@@ -25,6 +34,19 @@ export const AllPage = () => {
filters: filters,
});
const isActiveView = useIsActiveView();
useEffect(() => {
if (isActiveView) {
globalContext.isAllDocs.set(true);
return () => {
globalContext.isAllDocs.set(false);
};
}
return;
}, [globalContext, isActiveView]);
return (
<>
<ViewHeader>
@@ -76,6 +76,7 @@ const DetailPageImpl = memo(function DetailPageImpl() {
const activeSidebarTab = useLiveData(view.activeSidebarTab$);
const doc = useService(DocService).doc;
const isInTrash = useLiveData(doc.meta$.map(meta => meta.trash));
const { openPage, jumpToPageBlock, jumpToTag } = useNavigateHelper();
const [editor, setEditor] = useState<AffineEditorContainer | null>(null);
const workspace = useService(WorkspaceService).workspace;
@@ -139,7 +140,17 @@ const DetailPageImpl = memo(function DetailPageImpl() {
}
}, [doc.id, setDocReadonly]);
const isInTrash = useLiveData(doc.meta$.map(meta => meta.trash));
useEffect(() => {
if (isActiveView) {
globalContext.isTrashDoc.set(!!isInTrash);
return () => {
globalContext.isTrashDoc.set(null);
};
}
return;
}, [globalContext, isActiveView, isInTrash]);
useRegisterBlocksuiteEditorCommands();
const title = useLiveData(doc.title$);
usePageDocumentTitle(title);