From d21f3ba6f360b4b4fc8122f310444af8a0089cec Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Thu, 17 Nov 2022 02:44:16 +0530 Subject: [PATCH] fix(mobile): super editor autocomplete dropdowns (#2019) --- .../BlockPickerPlugin/BlockPickerPlugin.tsx | 5 ++++- .../ItemSelectionPlugin/ItemSelectionPlugin.tsx | 5 ++++- .../NoteView/SuperEditor/SuperEditor.tsx | 2 +- .../Popover/GetPositionedPopoverStyles.ts | 13 ++++++++++--- .../javascripts/Components/Popover/Popover.tsx | 3 ++- .../Popover/PositionedPopoverContent.tsx | 17 +++++++++++++---- .../src/javascripts/Components/Popover/Types.ts | 3 ++- .../Components/Popover/Utils/Rect.ts | 9 ++++++++- 8 files changed, 44 insertions(+), 13 deletions(-) diff --git a/packages/web/src/javascripts/Components/NoteView/SuperEditor/Plugins/BlockPickerPlugin/BlockPickerPlugin.tsx b/packages/web/src/javascripts/Components/NoteView/SuperEditor/Plugins/BlockPickerPlugin/BlockPickerPlugin.tsx index b2c3af427..8a81d669b 100644 --- a/packages/web/src/javascripts/Components/NoteView/SuperEditor/Plugins/BlockPickerPlugin/BlockPickerPlugin.tsx +++ b/packages/web/src/javascripts/Components/NoteView/SuperEditor/Plugins/BlockPickerPlugin/BlockPickerPlugin.tsx @@ -21,6 +21,7 @@ import { GetDynamicTableBlocks, GetTableBlock } from './Blocks/Table' import Popover from '@/Components/Popover/Popover' import { PopoverClassNames } from '../ClassNames' import { GetDatetimeBlocks } from './Blocks/DateTime' +import { isMobileScreen } from '@/Utils' export default function BlockPickerMenuPlugin(): JSX.Element { const [editor] = useLexicalComposerContext() @@ -109,12 +110,14 @@ export default function BlockPickerMenuPlugin(): JSX.Element { align="start" anchorPoint={{ x: anchorElementRef.current.offsetLeft, - y: anchorElementRef.current.offsetTop + anchorElementRef.current.offsetHeight, + y: anchorElementRef.current.offsetTop + (!isMobileScreen() ? anchorElementRef.current.offsetHeight : 0), }} open={popoverOpen} togglePopover={() => { setPopoverOpen((prevValue) => !prevValue) }} + disableMobileFullscreenTakeover={true} + side={isMobileScreen() ? 'top' : 'bottom'} >