diff --git a/src/lib/dom.js b/src/lib/dom.js index a0db16a..b03ce5e 100644 --- a/src/lib/dom.js +++ b/src/lib/dom.js @@ -17,15 +17,19 @@ const waitContainer = async (selector) => { return new Promise((resolve) => { - const container = document.querySelector(selector) + const execute = () => { + const container = document.querySelector(selector) - if (container) { - return resolve(selector, container) + if (container) { + resolve(container) + } else { + setTimeout(() => { + execute(selector) + }, 50) + } } - setTimeout(() => { - waitContainer(selector) - }, 50) + execute(selector) }) } diff --git a/src/menu.js b/src/menu.js index 99ab101..7a92f62 100644 --- a/src/menu.js +++ b/src/menu.js @@ -19,12 +19,10 @@ import './scss/menu.scss' import { createApp } from 'vue' import { createPinia } from 'pinia' -import { createElement } from './lib/dom.js' +import { createElement, waitContainer } from './lib/dom.js' -import MenuContainer from './menus/MenuContainer.vue' - -// import PageLoader from './components/PageLoader.vue' -// window.PageLoader = PageLoader +import StandardMenu from './menus/StandardMenu' +import MenuContainer from './menus/MenuContainer' const pinia = createPinia() const body = document.querySelector('body') @@ -39,9 +37,16 @@ app.use(pinia) app.mixin({ methods: { t, n } }) app.mount(container) -// waitContainer('#header .app-menu').then((selector) => { -// const app = createApp(AppMenu) -// app.use(pinia) -// app.mixin({ methods: { t, n }}) -// app.mount(selector) -// }) +waitContainer('#header .app-menu').then((container) => { + const menu = createElement('div', { + id: 'app-menu-container', + }) + + container.parentNode.insertBefore(menu, container.nextSibling) + container.remove() + + const app = createApp(StandardMenu) + app.use(pinia) + app.mixin({ methods: { t, n } }) + app.mount(menu) +}) diff --git a/src/menus/AppMenu.vue.bk b/src/menus/StandardMenu.vue similarity index 66% rename from src/menus/AppMenu.vue.bk rename to src/menus/StandardMenu.vue index 33646b1..bc9f369 100644 --- a/src/menus/AppMenu.vue.bk +++ b/src/menus/StandardMenu.vue @@ -25,28 +25,35 @@ :aria-label="t('core', 'Applications menu')" >