mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
feat(core): add notification list (#10480)
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { NotificationCountService } from '@affine/core/modules/notification';
|
||||
import { WorkbenchService } from '@affine/core/modules/workbench';
|
||||
import { useLiveData, useService } from '@toeverything/infra';
|
||||
import { useEffect } from 'react';
|
||||
|
||||
export const DocumentTitle = () => {
|
||||
const notificationCountService = useService(NotificationCountService);
|
||||
const notificationCount = useLiveData(notificationCountService.count$);
|
||||
const workbenchService = useService(WorkbenchService);
|
||||
const workbenchView = useLiveData(workbenchService.workbench.activeView$);
|
||||
const viewTitle = useLiveData(workbenchView.title$);
|
||||
|
||||
useEffect(() => {
|
||||
const prefix = notificationCount > 0 ? `(${notificationCount}) ` : '';
|
||||
document.title = prefix + (viewTitle ? `${viewTitle} · AFFiNE` : 'AFFiNE');
|
||||
|
||||
return () => {
|
||||
document.title = 'AFFiNE';
|
||||
};
|
||||
}, [notificationCount, viewTitle]);
|
||||
|
||||
return null;
|
||||
};
|
||||
@@ -44,7 +44,6 @@ import { AffineErrorBoundary } from '../../../../components/affine/affine-error-
|
||||
import { GlobalPageHistoryModal } from '../../../../components/affine/page-history-modal';
|
||||
import { useRegisterBlocksuiteEditorCommands } from '../../../../components/hooks/affine/use-register-blocksuite-editor-commands';
|
||||
import { useActiveBlocksuiteEditor } from '../../../../components/hooks/use-block-suite-editor';
|
||||
import { usePageDocumentTitle } from '../../../../components/hooks/use-global-state';
|
||||
import { PageDetailEditor } from '../../../../components/page-detail-editor';
|
||||
import { TrashPageFooter } from '../../../../components/pure/trash-page-footer';
|
||||
import { TopTip } from '../../../../components/top-tip';
|
||||
@@ -160,8 +159,6 @@ const DetailPageImpl = memo(function DetailPageImpl() {
|
||||
}, [globalContext, isActiveView, isInTrash]);
|
||||
|
||||
useRegisterBlocksuiteEditorCommands(editor, isActiveView);
|
||||
const title = useLiveData(doc.title$);
|
||||
usePageDocumentTitle(title);
|
||||
|
||||
const onLoad = useCallback(
|
||||
(editorContainer: AffineEditorContainer) => {
|
||||
|
||||
@@ -8,6 +8,7 @@ import { SWRConfigProvider } from '@affine/core/components/providers/swr-config-
|
||||
import { WorkspaceSideEffects } from '@affine/core/components/providers/workspace-side-effects';
|
||||
import { AIIsland } from '@affine/core/desktop/components/ai-island';
|
||||
import { AppContainer } from '@affine/core/desktop/components/app-container';
|
||||
import { DocumentTitle } from '@affine/core/desktop/components/document-title';
|
||||
import { WorkspaceDialogs } from '@affine/core/desktop/dialogs';
|
||||
import { PeekViewManagerModal } from '@affine/core/modules/peek-view';
|
||||
import { QuotaCheck } from '@affine/core/modules/quota';
|
||||
@@ -36,6 +37,7 @@ export const WorkspaceLayout = function WorkspaceLayout({
|
||||
<AiLoginRequiredModal />
|
||||
<WorkspaceSideEffects />
|
||||
<PeekViewManagerModal />
|
||||
<DocumentTitle />
|
||||
|
||||
<WorkspaceLayoutInner>{children}</WorkspaceLayoutInner>
|
||||
{/* should show after workspace loaded */}
|
||||
|
||||
@@ -2,7 +2,6 @@ import { Scrollable } from '@affine/component';
|
||||
import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor';
|
||||
import { EditorOutlineViewer } from '@affine/core/blocksuite/outline-viewer';
|
||||
import { useActiveBlocksuiteEditor } from '@affine/core/components/hooks/use-block-suite-editor';
|
||||
import { usePageDocumentTitle } from '@affine/core/components/hooks/use-global-state';
|
||||
import { useNavigateHelper } from '@affine/core/components/hooks/use-navigate-helper';
|
||||
import { PageDetailEditor } from '@affine/core/components/page-detail-editor';
|
||||
import { AppContainer } from '@affine/core/desktop/components/app-container';
|
||||
@@ -189,8 +188,6 @@ const SharePageInner = ({
|
||||
const pageTitle = useLiveData(page?.title$);
|
||||
const { jumpToPageBlock, openPage } = useNavigateHelper();
|
||||
|
||||
usePageDocumentTitle(pageTitle);
|
||||
|
||||
const onEditorLoad = useCallback(
|
||||
(editorContainer: AffineEditorContainer) => {
|
||||
setActiveBlocksuiteEditor(editorContainer);
|
||||
|
||||
Reference in New Issue
Block a user