a d
This commit is contained in:
99
src/store/index.js
Normal file
99
src/store/index.js
Normal file
@@ -0,0 +1,99 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import router from '../router/index'
|
||||
|
||||
Vue.use(Vuex)
|
||||
export default new Vuex.Store({
|
||||
state: {
|
||||
loginError: false,
|
||||
login: null,
|
||||
token: null,
|
||||
planets: [],
|
||||
people: [],
|
||||
movies: [],
|
||||
species: [],
|
||||
starships: [],
|
||||
vehicles: []
|
||||
},
|
||||
mutations: {
|
||||
authUser(state, userData) {
|
||||
state.token = "Miracle fake token"
|
||||
state.login = userData.login
|
||||
},
|
||||
clearAuthData(state) {
|
||||
state.token = null
|
||||
state.login = null
|
||||
},
|
||||
setLoginError(state) {
|
||||
state.loginError = true;
|
||||
},
|
||||
resetLoginError(state) {
|
||||
state.loginError = false;
|
||||
},
|
||||
setPlanetsData(state, payload) {
|
||||
state.planets = payload;
|
||||
},
|
||||
setPeopleData(state, payload) {
|
||||
state.people = payload;
|
||||
},
|
||||
setFilmsData(state, payload) {
|
||||
state.movies = payload;
|
||||
},
|
||||
setSpeciesData(state, payload) {
|
||||
state.species = payload;
|
||||
},
|
||||
setStarshipsData(state, payload) {
|
||||
state.starships = payload;
|
||||
},
|
||||
setVehiclesData(state, payload) {
|
||||
state.vehicles = payload;
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
login ({commit}, authData) {
|
||||
if(authData.login === "Luke" && authData.pass === "123") {
|
||||
commit('authUser', { login: authData.login });
|
||||
commit('resetLoginError');
|
||||
router.replace('/list');
|
||||
}
|
||||
else {
|
||||
commit('setLoginError');
|
||||
}
|
||||
},
|
||||
logout({commit}) {
|
||||
commit('clearAuthData');
|
||||
router.replace('/login');
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
user (state) {
|
||||
return state.user
|
||||
},
|
||||
isUserAuthenticated (state) {
|
||||
return state.token !== null;
|
||||
},
|
||||
isLoginError(state) {
|
||||
return state.loginError !== false;
|
||||
},
|
||||
Planets(state) {
|
||||
return state.planets;
|
||||
},
|
||||
People(state) {
|
||||
return state.people;
|
||||
},
|
||||
Films(state) {
|
||||
return state.movies;
|
||||
},
|
||||
Species(state) {
|
||||
return state.species;
|
||||
},
|
||||
Starships(state) {
|
||||
return state.starships;
|
||||
},
|
||||
Vehicles(state) {
|
||||
return state.vehicles;
|
||||
}
|
||||
},
|
||||
modules: {
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user