/* ldgallery - A static generator which turns a collection of tagged -- pictures into a searchable web gallery. -- -- Copyright (C) 2019-2020 Guillaume FOUET -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU Affero General Public License as -- published by the Free Software Foundation, either version 3 of the -- License, or (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU Affero General Public License for more details. -- -- You should have received a copy of the GNU Affero General Public License -- along with this program. If not, see . */ import Vue from 'vue' import Vuex from 'vuex' import { extractVuexModule } from "vuex-class-component"; import { createProxy } from "vuex-class-component"; import UIStore from '@/store/uiStore'; import GalleryStore from '@/store/galleryStore'; Vue.use(Vuex) const store = new Vuex.Store({ modules: { ...extractVuexModule(UIStore), ...extractVuexModule(GalleryStore) } }); Vue.use((vue) => vue.prototype.$uiStore = createProxy(store, UIStore)); Vue.use((vue) => vue.prototype.$galleryStore = createProxy(store, GalleryStore)); declare module 'vue/types/vue' { interface Vue { $uiStore: UIStore, $galleryStore: GalleryStore } } export default store;