feat(core): add pdf embed preview feature flag (#9307)

This commit is contained in:
fundon
2024-12-26 06:57:31 +00:00
parent 7ae7c17677
commit 96fae47744
3 changed files with 21 additions and 2 deletions
@@ -11,6 +11,7 @@ import type {
} from '@affine/core/modules/doc-info/types';
import { EditorService } from '@affine/core/modules/editor';
import { EditorSettingService } from '@affine/core/modules/editor-setting';
import { FeatureFlagService } from '@affine/core/modules/feature-flag';
import { JournalService } from '@affine/core/modules/journal';
import { toURLSearchParams } from '@affine/core/modules/navigation';
import { PeekViewService } from '@affine/core/modules/peek-view/services/peek-view';
@@ -97,12 +98,14 @@ const usePatchSpecs = (shared: boolean, mode: DocMode) => {
docsService,
editorService,
workspaceService,
featureFlagService,
} = useServices({
PeekViewService,
DocService,
DocsService,
WorkspaceService,
EditorService,
FeatureFlagService,
});
const framework = useFramework();
const referenceRenderer: ReferenceReactRenderer = useMemo(() => {
@@ -149,7 +152,11 @@ const usePatchSpecs = (shared: boolean, mode: DocMode) => {
let patched = specs.concat(
patchReferenceRenderer(reactToLit, referenceRenderer)
);
patched = patched.concat(patchForAttachmentEmbedViews(reactToLit));
if (featureFlagService.flags.enable_pdf_embed_preview.value) {
patched = patched.concat(patchForAttachmentEmbedViews(reactToLit));
}
patched = patched.concat(patchNotificationService(confirmModal));
patched = patched.concat(patchPeekViewService(peekViewService));
patched = patched.concat(patchEdgelessClipboard());
@@ -178,6 +185,7 @@ const usePatchSpecs = (shared: boolean, mode: DocMode) => {
referenceRenderer,
shared,
specs,
featureFlagService,
]);
return [
@@ -234,7 +234,16 @@ export const AFFINE_FLAGS = {
configurable: isMobile,
defaultState: false,
},
enable_pdf_embed_preview: {
category: 'affine',
displayName:
'com.affine.settings.workspace.experimental-features.enable-pdf-embed-preview.name',
description:
'com.affine.settings.workspace.experimental-features.enable-pdf-embed-preview.description',
configurable: !isMobile,
defaultState: false,
},
} satisfies { [key in string]: FlagInfo };
// eslint-disable-next-line no-redeclare
// oxlint-disable-next-line no-redeclare
export type AFFINE_FLAGS = typeof AFFINE_FLAGS;
@@ -1324,6 +1324,8 @@
"com.affine.settings.workspace.experimental-features.enable-multiple-cloud-servers.description": "Once enabled, users can connect to selfhosted cloud servers.",
"com.affine.settings.workspace.experimental-features.enable-mobile-edgeless-editing.name": "Enable Edgeless Editing",
"com.affine.settings.workspace.experimental-features.enable-mobile-edgeless-editing.description": "Once enabled, users can edit edgeless canvas.",
"com.affine.settings.workspace.experimental-features.enable-pdf-embed-preview.name": "PDF embed preview",
"com.affine.settings.workspace.experimental-features.enable-pdf-embed-preview.description": "Once enabled, you can preview PDF in embed view.",
"com.affine.settings.workspace.not-owner": "Only an owner can edit the workspace avatar and name. Changes will be shown for everyone.",
"com.affine.settings.workspace.preferences": "Preference",
"com.affine.settings.workspace.billing": "Billing",