diff options
Diffstat (limited to 'viewer/src/store/index.ts')
-rw-r--r-- | viewer/src/store/index.ts | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/viewer/src/store/index.ts b/viewer/src/store/index.ts new file mode 100644 index 0000000..0277fa4 --- /dev/null +++ b/viewer/src/store/index.ts | |||
@@ -0,0 +1,46 @@ | |||
1 | /* ldgallery - A static generator which turns a collection of tagged | ||
2 | -- pictures into a searchable web gallery. | ||
3 | -- | ||
4 | -- Copyright (C) 2019-2020 Guillaume FOUET | ||
5 | -- | ||
6 | -- This program is free software: you can redistribute it and/or modify | ||
7 | -- it under the terms of the GNU Affero General Public License as | ||
8 | -- published by the Free Software Foundation, either version 3 of the | ||
9 | -- License, or (at your option) any later version. | ||
10 | -- | ||
11 | -- This program is distributed in the hope that it will be useful, | ||
12 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | -- GNU Affero General Public License for more details. | ||
15 | -- | ||
16 | -- You should have received a copy of the GNU Affero General Public License | ||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | import Vue from 'vue' | ||
21 | import Vuex from 'vuex' | ||
22 | import { extractVuexModule } from "vuex-class-component"; | ||
23 | import { createProxy } from "vuex-class-component"; | ||
24 | import UIStore from '@/store/uiStore'; | ||
25 | import GalleryStore from '@/store/galleryStore'; | ||
26 | |||
27 | Vue.use(Vuex) | ||
28 | |||
29 | const store = new Vuex.Store({ | ||
30 | modules: { | ||
31 | ...extractVuexModule(UIStore), | ||
32 | ...extractVuexModule(GalleryStore) | ||
33 | } | ||
34 | }); | ||
35 | |||
36 | Vue.use((vue) => vue.prototype.$uiStore = createProxy(store, UIStore)); | ||
37 | Vue.use((vue) => vue.prototype.$galleryStore = createProxy(store, GalleryStore)); | ||
38 | |||
39 | declare module 'vue/types/vue' { | ||
40 | interface Vue { | ||
41 | $uiStore: UIStore, | ||
42 | $galleryStore: GalleryStore | ||
43 | } | ||
44 | } | ||
45 | |||
46 | export default store; | ||