feat(mobile): mobile at menu (#8727)

Close [BS-1608](https://linear.app/affine-design/issue/BS-1608/mobile-menu), related PR: https://github.com/toeverything/blocksuite/pull/8681
This commit is contained in:
L-Sun 2024-11-08 11:06:12 +00:00
parent c1ece15560
commit 5f40fbc69c
No known key found for this signature in database
GPG Key ID: D5C252102D2B576F
2 changed files with 24 additions and 2 deletions

View File

@ -162,6 +162,14 @@ export const AFFINE_FLAGS = {
configurable: false,
defaultState: isMobile,
},
enable_mobile_linked_doc_menu: {
category: 'blocksuite',
bsFlag: 'enable_mobile_linked_doc_menu',
displayName: 'Mobile Linked Doc Widget',
description: 'Enables the mobile linked doc menu.',
configurable: false,
defaultState: isMobile,
},
enable_snapshot_import_export: {
category: 'affine',
displayName: 'Enable Snapshot Import Export',

View File

@ -4,7 +4,10 @@ import { JournalService } from '@affine/core/modules/journal';
import { I18n } from '@affine/i18n';
import { track } from '@affine/track';
import type { EditorHost } from '@blocksuite/affine/block-std';
import type { AffineInlineEditor } from '@blocksuite/affine/blocks';
import type {
AffineInlineEditor,
LinkedWidgetConfig,
} from '@blocksuite/affine/blocks';
import { LinkedWidgetUtils } from '@blocksuite/affine/blocks';
import type { DocMeta } from '@blocksuite/affine/store';
import { type FrameworkProvider, WorkspaceService } from '@toeverything/infra';
@ -74,7 +77,7 @@ function createNewDocMenuGroup(
// TODO: fix the type
export function createLinkedWidgetConfig(
framework: FrameworkProvider
): Partial<Record<string, unknown>> {
): Partial<LinkedWidgetConfig> {
return {
getMenus: (
query: string,
@ -142,6 +145,17 @@ export function createLinkedWidgetConfig(
),
]);
},
mobile: {
useScreenHeight: BUILD_CONFIG.isIOS,
scrollContainer: window,
scrollTopOffset: () => {
const header = document.querySelector('header');
if (!header) return 0;
const { y, height } = header.getBoundingClientRect();
return y + height;
},
},
};
}