feat(mobile): enable mobile keyboard toolbar (#8633)

This commit is contained in:
L-Sun 2024-10-30 08:07:58 +00:00
parent 8f95cc7b80
commit 50bae9c3e6
No known key found for this signature in database
GPG Key ID: D5C252102D2B576F
2 changed files with 29 additions and 11 deletions

View File

@ -3,6 +3,7 @@ import type { FlagInfo } from './types';
const isNotStableBuild = BUILD_CONFIG.appBuildType !== 'stable';
const isDesktopEnvironment = BUILD_CONFIG.isElectron;
const isCanaryBuild = BUILD_CONFIG.appBuildType === 'canary';
const isMobile = BUILD_CONFIG.isMobileEdition;
export const AFFINE_FLAGS = {
enable_ai: {
@ -153,6 +154,14 @@ export const AFFINE_FLAGS = {
configurable: true,
defaultState: false,
},
enable_mobile_keyboard_toolbar: {
category: 'blocksuite',
bsFlag: 'enable_mobile_keyboard_toolbar',
displayName: 'Mobile Keyboard Toolbar',
description: 'Enables the mobile keyboard toolbar.',
configurable: false,
defaultState: isMobile,
},
} satisfies { [key in string]: FlagInfo };
export type AFFINE_FLAGS = typeof AFFINE_FLAGS;

View File

@ -24,6 +24,7 @@ import { DisposableGroup } from '@blocksuite/affine/global/utils';
import { type AffineEditorContainer } from '@blocksuite/affine/presets';
import {
DocService,
FeatureFlagService,
FrameworkScope,
GlobalContextService,
useLiveData,
@ -41,15 +42,21 @@ import { PageHeaderMenuButton } from './page-header-more-button';
import { PageHeaderShareButton } from './page-header-share-button';
const DetailPageImpl = () => {
const { editorService, docService, workspaceService, globalContextService } =
useServices({
WorkbenchService,
ViewService,
EditorService,
DocService,
WorkspaceService,
GlobalContextService,
});
const {
editorService,
docService,
workspaceService,
globalContextService,
featureFlagService,
} = useServices({
WorkbenchService,
ViewService,
EditorService,
DocService,
WorkspaceService,
GlobalContextService,
FeatureFlagService,
});
const editor = editorService.editor;
const workspace = workspaceService.workspace;
const docCollection = workspace.docCollection;
@ -62,6 +69,8 @@ const DetailPageImpl = () => {
const { openPage, jumpToPageBlock } = useNavigateHelper();
const editorContainer = useLiveData(editor.editorContainer$);
const enableKeyboardToolbar =
featureFlagService.flags.enable_mobile_keyboard_toolbar.value;
const { setDocReadonly } = useDocMetaHelper();
// TODO(@eyhn): remove jotai here
@ -90,8 +99,8 @@ const DetailPageImpl = () => {
}, [doc, globalContext, mode]);
useEffect(() => {
setDocReadonly(doc.id, true);
}, [doc.id, setDocReadonly]);
if (!enableKeyboardToolbar) setDocReadonly(doc.id, true);
}, [enableKeyboardToolbar, doc.id, setDocReadonly]);
useEffect(() => {
globalContext.isTrashDoc.set(!!isInTrash);