From 8db37e9bbf1069278413afcd6f3cf42851081e60 Mon Sep 17 00:00:00 2001 From: pengx17 Date: Thu, 8 Aug 2024 10:22:11 +0000 Subject: [PATCH] feat: cmd click support for journal sidebar (#7792) fix AF-1214 The titles are also corrected: ![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/b7cd888f-b080-4800-a868-c37cbb0b9cbb.png) --- .../workspace/detail-page/tabs/journal.tsx | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/packages/frontend/core/src/pages/workspace/detail-page/tabs/journal.tsx b/packages/frontend/core/src/pages/workspace/detail-page/tabs/journal.tsx index c0ad2ca3bd..848346d7db 100644 --- a/packages/frontend/core/src/pages/workspace/detail-page/tabs/journal.tsx +++ b/packages/frontend/core/src/pages/workspace/detail-page/tabs/journal.tsx @@ -2,12 +2,13 @@ import type { DateCell } from '@affine/component'; import { DatePicker, IconButton, Menu, Scrollable } from '@affine/component'; import { MoveToTrash } from '@affine/core/components/page-list'; import { useTrashModalHelper } from '@affine/core/hooks/affine/use-trash-modal-helper'; +import { useDocCollectionPageTitle } from '@affine/core/hooks/use-block-suite-workspace-page-title'; import { useJournalHelper, useJournalInfoHelper, useJournalRouteHelper, } from '@affine/core/hooks/use-journal'; -import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; +import { WorkbenchLink } from '@affine/core/modules/workbench'; import { useI18n } from '@affine/i18n'; import { EdgelessIcon, @@ -41,14 +42,18 @@ const CountDisplay = ({ }: { count: number; max?: number } & HTMLAttributes) => { return {count > max ? `${max}+` : count}; }; -interface PageItemProps extends HTMLAttributes { +interface PageItemProps + extends Omit, 'onClick'> { docRecord: DocRecord; right?: ReactNode; } const PageItem = ({ docRecord, right, className, ...attrs }: PageItemProps) => { - const title = useLiveData(docRecord.title$); const mode = useLiveData(docRecord.mode$); const workspace = useService(WorkspaceService).workspace; + const title = useDocCollectionPageTitle( + workspace.docCollection, + docRecord.id + ); const { isJournal } = useJournalInfoHelper( workspace.docCollection, docRecord.id @@ -60,8 +65,9 @@ const PageItem = ({ docRecord, right, className, ...attrs }: PageItemProps) => { ? EdgelessIcon : PageIcon; return ( -
@@ -70,7 +76,7 @@ const PageItem = ({ docRecord, right, className, ...attrs }: PageItemProps) => {
{title} {right} - + ); }; @@ -177,14 +183,11 @@ const DailyCountEmptyFallback = ({ name }: { name: NavItemName }) => { ); }; const JournalDailyCountBlock = ({ date }: JournalBlockProps) => { - const workspace = useService(WorkspaceService).workspace; const nodeRef = useRef(null); const t = useI18n(); const [activeItem, setActiveItem] = useState('createdToday'); const docRecords = useLiveData(useService(DocsService).list.docs$); - const navigateHelper = useNavigateHelper(); - const getTodaysPages = useCallback( (field: 'createDate' | 'updatedDate') => { return sortPagesByDate( @@ -267,9 +270,6 @@ const JournalDailyCountBlock = ({ date }: JournalBlockProps) => {
{renderList.map((pageRecord, index) => ( - navigateHelper.openPage(workspace.id, pageRecord.id) - } tabIndex={name === activeItem ? 0 : -1} key={index} docRecord={pageRecord} @@ -297,7 +297,6 @@ const ConflictList = ({ className, ...attrs }: ConflictListProps) => { - const navigateHelper = useNavigateHelper(); const workspace = useService(WorkspaceService).workspace; const currentDoc = useService(DocService).doc; const { setTrashModal } = useTrashModalHelper(workspace.docCollection); @@ -335,7 +334,6 @@ const ConflictList = ({ } - onClick={() => navigateHelper.openPage(workspace.id, docRecord.id)} /> ); })}