38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
//Librairies
|
|
import Api from '@scripts/api';
|
|
import Lang from '@scripts/lang';
|
|
import Projects from '@scripts/projects';
|
|
import User from '@scripts/user';
|
|
import { createApp, reactive } from 'vue';
|
|
|
|
//Main template
|
|
import App from './App';
|
|
|
|
//Style
|
|
import Css from '@styles/spot';
|
|
|
|
//App Configuration from PHP
|
|
const appConfig = JSON.parse(document.getElementById('app-config').textContent);
|
|
|
|
//Instances
|
|
const oProjects = new Projects(appConfig.projects);
|
|
const oUser = reactive(new User(appConfig.user, appConfig.consts.default_timezone));
|
|
const oLang = new Lang({translations: appConfig.consts.lang, prefix: appConfig.consts.lang_prefix});
|
|
const oApi = new Api({
|
|
server: appConfig.consts.server,
|
|
processPage: appConfig.consts.process_page,
|
|
timezone: oUser.timezone,
|
|
csrfToken: appConfig.consts.csrf_token,
|
|
errorCode: appConfig.consts.error,
|
|
lang: oLang
|
|
});
|
|
|
|
//Mount app
|
|
const oApp = createApp(App);
|
|
oApp.provide('appConfig', appConfig);
|
|
oApp.provide('api', oApi);
|
|
oApp.provide('lang', oLang);
|
|
oApp.provide('projects', oProjects);
|
|
oApp.provide('user', oUser);
|
|
oApp.mount('#container');
|