Skip to content

Commit

Permalink
perf(core): avoid page init when only id required
Browse files Browse the repository at this point in the history
  • Loading branch information
forehalo committed Aug 14, 2024
1 parent d5edada commit 6edbe40
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions packages/frontend/core/src/hooks/use-journal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,14 @@ export const useJournalHelper = (docCollection: DocCollection) => {
const getJournalsByDate = useCallback(
(maybeDate: MaybeDate) => {
const day = dayjs(maybeDate);
return Array.from(docCollection.docs.values())
.map(blockCollection => blockCollection.getDoc())
.filter(page => {
const pageId = page.id;
if (!isPageJournal(pageId)) return false;
if (page.meta?.trash) return false;
const journalDate = adapter.getJournalPageDateString(page.id);
if (!journalDate) return false;
return day.isSame(journalDate, 'day');
});
return Array.from(docCollection.docs.values()).filter(page => {
const pageId = page.id;
if (!isPageJournal(pageId)) return false;
if (page.meta?.trash) return false;
const journalDate = adapter.getJournalPageDateString(page.id);
if (!journalDate) return false;
return day.isSame(journalDate, 'day');
});
},
[adapter, isPageJournal, docCollection.docs]
);
Expand All @@ -83,7 +81,7 @@ export const useJournalHelper = (docCollection: DocCollection) => {
const getJournalByDate = useCallback(
(maybeDate: MaybeDate) => {
const pages = getJournalsByDate(maybeDate);
if (pages.length) return pages[0];
if (pages.length) return pages[0].getDoc();
return _createJournal(maybeDate);
},
[_createJournal, getJournalsByDate]
Expand Down Expand Up @@ -140,9 +138,9 @@ export const useJournalHelper = (docCollection: DocCollection) => {
appendContentToToday,
}),
[
getJournalsByDate,
getJournalByDate,
getJournalDateString,
getJournalsByDate,
getLocalizedJournalDateString,
isPageJournal,
isPageTodayJournal,
Expand Down

0 comments on commit 6edbe40

Please sign in to comment.