diff --git a/src/main.js b/src/main.js index 2d1771a..b8ee994 100644 --- a/src/main.js +++ b/src/main.js @@ -2,6 +2,7 @@ import Vue from 'vue' import VueRouter from 'vue-router' import axios from 'axios' import router from './routes' +import store from './store' import Toast from './plugins/Toast' import DataTablee from 'vue-data-tablee' @@ -19,6 +20,7 @@ Vue.use(VModal, { dialog: true }) new Vue({ el: '#app', router, + store, components: { App }, template: '' }) diff --git a/src/modules/torrentModule.js b/src/modules/torrentModule.js new file mode 100644 index 0000000..dbfbd5c --- /dev/null +++ b/src/modules/torrentModule.js @@ -0,0 +1,40 @@ + +export default { + namespaced: true, + state: { + results: [], + resultCount: null + }, + getters: { + results: (state) => { + return state.results + }, + resultCount: (state) => { + return state.resultCount + } + }, + + mutations: { + SET_RESULTS: (state, results) => { + state.results = results; + }, + SET_RESULT_COUNT: (state, count) => { + state.resultCount = count; + }, + RESET: (state) => { + state.results = [] + state.resultCount = null + } + }, + actions: { + setResults({ commit }, results) { + commit('SET_RESULTS', results) + }, + setResultCount({ commit }, count) { + commit('SET_RESULT_COUNT', count) + }, + reset({ commit }) { + commit('RESET') + } + } +} diff --git a/src/store.js b/src/store.js new file mode 100644 index 0000000..1318390 --- /dev/null +++ b/src/store.js @@ -0,0 +1,14 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +import torrentModule from './modules/torrentModule.js' + +Vue.use(Vuex) + +const store = new Vuex.Store({ + modules: { + torrentModule + } +}) + +export default store