* Added Much better session Management, key updating and deleting

* Force reload of JS if app numbers dont match
* Added cool tag display on side of note
* Cleaned up a bunch of code and tweaked little things to be better
This commit is contained in:
Max G
2020-06-15 09:02:20 +00:00
parent d2624628d8
commit 071aaf22cd
18 changed files with 333 additions and 270 deletions

View File

@@ -6,30 +6,16 @@ Vue.use(Vuex);
export default new Vuex.Store({
state: {
token: null,
username: null,
nightMode: false,
isUserOnMobile: false,
isNoteSettingsOpen: false, //Little note settings pane
socket: null,
userTotals: null,
},
mutations: {
setLoginToken(state, userData){
const username = userData.username
const token = userData.token
localStorage.removeItem('loginToken') //We only want one login token per computer
localStorage.setItem('loginToken', token)
setUsername(state, username){
localStorage.removeItem('username') //We only want one login token per computer
localStorage.setItem('username', username)
//Set default token to axios, every request will have header
axios.defaults.headers.common['authorizationtoken'] = token
state.token = token
state.username = username
},
destroyLoginToken(state){
@@ -37,8 +23,8 @@ export default new Vuex.Store({
//Remove login token from local storage and from headers
localStorage.removeItem('loginToken')
localStorage.removeItem('username')
localStorage.removeItem('currentVersion')
delete axios.defaults.headers.common['authorizationtoken']
state.token = null
state.username = null
},
toggleNightMode(state, pastTheme){
@@ -125,6 +111,20 @@ export default new Vuex.Store({
//Save all the totals for the user
state.userTotals = totalsObject
//Set computer version from server
const currentVersion = localStorage.getItem('currentVersion')
if(currentVersion == null){
localStorage.setItem('currentVersion', totalsObject.currentVersion)
return
}
//If version is already set and it doesn't match the server, reload app
if(currentVersion != totalsObject.currentVersion){
localStorage.setItem('currentVersion', totalsObject.currentVersion)
location.reload(true)
}
// console.log('-------------')
// Object.keys(totalsObject).forEach( key => {
// console.log(key + ' -- ' + totalsObject[key])
@@ -135,11 +135,8 @@ export default new Vuex.Store({
getUsername: state => {
return state.username
},
getLoginToken: state => {
return state.token
},
getLoggedIn: state => {
let weIn = (state.token !== null && state.token != undefined && state.token.length > 0)
let weIn = (state.username && state.username.length > 0)
return weIn
},
getIsNightMode: state => {