94 lines
2.6 KiB
JavaScript
94 lines
2.6 KiB
JavaScript
import Vuex from 'vuex'
|
|
import Vue from 'vue'
|
|
import ServerService from '../services/Server'
|
|
import UserService from '../services/User'
|
|
|
|
Vue.use(Vuex)
|
|
|
|
export default new Vuex.Store({
|
|
state: {
|
|
settingsLoaded: false,
|
|
loggedIn : false,
|
|
meLoaded: false,
|
|
me: [],
|
|
redirectIfLoggedIn: null,
|
|
settings: [], // The TV inventory
|
|
sideMenu: true, //Toggle Side Menu on side Bar,
|
|
error: false
|
|
},
|
|
|
|
getters: {
|
|
// Here we will create a getter
|
|
getSettingValue: (state) => (name) => {
|
|
if(state.settingsLoaded == false) {
|
|
return null;
|
|
}
|
|
for(var i = 0; i < state.settings.length; i++) {
|
|
if(state.settings[i]["name"] == name) {
|
|
return state.settings[i]["value"];
|
|
}
|
|
}
|
|
},
|
|
getAllDataLoaded: (state) => {
|
|
var loaded = true;
|
|
if(!state.meLoaded) {
|
|
loaded = false;
|
|
}
|
|
if(!state.settingsLoaded) {
|
|
loaded = false;
|
|
}
|
|
return loaded;
|
|
},
|
|
getError: (state) => {
|
|
return state.error
|
|
},
|
|
getMe: (state) => {
|
|
return state.me;
|
|
}
|
|
},
|
|
|
|
mutations: {
|
|
setSettings: function(state, settings) {
|
|
state.settings = settings;
|
|
state.settingsLoaded = true;
|
|
},
|
|
setError: function(state) {
|
|
state.error = true;
|
|
},
|
|
setMe: function(state, me) {
|
|
if(me == false) {
|
|
state.loggedIn = false;
|
|
state.meLoaded = true;
|
|
} else {
|
|
state.me = me;
|
|
state.loggedIn = true;
|
|
state.meLoaded = true;
|
|
}
|
|
},
|
|
|
|
},
|
|
|
|
actions: {
|
|
getSettings: function (context) {
|
|
return new Promise((resolve, reject) => {
|
|
ServerService.getPublicSettings().then((res) => {
|
|
context.commit('setSettings', res.data.data)
|
|
resolve()
|
|
}).catch((res) => {
|
|
context.commit('setError')
|
|
});
|
|
})
|
|
},
|
|
checkAccount: function(context) {
|
|
UserService.getTokenFromStorage();
|
|
return new Promise((resolve, reject) => {
|
|
UserService.me().then((res) => {
|
|
context.commit('setMe', res.data.data)
|
|
}, (res) => {
|
|
context.commit('setMe', false)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
});
|