diff options
Diffstat (limited to 'src/main.js')
| -rw-r--r-- | src/main.js | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/src/main.js b/src/main.js index a3265e3a..7923ffe8 100644 --- a/src/main.js +++ b/src/main.js @@ -10,10 +10,13 @@ import apiModule from './modules/api.js' import configModule from './modules/config.js' import chatModule from './modules/chat.js' import oauthModule from './modules/oauth.js' +import authFlowModule from './modules/auth_flow.js' import mediaViewerModule from './modules/media_viewer.js' import oauthTokensModule from './modules/oauth_tokens.js' +import reportsModule from './modules/reports.js' +import pollsModule from './modules/polls.js' +import postStatusModule from './modules/postStatus.js' -import VueTimeago from 'vue-timeago' import VueI18n from 'vue-i18n' import createPersistedState from './lib/persisted_state.js' @@ -22,6 +25,10 @@ import pushNotifications from './lib/push_notifications_plugin.js' import messages from './i18n/messages.js' import VueChatScroll from 'vue-chat-scroll' +import VueClickOutside from 'v-click-outside' +import PortalVue from 'portal-vue' +import VBodyScrollLock from './directives/body_scroll_lock' +import VTooltip from 'v-tooltip' import afterStoreSetup from './boot/after_store.js' @@ -29,16 +36,12 @@ const currentLocale = (window.navigator.language || 'en').split('-')[0] Vue.use(Vuex) Vue.use(VueRouter) -Vue.use(VueTimeago, { - locale: currentLocale === 'cs' ? 'cs' : currentLocale === 'ja' ? 'ja' : 'en', - locales: { - 'cs': require('../static/timeago-cs.json'), - 'en': require('../static/timeago-en.json'), - 'ja': require('../static/timeago-ja.json') - } -}) Vue.use(VueI18n) Vue.use(VueChatScroll) +Vue.use(VueClickOutside) +Vue.use(PortalVue) +Vue.use(VBodyScrollLock) +Vue.use(VTooltip) const i18n = new VueI18n({ // By default, use the browser locale, we will update it if neccessary @@ -53,11 +56,17 @@ const persistedStateOptions = { 'users.lastLoginName', 'oauth' ] -} +}; -createPersistedState(persistedStateOptions).then((persistedState) => { +(async () => { + const persistedState = await createPersistedState(persistedStateOptions) const store = new Vuex.Store({ modules: { + i18n: { + getters: { + i18n: () => i18n + } + }, interface: interfaceModule, instance: instanceModule, statuses: statusesModule, @@ -66,8 +75,12 @@ createPersistedState(persistedStateOptions).then((persistedState) => { config: configModule, chat: chatModule, oauth: oauthModule, + authFlow: authFlowModule, mediaViewer: mediaViewerModule, - oauthTokens: oauthTokensModule + oauthTokens: oauthTokensModule, + reports: reportsModule, + polls: pollsModule, + postStatus: postStatusModule }, plugins: [persistedState, pushNotifications], strict: false // Socket modifies itself, let's ignore this for now. @@ -75,7 +88,7 @@ createPersistedState(persistedStateOptions).then((persistedState) => { }) afterStoreSetup({ store, i18n }) -}) +})() // These are inlined by webpack's DefinePlugin /* eslint-disable */ |
