fix: journal doc title in at menu (#7608)

Fix issue [BS-900](https://linear.app/affine-design/issue/BS-900).

### What Changed?
- Add i18n for journal doc title and empty doc title.
This commit is contained in:
akumatus
2024-07-26 04:21:03 +00:00
parent 470262d400
commit b26b0c3a22
2 changed files with 17 additions and 3 deletions

View File

@@ -64,7 +64,7 @@ export function pageReferenceRenderer({
<>
{icon}
<span className="affine-reference-title">
{title ? title : 'Untitled'}
{title ? title : t['Untitled']()}
</span>
</>
);

View File

@@ -1,5 +1,6 @@
import { WorkspacePropertiesAdapter } from '@affine/core/modules/properties';
import { mixpanel } from '@affine/core/utils';
import { I18n, i18nTime } from '@affine/i18n';
import type { EditorHost } from '@blocksuite/block-std';
import type { AffineInlineEditor } from '@blocksuite/blocks';
import { LinkedWidgetUtils } from '@blocksuite/blocks';
@@ -36,11 +37,24 @@ export function createLinkedWidgetConfig(framework: FrameworkProvider) {
}
return !meta.trash;
})
.map(meta => {
if (isJournal(meta)) {
const date = adapter.getJournalPageDateString(meta.id);
if (date) {
const title = i18nTime(date, { absolute: { accuracy: 'day' } });
return { ...meta, title };
}
}
if (!meta.title) {
const title = I18n['Untitled']();
return { ...meta, title };
}
return meta;
})
.filter(({ title }) => isFuzzyMatch(title, query));
// TODO need i18n if BlockSuite supported
const MAX_DOCS = 6;
const DEFAULT_DOC_NAME = 'Untitled';
const docsService = framework.get(DocsService);
const isEdgeless = (d: DocMeta) =>
docsService.list.getMode(d.id) === 'edgeless';
@@ -49,7 +63,7 @@ export function createLinkedWidgetConfig(framework: FrameworkProvider) {
name: 'Link to Doc',
items: docMetas.map(doc => ({
key: doc.id,
name: doc.title || DEFAULT_DOC_NAME,
name: doc.title,
icon: isJournal(doc)
? TodayIcon
: isEdgeless(doc)