diff --git a/noname/ui/create/menu/index.js b/noname/ui/create/menu/index.js
index f443dbe219..beccac2676 100644
--- a/noname/ui/create/menu/index.js
+++ b/noname/ui/create/menu/index.js
@@ -1,4 +1,6 @@
import { ui, game, get, lib, _status } from "../../../../noname.js";
+import { createApp } from "../../../../game/vue.esm-browser.js";
+import Menu from "./views/menu.vue";
export function openMenu(node, e, onclose) {
popupContainer.innerHTML = "";
@@ -534,3 +536,39 @@ export function menu(connectMenu) {
localStorage.removeItem(lib.configprefix + "disable_extension", true);
}
}
+
+/**
+ * @param { boolean } [connectMenu]
+ */
+export function newMenu(connectMenu) {
+ const cacheMenuContainer = (menuContainer = ui.create.div(".menu-container.hidden", ui.window, () => {
+ clickContainer.call(cacheMenuContainer, connectMenu);
+ }));
+ const cachePopupContainer = (popupContainer = ui.create.div(
+ ".popup-container.hidden",
+ ui.window,
+ function closeMenu() {
+ // @ts-ignore
+ if (cachePopupContainer.noclose) {
+ // @ts-ignore
+ cachePopupContainer.noclose = false;
+ return;
+ }
+ cachePopupContainer.classList.add("hidden");
+ if (typeof cachePopupContainer.onclose == "function") {
+ // @ts-ignore
+ cachePopupContainer.onclose();
+ }
+ }
+ ));
+ // 使用vue的createApp来创建
+ const app = createApp(Menu, {
+ connectMenu
+ });
+
+ app.mount(cacheMenuContainer);
+ cacheMenuContainer.firstElementChild.listen(e => {
+ e.stopPropagation();
+ })
+ cacheMenuContainer.show();
+}
\ No newline at end of file
diff --git a/noname/ui/create/menu/views/menu.vue b/noname/ui/create/menu/views/menu.vue
new file mode 100644
index 0000000000..b9f57056c9
--- /dev/null
+++ b/noname/ui/create/menu/views/menu.vue
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/noname/ui/create/menu/views/menuButton.vue b/noname/ui/create/menu/views/menuButton.vue
new file mode 100644
index 0000000000..ac2d56d0f1
--- /dev/null
+++ b/noname/ui/create/menu/views/menuButton.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/noname/ui/create/menu/views/menuContent.vue b/noname/ui/create/menu/views/menuContent.vue
new file mode 100644
index 0000000000..334401ed19
--- /dev/null
+++ b/noname/ui/create/menu/views/menuContent.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
diff --git a/noname/ui/create/menu/views/menuTabBar.vue b/noname/ui/create/menu/views/menuTabBar.vue
new file mode 100644
index 0000000000..9576a457f7
--- /dev/null
+++ b/noname/ui/create/menu/views/menuTabBar.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/noname/ui/create/menu/views/menuTabs.vue b/noname/ui/create/menu/views/menuTabs.vue
new file mode 100644
index 0000000000..c5f4f24692
--- /dev/null
+++ b/noname/ui/create/menu/views/menuTabs.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
\ No newline at end of file