mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
feat(core): support removing journal template from right sidebar (#10571)
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import { Button, Menu } from '@affine/component';
|
||||
import { Button, Menu, MenuItem, MenuSeparator } from '@affine/component';
|
||||
import { DocsService } from '@affine/core/modules/doc';
|
||||
import { DocDisplayMetaService } from '@affine/core/modules/doc-display-meta';
|
||||
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
||||
import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu';
|
||||
import { useI18n } from '@affine/i18n';
|
||||
import { TemplateIcon } from '@blocksuite/icons/rc';
|
||||
import { DeleteIcon, TemplateIcon } from '@blocksuite/icons/rc';
|
||||
import { useLiveData, useService } from '@toeverything/infra';
|
||||
import clsx from 'clsx';
|
||||
import { useCallback, useMemo } from 'react';
|
||||
@@ -33,18 +33,38 @@ export const JournalTemplateSetting = () => {
|
||||
const isDeleted = useLiveData(journalTemplateDoc?.trash$);
|
||||
|
||||
const updateJournalTemplate = useCallback(
|
||||
(templateId: string) => {
|
||||
(templateId?: string) => {
|
||||
templateDocService.setting.updateJournalTemplateDocId(templateId);
|
||||
},
|
||||
[templateDocService.setting]
|
||||
);
|
||||
|
||||
const removeJournalTemplate = useCallback(() => {
|
||||
updateJournalTemplate();
|
||||
}, [updateJournalTemplate]);
|
||||
|
||||
return (
|
||||
<div className={styles.container}>
|
||||
<Menu
|
||||
contentOptions={{ className: styles.menu }}
|
||||
items={
|
||||
<TemplateListMenuContentScrollable onSelect={updateJournalTemplate} />
|
||||
<TemplateListMenuContentScrollable
|
||||
onSelect={updateJournalTemplate}
|
||||
suffixItems={
|
||||
journalTemplateDocId ? (
|
||||
<>
|
||||
<MenuSeparator />
|
||||
<MenuItem
|
||||
prefixIcon={<DeleteIcon />}
|
||||
onClick={removeJournalTemplate}
|
||||
type="danger"
|
||||
>
|
||||
{t['com.affine.template-list.delete']()}
|
||||
</MenuItem>
|
||||
</>
|
||||
) : null
|
||||
}
|
||||
/>
|
||||
}
|
||||
>
|
||||
<Button
|
||||
|
||||
@@ -1736,6 +1736,7 @@
|
||||
"com.affine.page-starter-bar.edgeless": "Edgeless",
|
||||
"tips": "Tips",
|
||||
"Template": "Template",
|
||||
"com.affine.template-list.delete": "Delete Template",
|
||||
"com.affine.template-list.empty": "No template",
|
||||
"com.affine.template-list.create-new": "Create new template",
|
||||
"com.affine.template-journal-onboarding.title": "Set a Template for the Journal",
|
||||
|
||||
Reference in New Issue
Block a user