diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts b/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts index 20962bcad5..c75820ee69 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts @@ -1,5 +1,5 @@ import { AIChatBlockSpec } from '@affine/core/blocksuite/presets/blocks/ai-chat-block'; -import { PeekViewService } from '@affine/core/modules/peek-view'; +import { PeekViewService } from '@affine/core/modules/peek-view/services/peek-view'; import { AppThemeService } from '@affine/core/modules/theme'; import { type BlockStdScope, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.tsx index 996e3a142b..f783670033 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.tsx @@ -66,9 +66,6 @@ const StarterBarNotEmpty = ({ doc }: { doc: Store }) => { ) ); const enableAI = useLiveData(featureFlagService.flags.enable_ai.$); - const enableTemplateDoc = useLiveData( - featureFlagService.flags.enable_template_doc.$ - ); const handleSelectTemplate = useAsyncCallback( async (templateId: string) => { @@ -109,7 +106,7 @@ const StarterBarNotEmpty = ({ doc }: { doc: Store }) => { } }, [editorService.editor]); - const showTemplate = !isTemplate && enableTemplateDoc; + const showTemplate = !isTemplate; if (!enableAI && !showTemplate) { return null; diff --git a/packages/frontend/core/src/components/doc-properties/table.tsx b/packages/frontend/core/src/components/doc-properties/table.tsx index 600bc7b4b4..971c2edecb 100644 --- a/packages/frontend/core/src/components/doc-properties/table.tsx +++ b/packages/frontend/core/src/components/doc-properties/table.tsx @@ -15,7 +15,6 @@ import type { DatabaseRow, DatabaseValueCell, } from '@affine/core/modules/doc-info/types'; -import { FeatureFlagService } from '@affine/core/modules/feature-flag'; import { GuardService } from '@affine/core/modules/permissions'; import { ViewService, WorkbenchService } from '@affine/core/modules/workbench'; import type { AffineDNDData } from '@affine/core/types/dnd'; @@ -132,13 +131,10 @@ export const DocPropertyRow = ({ const t = useI18n(); const docService = useService(DocService); const docsService = useService(DocsService); - const featureFlagService = useService(FeatureFlagService); const customPropertyValue = useLiveData( docService.doc.customProperty$(propertyInfo.id) ); - const enableTemplateDoc = useLiveData( - featureFlagService.flags.enable_template_doc.$ - ); + const typeInfo = isSupportedDocPropertyType(propertyInfo.type) ? DocPropertyTypes[propertyInfo.type] : undefined; @@ -215,9 +211,6 @@ export const DocPropertyRow = ({ ); if (!ValueRenderer || typeof ValueRenderer !== 'function') return null; - if (propertyInfo.id === 'template' && !enableTemplateDoc) { - return null; - } return ( { const t = useI18n(); const [menuOpen, setMenuOpen] = useState(false); - const featureFlagService = useService(FeatureFlagService); - const enabled = useLiveData(featureFlagService.flags.enable_template_doc.$); const toggleMenu = useCallback(() => { setMenuOpen(prev => !prev); @@ -26,10 +23,6 @@ export const TemplateDocEntrance = () => { setMenuOpen(open); }, []); - if (!enabled) { - return null; - } - return ( { const t = useI18n(); - const { featureFlagService, templateDocService } = useServices({ - FeatureFlagService, - TemplateDocService, - }); - const setting = templateDocService.setting; - - const enabled = useLiveData(featureFlagService.flags.enable_template_doc.$); + const setting = useService(TemplateDocService).setting; const enablePageTemplate = useLiveData(setting.enablePageTemplate$); const pageTemplateDocId = useLiveData(setting.pageTemplateDocId$); @@ -55,8 +48,6 @@ export const TemplateDocSetting = () => { [setting] ); - if (!enabled) return null; - return ( { const containerRef = useRef(null); const globalState = useService(GlobalStateService).globalState; - const featureFlagService = useService(FeatureFlagService); const templateDocService = useService(TemplateDocService); - const enableTemplate = useLiveData( - featureFlagService.flags.enable_template_doc.$ - ); const t = useI18n(); const dismissed = useLiveData( @@ -65,7 +60,7 @@ export const JournalTemplateOnboarding = () => { [templateDocService.setting] ); - if (dismissed || !enableTemplate) return null; + if (dismissed) return null; return (
{ const workbench = useService(WorkbenchService).workbench; const workspaceService = useService(WorkspaceService); - const featureFlagService = useService(FeatureFlagService); const templateDocService = useService(TemplateDocService); const docsService = useService(DocsService); const currentWorkspace = workspaceService.workspace; const pageHelper = usePageHelper(currentWorkspace.docCollection); - const enableTemplateDoc = useLiveData( - featureFlagService.flags.enable_template_doc.$ - ); const enablePageTemplate = useLiveData( templateDocService.setting.enablePageTemplate$ ); @@ -34,7 +29,7 @@ export const AppTabCreate = ({ tab }: AppTabCustomFCProps) => { const createPage = useAsyncCallback( async (isActive: boolean) => { if (isActive) return; - if (enableTemplateDoc && enablePageTemplate && pageTemplateDocId) { + if (enablePageTemplate && pageTemplateDocId) { const docId = await docsService.duplicateFromTemplate(pageTemplateDocId); workbench.openDoc({ docId, fromTab: 'true' }); @@ -44,14 +39,7 @@ export const AppTabCreate = ({ tab }: AppTabCustomFCProps) => { } track.$.navigationPanel.$.createDoc(); }, - [ - docsService, - enablePageTemplate, - enableTemplateDoc, - pageHelper, - pageTemplateDocId, - workbench, - ] + [docsService, enablePageTemplate, pageHelper, pageTemplateDocId, workbench] ); return ( diff --git a/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx b/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx index 7f63baeeab..e71492d82d 100644 --- a/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx +++ b/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx @@ -3,7 +3,6 @@ import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-pa import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks'; import { DocsService } from '@affine/core/modules/doc'; import { EditorSettingService } from '@affine/core/modules/editor-setting'; -import { FeatureFlagService } from '@affine/core/modules/feature-flag'; import { TemplateDocService } from '@affine/core/modules/template-doc'; import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu'; import { WorkbenchService } from '@affine/core/modules/workbench'; @@ -30,16 +29,11 @@ import * as styles from './index.css'; * @return a function to create a new doc, will duplicate the template doc if the page template is enabled */ const useNewDoc = () => { - const featureFlagService = useService(FeatureFlagService); const workspaceService = useService(WorkspaceService); const templateDocService = useService(TemplateDocService); const docsService = useService(DocsService); const workbench = useService(WorkbenchService).workbench; - const enableTemplateDoc = useLiveData( - featureFlagService.flags.enable_template_doc.$ - ); - const currentWorkspace = workspaceService.workspace; const enablePageTemplate = useLiveData( templateDocService.setting.enablePageTemplate$ @@ -52,7 +46,7 @@ const useNewDoc = () => { const createPage = useAsyncCallback( async (e?: MouseEvent, mode?: DocMode) => { - if (enableTemplateDoc && enablePageTemplate && pageTemplateDocId) { + if (enablePageTemplate && pageTemplateDocId) { const docId = await docsService.duplicateFromTemplate(pageTemplateDocId); workbench.openDoc(docId, { at: inferOpenMode(e) }); @@ -60,14 +54,7 @@ const useNewDoc = () => { pageHelper.createPage(mode, { at: inferOpenMode(e) }); } }, - [ - docsService, - enablePageTemplate, - enableTemplateDoc, - pageHelper, - pageTemplateDocId, - workbench, - ] + [docsService, enablePageTemplate, pageHelper, pageTemplateDocId, workbench] ); return createPage; diff --git a/packages/frontend/core/src/modules/feature-flag/constant.ts b/packages/frontend/core/src/modules/feature-flag/constant.ts index 4343693821..a87431149d 100644 --- a/packages/frontend/core/src/modules/feature-flag/constant.ts +++ b/packages/frontend/core/src/modules/feature-flag/constant.ts @@ -222,15 +222,6 @@ export const AFFINE_FLAGS = { configurable: !isMobile, defaultState: false, }, - // TODO(@CatsJuice): remove this flag when ready - enable_template_doc: { - category: 'affine', - displayName: 'Enable template doc', - description: - 'Allow users to mark a doc as a template, and create new docs from it', - configurable: true, - defaultState: isCanaryBuild, - }, enable_editor_rtl: { category: 'affine', displayName: diff --git a/packages/frontend/core/src/modules/journal/index.ts b/packages/frontend/core/src/modules/journal/index.ts index 968a3abac9..74762ebe45 100644 --- a/packages/frontend/core/src/modules/journal/index.ts +++ b/packages/frontend/core/src/modules/journal/index.ts @@ -2,7 +2,6 @@ import { type Framework } from '@toeverything/infra'; import { DocScope, DocService, DocsService } from '../doc'; import { EditorSettingService } from '../editor-setting'; -import { FeatureFlagService } from '../feature-flag'; import { TemplateDocService } from '../template-doc'; import { WorkspaceScope } from '../workspace'; import { JournalService } from './services/journal'; @@ -25,7 +24,6 @@ export function configureJournalModule(framework: Framework) { DocsService, EditorSettingService, TemplateDocService, - FeatureFlagService, ]) .store(JournalStore, [DocsService]) .scope(DocScope) diff --git a/packages/frontend/core/src/modules/journal/services/journal.ts b/packages/frontend/core/src/modules/journal/services/journal.ts index e96feb5700..7bb39eec20 100644 --- a/packages/frontend/core/src/modules/journal/services/journal.ts +++ b/packages/frontend/core/src/modules/journal/services/journal.ts @@ -8,7 +8,6 @@ import { } from '../../../blocksuite/initialization'; import type { DocsService } from '../../doc'; import type { EditorSettingService } from '../../editor-setting'; -import type { FeatureFlagService } from '../../feature-flag'; import type { TemplateDocService } from '../../template-doc'; import type { JournalStore } from '../store/journal'; @@ -21,8 +20,7 @@ export class JournalService extends Service { private readonly store: JournalStore, private readonly docsService: DocsService, private readonly editorSettingService: EditorSettingService, - private readonly templateDocService: TemplateDocService, - private readonly featureFlagService: FeatureFlagService + private readonly templateDocService: TemplateDocService ) { super(); } @@ -66,8 +64,6 @@ export class JournalService extends Service { .getTime(), }); - const enableTemplateDoc = - this.featureFlagService.flags.enable_template_doc.value; const enablePageTemplate = this.templateDocService.setting.enablePageTemplate$.value; const pageTemplateDocId = @@ -75,13 +71,13 @@ export class JournalService extends Service { const journalTemplateDocId = this.templateDocService.setting.journalTemplateDocId$.value; // if journal template configured - if (enableTemplateDoc && journalTemplateDocId) { + if (journalTemplateDocId) { this.docsService .duplicateFromTemplate(journalTemplateDocId, docRecord.id) .catch(console.error); } // journal template not configured, use page template - else if (enableTemplateDoc && enablePageTemplate && pageTemplateDocId) { + else if (enablePageTemplate && pageTemplateDocId) { this.docsService .duplicateFromTemplate(pageTemplateDocId, docRecord.id) .catch(console.error);