diff --git a/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx b/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx index 9e1733b7c..5eb4bece6 100644 --- a/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx +++ b/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx @@ -86,6 +86,9 @@ const DetailPageImpl = () => { featureFlagService.flags.enable_mobile_keyboard_toolbar.value; const enableEdgelessEditing = featureFlagService.flags.enable_mobile_edgeless_editing.value; + const enableAIButton = useLiveData( + featureFlagService.flags.enable_ios_ai_button.$ + ); // TODO(@eyhn): remove jotai here const [_, setActiveBlockSuiteEditor] = useActiveBlocksuiteEditor(); @@ -113,12 +116,13 @@ const DetailPageImpl = () => { }, [doc, globalContext, mode]); useEffect(() => { + if (!enableAIButton) return; aIButtonService.presentAIButton(true); return () => { aIButtonService.presentAIButton(false); }; - }, [aIButtonService]); + }, [aIButtonService, enableAIButton]); useEffect(() => { globalContext.isTrashDoc.set(!!isInTrash); diff --git a/packages/frontend/core/src/modules/feature-flag/constant.ts b/packages/frontend/core/src/modules/feature-flag/constant.ts index 1e96523b6..49a0df4bd 100644 --- a/packages/frontend/core/src/modules/feature-flag/constant.ts +++ b/packages/frontend/core/src/modules/feature-flag/constant.ts @@ -260,6 +260,13 @@ export const AFFINE_FLAGS = { configurable: isCanaryBuild, defaultState: false, }, + enable_ios_ai_button: { + category: 'affine', + displayName: 'Enable AI Button', + description: 'Enable AI Button on iOS', + configurable: BUILD_CONFIG.isIOS, + defaultState: false, + }, } satisfies { [key in string]: FlagInfo }; // oxlint-disable-next-line no-redeclare