From 7cf1fbf088a926ec67a3d50e06d68fef23ac9375 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 18 Jan 2025 00:04:06 +0200 Subject: [PATCH] fix(mobile): position of note detail menu (closes #971) --- src/public/app/menus/context_menu.ts | 3 +++ src/public/app/widgets/mobile_widgets/mobile_detail_menu.ts | 3 ++- src/public/stylesheets/style.css | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/public/app/menus/context_menu.ts b/src/public/app/menus/context_menu.ts index 8719cc59f..058178afc 100644 --- a/src/public/app/menus/context_menu.ts +++ b/src/public/app/menus/context_menu.ts @@ -8,6 +8,8 @@ interface ContextMenuOptions { orientation?: "left"; selectMenuItemHandler: MenuHandler; items: MenuItem[]; + /** On mobile, if set to `true` then the context menu is shown near the element. If `false` (default), then the context menu is shown at the bottom of the screen. */ + forcePositionOnMobile?: boolean; } interface MenuSeparatorItem { @@ -60,6 +62,7 @@ class ContextMenu { await this.hide(); } + this.$widget.toggleClass("mobile-bottom-menu", !this.options.forcePositionOnMobile); this.$cover.addClass("show"); $("body").addClass("context-menu-shown"); diff --git a/src/public/app/widgets/mobile_widgets/mobile_detail_menu.ts b/src/public/app/widgets/mobile_widgets/mobile_detail_menu.ts index fee7dbeef..76580909b 100644 --- a/src/public/app/widgets/mobile_widgets/mobile_detail_menu.ts +++ b/src/public/app/widgets/mobile_widgets/mobile_detail_menu.ts @@ -52,7 +52,8 @@ class MobileDetailMenuWidget extends BasicWidget { } else { throw new Error(t("mobile_detail_menu.error_unrecognized_command", { command })); } - } + }, + forcePositionOnMobile: true }); }); } diff --git a/src/public/stylesheets/style.css b/src/public/stylesheets/style.css index 16a76ba65..66ccfee60 100644 --- a/src/public/stylesheets/style.css +++ b/src/public/stylesheets/style.css @@ -1094,7 +1094,7 @@ a.external:not(.no-arrow):after, a[href^="http://"]:not(.no-arrow):after, a[href /* !!! Cannot set overflow: auto, submenus will break !!! */ } -body.mobile #context-menu-container { +body.mobile #context-menu-container.mobile-bottom-menu { position: fixed !important; left: 0 !important; right: 0 !important;