From e1569cf1ea601ac8e653c922e29df1b022a05b8b Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 8 Mar 2023 10:36:33 +0800 Subject: [PATCH] :iphone: fix https://github.com/siyuan-note/siyuan/issues/7600 --- app/src/menus/Menu.ts | 2 +- app/src/mobile/util/MobileBackFoward.ts | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/menus/Menu.ts b/app/src/menus/Menu.ts index 4022eb07d..1cf5088be 100644 --- a/app/src/menus/Menu.ts +++ b/app/src/menus/Menu.ts @@ -16,7 +16,7 @@ export class Menu { const target = event.target as Element; if (isMobile()) { const titleElement = hasClosestByClassName(target, "b3-menu__title"); - if (titleElement) { + if (titleElement || (typeof event.detail === "string" && event.detail === "back")) { const lastShowElements = this.element.querySelectorAll(".b3-menu__item--show"); if (lastShowElements.length > 0) { lastShowElements[lastShowElements.length - 1].classList.remove("b3-menu__item--show"); diff --git a/app/src/mobile/util/MobileBackFoward.ts b/app/src/mobile/util/MobileBackFoward.ts index f7a2a67ae..12aba4a04 100644 --- a/app/src/mobile/util/MobileBackFoward.ts +++ b/app/src/mobile/util/MobileBackFoward.ts @@ -109,9 +109,14 @@ export const goForward = () => { }; export const goBack = () => { - if (window.JSAndroid && window.siyuan.backStack.length < 1) { - window.JSAndroid.returnDesktop(); - return; + if (window.JSAndroid) { + if (window.siyuan.menus.menu.element.classList.contains("b3-menu--fullscreen") && !window.siyuan.menus.menu.element.classList.contains("fn__none")) { + window.siyuan.menus.menu.element.dispatchEvent(new CustomEvent("click", {detail: "back"})) + return; + } else if (window.siyuan.backStack.length < 1) { + window.JSAndroid.returnDesktop(); + return; + } } if (window.siyuan.backStack.length < 1) { return;