From 351f1b73b4c67554d5ef4c962eac72d62d4e5350 Mon Sep 17 00:00:00 2001 From: Cats Juice Date: Thu, 18 Jan 2024 14:40:35 +0000 Subject: [PATCH] feat(core): add journal entrance for app-sidebar (#5579) --- .../src/components/root-app-sidebar/index.tsx | 6 +++ .../root-app-sidebar/journal-button.tsx | 42 +++++++++++++++++++ packages/frontend/i18n/src/resources/en.json | 3 +- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 packages/frontend/core/src/components/root-app-sidebar/journal-button.tsx diff --git a/packages/frontend/core/src/components/root-app-sidebar/index.tsx b/packages/frontend/core/src/components/root-app-sidebar/index.tsx index d1019a878b..50cc075932 100644 --- a/packages/frontend/core/src/components/root-app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/root-app-sidebar/index.tsx @@ -48,6 +48,7 @@ import FavoriteList from '../pure/workspace-slider-bar/favorite/favorite-list'; import { UserWithWorkspaceList } from '../pure/workspace-slider-bar/user-with-workspace-list'; import { WorkspaceCard } from '../pure/workspace-slider-bar/workspace-card'; import ImportPage from './import-page'; +import { AppSidebarJournalButton } from './journal-button'; import { UpdaterButton } from './updater-button'; export type RootAppSidebarProps = { @@ -254,6 +255,11 @@ export const RootAppSidebar = ({ {t['com.affine.workspaceSubPath.all']()} + {runtimeConfig.enableJournal ? ( + + ) : null} {runtimeConfig.enableNewSettingModal ? ( { + const t = useAFFiNEI18N(); + const currentPageId = useAtomValue(currentPageIdAtom); + const currentPage = currentPageId ? workspace.getPage(currentPageId) : null; + const { openToday } = useJournalHelper(workspace); + const { journalDate, isJournal } = useJournalInfoHelper(currentPage?.meta); + const params = useParams(); + const isJournalActive = isJournal && !!params.pageId; + + const Icon = + isJournalActive && journalDate + ? journalDate.isBefore(new Date(), 'day') + ? YesterdayIcon + : journalDate.isAfter(new Date(), 'day') + ? TomorrowIcon + : TodayIcon + : TodayIcon; + + return ( + }> + {t['com.affine.journal.app-sidebar-title']()} + + ); +}; diff --git a/packages/frontend/i18n/src/resources/en.json b/packages/frontend/i18n/src/resources/en.json index d6ade28c91..6abf39ac63 100644 --- a/packages/frontend/i18n/src/resources/en.json +++ b/packages/frontend/i18n/src/resources/en.json @@ -1048,5 +1048,6 @@ "com.affine.journal.updated-today": "Updated today", "com.affine.journal.daily-count-created-empty-tips": "You haven't created anything yet", "com.affine.journal.daily-count-updated-empty-tips": "You haven't updated anything yet", - "com.affine.journal.conflict-show-more": "{{count}} more articles" + "com.affine.journal.conflict-show-more": "{{count}} more articles", + "com.affine.journal.app-sidebar-title": "Journals" }