diff --git a/app/src/menus/Menu.ts b/app/src/menus/Menu.ts
index 43ac6fafc..50f9c9cc1 100644
--- a/app/src/menus/Menu.ts
+++ b/app/src/menus/Menu.ts
@@ -126,12 +126,13 @@ export class Menu {
`);
- if (position === "bottom" ) {
- this.element.querySelectorAll(".b3-menu__submenu").forEach((item:HTMLElement) => {
+ if (position === "bottom") {
+ this.element.querySelectorAll(".b3-menu__submenu").forEach((item: HTMLElement) => {
item.style.top = "calc(50vh + 48.5px)";
});
}
this.popup({x: 0, y: position === "bottom" ? window.innerHeight / 2 : 0});
+ this.element.scrollTop = 0;
}
}
diff --git a/app/src/mobile/util/closePanel.ts b/app/src/mobile/util/closePanel.ts
index 1127dae10..4848d234e 100644
--- a/app/src/mobile/util/closePanel.ts
+++ b/app/src/mobile/util/closePanel.ts
@@ -5,4 +5,5 @@ export const closePanel = () => {
const maskElement = document.querySelector(".side-mask") as HTMLElement;
maskElement.classList.add("fn__none");
maskElement.style.opacity = "";
+ window.siyuan.menus.menu.remove();
};
diff --git a/app/src/mobile/util/touch.ts b/app/src/mobile/util/touch.ts
index 081b1772d..b6afc577e 100644
--- a/app/src/mobile/util/touch.ts
+++ b/app/src/mobile/util/touch.ts
@@ -33,6 +33,7 @@ export const handleTouchEnd = (event: TouchEvent) => {
if (!clientX || !clientY || typeof yDiff === "undefined" ||
hasClosestByClassName(target, "b3-dialog") ||
hasClosestByClassName(target, "keyboard") ||
+ hasClosestByAttribute(target, "id", "commonMenu") ||
hasClosestByAttribute(target, "id", "model")
) {
return;
@@ -146,6 +147,7 @@ export const handleTouchMove = (event: TouchEvent) => {
if (!clientX || !clientY ||
hasClosestByClassName(target, "b3-dialog") ||
hasClosestByClassName(target, "keyboard") ||
+ hasClosestByAttribute(target, "id", "commonMenu") ||
hasClosestByAttribute(target, "id", "model")) {
return;
}
@@ -217,5 +219,5 @@ export const handleTouchMove = (event: TouchEvent) => {
const transformMask = (opacity: number) => {
const maskElement = document.querySelector(".side-mask") as HTMLElement;
maskElement.classList.remove("fn__none");
- maskElement.style.opacity = Math.min((1 - opacity), 0.86).toString();
+ maskElement.style.opacity = Math.min((1 - opacity), 0.68).toString();
};