- Added login check for navbar actions

This commit is contained in:
Alexis
2020-07-06 18:24:54 +02:00
parent 78587f8544
commit 27ab62e36f
6 changed files with 19 additions and 11 deletions

View File

@@ -10,10 +10,13 @@
<router-link :to="link.url" class="nav-link">{{ link.text }}</router-link> <router-link :to="link.url" class="nav-link">{{ link.text }}</router-link>
</li> </li>
</ul> </ul>
<div class="navbar-nav"> <div class="navbar-nav" v-if="user">
<router-link :to="'/profil'" class="nav-link">Profil</router-link> <router-link :to="'/profil'" class="nav-link">Profil</router-link>
<router-link :to="'/deconnexion'" class="nav-link">Deconnexion</router-link>
</div>
<div class="navbar-nav" v-else>
<router-link :to="'/inscription'" class="nav-link">S'inscrire</router-link> <router-link :to="'/inscription'" class="nav-link">S'inscrire</router-link>
<router-link :to="'/connexion'" class="nav-link">Se connecter</router-link> <router-link :to="'/connexion'" class="nav-link">Connexion</router-link>
</div> </div>
</div> </div>
</nav> </nav>
@@ -24,6 +27,7 @@
name: 'navbar', name: 'navbar',
data() { data() {
return { return {
user: this.$cookies.get("U_"),
links: [ links: [
{ {
text: 'Sortilèges', text: 'Sortilèges',

View File

@@ -14,6 +14,7 @@ require('dotenv').config()
// Cookies // Cookies
import VueCookies from 'vue-cookies' import VueCookies from 'vue-cookies'
Vue.use(VueCookies) Vue.use(VueCookies)
Vue.$cookies.config('30d','','')
// Jquery // Jquery
import jquery from 'jquery' import jquery from 'jquery'

View File

@@ -52,8 +52,7 @@ export default {
"password": this.password "password": this.password
}) })
.then(v => { .then(v => {
let user = v.data this.$cookies.set("U_", v.data.user, 60 * 60 * 24 * 30)
this.$cookies.set("loggedUser", user, 60 * 60 * 24 * 30)
}) })
.catch(err => { .catch(err => {
console.log(err) console.log(err)

View File

@@ -1,14 +1,17 @@
<template> <template>
<div class="container-fluid"> <div class="container-fluid p-4" id="spell-container">
<section class="fullpage"> <h1 class="display-3 font-display mb-3">{{ user.name }}</h1>
<div class="title font-display mb-3">Profil</div>
</section>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'profile-page', name: 'profile-page',
data() {
return {
user: this.$cookies.get("U_"),
}
}
} }
</script> </script>

View File

@@ -69,10 +69,10 @@ const router = new VueRouter({
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.authGuard)) { if (to.matched.some(record => record.meta.authGuard)) {
if (Vue.$cookies.get('loggedUser') == null) { if (Vue.$cookies.get('U_') == null) {
next({ next({
path: '/connexion', path: '/connexion',
params: { nextUrl: to.fullPath } params: { nextUrl: to.fullPath },
}) })
} else { } else {
next() next()

View File

@@ -4,7 +4,8 @@
"description": "API for Auracle database", "description": "API for Auracle database",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"test": "start" "api": "node index.js",
"client": "cd client && npm run serve"
}, },
"repository": { "repository": {
"type": "git", "type": "git",