discord-client/webpack/main.js

43 lines
1.0 KiB
JavaScript

import Vue from 'vue'
import VueRouter from 'vue-router'
import auth_wrapper from './vue/auth/wrapper.vue'
import noauth_wrapper from './vue/noauth/wrapper.vue'
/* (1) Setup: Vue, VueRouter, Authentication, ClientDriver-s */
require('./setup.js');
/* (2) Set router hooks to load page data before loading content */
gs.get.router.beforeEach((to, from, next) => {
// {1} Ignore null name //
if( to.name == null )
next();
// {2} Get appropriate page location //
let auth_folder = (gs.get.authed) ? 'auth' : 'noauth';
let page_file = to.name || gs.get.routes[auth_folder][0].name;
// {3} Load page script //
require(`./page/${auth_folder}/${page_file}.js`);
// console.log(`./page/${auth_folder}/${page_file}.js`);
// {4} Let VueRouter do the magic //
next();
});
/* (3) Select appropriate wrapper */
const wrapper = (gs.get.authed) ? auth_wrapper : noauth_wrapper;
/* (4) Render view */
Vue.use(VueRouter);
new Vue({
el: '#vue',
router: gs.get.router,
render(h){ return h(wrapper); }
})