From 965059649ff6de8849f5091435befddba18ced93 Mon Sep 17 00:00:00 2001 From: Helianthella Date: Fri, 25 Dec 2020 21:00:29 -0500 Subject: display a skeleton layout while dynamic views are loading --- src/App.vue | 16 ++++++++++++++-- src/router/index.ts | 5 +++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/App.vue b/src/App.vue index 435f7b2..f46f063 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,7 +1,11 @@ @@ -84,5 +88,13 @@ import Copyright from "@/components/Footer.vue"; Copyright, }, }) -export default class AppV extends Vue {} +export default class AppV extends Vue { + loaded = false; + + mounted () { + self.addEventListener("initial-load", () => { + this.loaded = true; + }); + } +} diff --git a/src/router/index.ts b/src/router/index.ts index 8165667..04828e4 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -49,6 +49,11 @@ const router = createRouter({ routes, }); +router.beforeResolve((to, from, next) => { + self.dispatchEvent(new Event("initial-load")); + next(); +}); + router.afterEach((to,) => { const mainTitle = document.querySelector("#app > .content > h1"); -- cgit v1.2.3-60-g2f50