diff --git a/app/src/mobile/index.ts b/app/src/mobile/index.ts
index 3aff5636a..74eec8995 100644
--- a/app/src/mobile/index.ts
+++ b/app/src/mobile/index.ts
@@ -25,6 +25,7 @@ import {afterLoadPlugin, loadPlugins} from "../plugin/loader";
import {saveScroll} from "../protyle/scroll/saveScroll";
import {removeBlock} from "../protyle/wysiwyg/remove";
import {isNotEditBlock} from "../protyle/wysiwyg/getBlock";
+import {Menu} from "../plugin/Menu";
class App {
public plugins: import("../plugin").Plugin[] = [];
@@ -98,9 +99,29 @@ class App {
initFramework(this);
initRightMenu(this);
openChangelog();
+ const unPinsMenu: IMenu[] = [];
this.plugins.forEach(item => {
- afterLoadPlugin(item);
+ const unPinMenu = afterLoadPlugin(item);
+ if (unPinMenu) {
+ unPinMenu.forEach(unpinItem => {
+ unPinsMenu.push(unpinItem);
+ })
+ }
});
+ if (unPinsMenu.length > 0) {
+ const pluginElement = document.createElement("div");
+ pluginElement.classList.add("b3-menu__item");
+ pluginElement.setAttribute("data-menu", "true");
+ pluginElement.innerHTML = ``;
+ pluginElement.addEventListener("click", () => {
+ const menu = new Menu();
+ unPinsMenu.forEach(item => {
+ menu.addItem(item);
+ });
+ menu.fullscreen();
+ });
+ document.querySelector("#menuAbout").after(pluginElement);
+ }
});
});
});
diff --git a/app/src/plugin/loader.ts b/app/src/plugin/loader.ts
index 769090c63..ca500ac49 100644
--- a/app/src/plugin/loader.ts
+++ b/app/src/plugin/loader.ts
@@ -150,11 +150,11 @@ export const afterLoadPlugin = (plugin: Plugin) => {
}
if (!isWindow() || isMobile()) {
- const pluginMenu: IMenu[] = [];
+ const unPinMenu: IMenu[] = [];
plugin.topBarIcons.forEach(element => {
if (isMobile()) {
if (window.siyuan.storage[Constants.LOCAL_PLUGINTOPUNPIN].includes(element.id)) {
- pluginMenu.push({
+ unPinMenu.push({
iconHTML: element.firstElementChild.outerHTML,
label: element.textContent.trim(),
click() {
@@ -171,19 +171,8 @@ export const afterLoadPlugin = (plugin: Plugin) => {
document.querySelector("#" + (element.getAttribute("data-position") === "right" ? "barPlugins" : "drag")).before(element);
}
});
- if (isMobile() && pluginMenu.length > 0) {
- const pluginElement = document.createElement("div");
- pluginElement.classList.add("b3-menu__item");
- pluginElement.setAttribute("data-menu", "true");
- pluginElement.innerHTML = ``;
- pluginElement.addEventListener("click", () => {
- const menu = new Menu();
- pluginMenu.forEach(item => {
- menu.addItem(item);
- });
- menu.fullscreen();
- });
- document.querySelector("#menuAbout").after(pluginElement);
+ if (isMobile() && unPinMenu.length > 0) {
+ return unPinMenu;
}
}
/// #if !MOBILE