40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
import {GlobalStore} from './lib/gstore'
|
|
import VueRouter from 'vue-router'
|
|
import routes from './routes'
|
|
import {PopupController} from './lib/popup-controller'
|
|
import {ContentController} from './lib/content-controller'
|
|
import {RoomController} from './lib/room-controller'
|
|
import {ChannelController} from './lib/channel-controller'
|
|
|
|
|
|
window.gs = new GlobalStore();
|
|
|
|
/* (1) Global data
|
|
---------------------------------------------------------*/
|
|
/* (1) Get Full URI */
|
|
gs.set('URI', document.URL.replace(/^(?:[^\/]+\/\/|[^\/]+\/)/, '').split('/').filter(function(v,i){ return !!i && v.length; }));
|
|
|
|
/* (2) Store routes */
|
|
gs.set('routes', routes[0]);
|
|
|
|
/* (3) Init. vue router */
|
|
gs.set('router', new VueRouter({
|
|
routes: gs.get.routes
|
|
}));
|
|
|
|
|
|
|
|
|
|
/* (2) Main components
|
|
---------------------------------------------------------*/
|
|
/* (1) Initialize popup management */
|
|
gs.set('popup', new PopupController());
|
|
|
|
/* (2) Initialize content management */
|
|
gs.set('content', new ContentController());
|
|
|
|
/* (3) Initialize rooms & room menu */
|
|
gs.set('room', new RoomController());
|
|
|
|
/* (4) Initialize channels & channel menu */
|
|
gs.set('channel', new ChannelController()); |