2019-07-19 13:51:57 -07:00
|
|
|
<template>
|
|
|
|
<div id="app">
|
|
|
|
|
2019-07-24 11:06:50 -07:00
|
|
|
<link href="https://fonts.googleapis.com/css?family=Open+Sans&display=swap" rel="stylesheet">
|
|
|
|
|
|
|
|
<!-- Hide this menu on the notes page -->
|
2019-09-10 11:10:11 -07:00
|
|
|
<div class="ui basic segment" v-if="
|
|
|
|
this.$router.currentRoute.name != 'NotesPage'
|
|
|
|
">
|
2019-07-24 11:06:50 -07:00
|
|
|
<div class="ui container">
|
|
|
|
<div class="ui tabular menu">
|
|
|
|
|
|
|
|
<router-link class="item" exact-active-class="active" to="/">Home</router-link>
|
|
|
|
<router-link v-if="loggedIn" exact-active-class="active" class="item" to="/notes">Notes</router-link>
|
|
|
|
<router-link class="item" exact-active-class="active" to="/help">Help</router-link>
|
|
|
|
<router-link v-if="!loggedIn" exact-active-class="active" class="item" to="/login">Login</router-link>
|
|
|
|
<div v-if="loggedIn" v-on:click="destroyLoginToken" class="item">Logout</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-07-19 13:51:57 -07:00
|
|
|
</div>
|
2019-07-24 11:06:50 -07:00
|
|
|
|
2019-07-19 13:51:57 -07:00
|
|
|
<router-view/>
|
2019-07-24 11:06:50 -07:00
|
|
|
|
2019-07-19 13:51:57 -07:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
2019-07-20 16:07:22 -07:00
|
|
|
|
|
|
|
import { mapGetters } from 'vuex'
|
2019-07-19 13:51:57 -07:00
|
|
|
|
|
|
|
export default {
|
|
|
|
|
|
|
|
data: function(){
|
|
|
|
return {
|
|
|
|
// loggedIn:
|
|
|
|
}
|
|
|
|
},
|
|
|
|
beforeCreate: function(){
|
|
|
|
|
2019-07-30 12:10:31 -07:00
|
|
|
//Set color theme based on local storage
|
|
|
|
if(localStorage.getItem('nightMode') == 'true'){
|
|
|
|
this.$store.commit('toggleNightMode')
|
|
|
|
}
|
|
|
|
|
2019-07-19 13:51:57 -07:00
|
|
|
//Puts token into state on page load
|
|
|
|
let token = localStorage.getItem('loginToken')
|
2019-07-24 11:06:50 -07:00
|
|
|
let username = localStorage.getItem('username')
|
|
|
|
|
2019-07-19 13:51:57 -07:00
|
|
|
if(token){
|
2019-07-24 11:06:50 -07:00
|
|
|
this.$store.commit('setLoginToken', {token, username})
|
|
|
|
} else {
|
|
|
|
this.$store.commit('destroyLoginToken')
|
|
|
|
this.$router.push({'path':'/'})
|
2019-07-19 13:51:57 -07:00
|
|
|
}
|
2019-09-10 11:10:11 -07:00
|
|
|
|
|
|
|
//Detect if user is on a mobile browser and set a flag in store
|
|
|
|
this.$store.commit('detectIsUserOnMobile')
|
2019-07-19 13:51:57 -07:00
|
|
|
},
|
|
|
|
mounted: function(){
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
loggedIn () {
|
|
|
|
//Map logged in from state
|
|
|
|
return this.$store.getters.getLoggedIn
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
destroyLoginToken() {
|
|
|
|
this.$store.commit('destroyLoginToken')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|