import Vue from 'vue' import Vuex from 'vuex' import createPersistedState from 'vuex-persistedstate' Vue.use(Vuex) export default new Vuex.Store({ strict: true, plugins: [ createPersistedState() ], state: { token: null, data: null, isUserLoggedIn: false, id: null, role: null, // schoolId: null, schoolToken: null, schoolRole: null, studentsData: [], activeStudent: {}, }, getters: { GET_STUDENTS_DATA: state => { return state.studentsData }, GET_ACTIVE_STUDENT: state => { return state.activeStudent }, GET_TOKEN: state => { return state.token }, }, // serve as the one and only way to change the state of the data in the state object mutations: { RESET_STORE(state, defaultState) { state = defaultState // state.isUserLoggedIn = false }, setToken(state, token) { state.token = token //state.isUserLoggedIn = !!(token) if (token != null) { state.isUserLoggedIn = true } else { state.isUserLoggedIn = false state.isSchoolLoggedIn = false } }, setSchoolToken(state, schoolToken) { state.schoolToken = schoolToken //state.isUserLoggedIn = !!(token) if (schoolToken != null) { state.isSchoolLoggedIn = true } else { state.isSchoolLoggedIn = false } }, setUser(state, data) { state.data = data }, Id(state, id) { state.id = id }, Role(state, role) { state.role = role }, setSchoolRole(state, schoolRole) { state.schoolRole = schoolRole }, SET_STUDENTS_DATA(state, data) { state.studentsData = data }, SET_ACTIVE_STUDENT(state, data) { state.activeStudent = data }, // SchoolId(state, schoolId) { // state.schoolId = schoolId // } }, //Action methods are referred to as being "dispatched" actions: { RESET_STORE({ commit }, defaultState) { commit('RESET_STORE', defaultState) }, setToken({ commit }, token) { commit('setToken', token) }, setSchoolToken({ commit }, schoolToken) { commit('setSchoolToken', schoolToken) }, setUser({ commit }, data) { commit('setUser', data) }, SET_STUDENTS_DATA({ commit }, data) { commit('SET_STUDENTS_DATA', data) }, SET_ACTIVE_STUDENT({ commit }, data) { commit('SET_ACTIVE_STUDENT', data) }, Id({ commit }, id) { commit('Id', id) }, Role({ commit }, role) { commit('Role', role) }, setSchoolRole({ commit }, schoolRole) { commit('setSchoolRole', schoolRole) }, // SchoolId({ commit }, schoolId) { // commit('SchoolId', schoolId) // } } })