Indicated that you are logged by coloring the icon in orange and disconnect if clicked on it
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 2m2s
Build and test backend / Test-backend (pull_request) Successful in 1m57s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 24s

This commit is contained in:
Debucquoy Anthony 2024-03-16 13:56:29 +01:00
parent 847936b799
commit 04f64f505e
Signed by: tonitch
GPG Key ID: A78D6421F083D42E
3 changed files with 20 additions and 4 deletions

View File

@ -2,6 +2,7 @@
import { toast } from 'vue3-toastify'; import { toast } from 'vue3-toastify';
import { ref, computed } from 'vue' import { ref, computed } from 'vue'
import i18n, { setLang } from './i18n.js' import i18n, { setLang } from './i18n.js'
import { isLogged } from '@/rest/Users.js'
// Liste des apps // Liste des apps
@ -19,6 +20,7 @@
const currentPath = ref(window.location.hash) const currentPath = ref(window.location.hash)
window.addEventListener('hashchange', () => { window.addEventListener('hashchange', () => {
Logged.value = isLogged();
currentPath.value = window.location.hash currentPath.value = window.location.hash
}) })
@ -32,6 +34,8 @@
const login=ref(i18n("app.login")) const login=ref(i18n("app.login"))
const active=ref(false) const active=ref(false)
const Logged = ref(isLogged());
</script> </script>
<template> <template>
@ -49,7 +53,7 @@
</a></li> </a></li>
<li style="float: right;" title=login> <li style="float: right;" title=login>
<a class="icon" href="#/login"> <a class="icon" href="#/login">
<div class="fa-solid fa-user" style="margin-top: 7px; margin-bottom: 3px;"></div> <div class="fa-solid fa-user" :style="Logged ? 'color: orange' : 'haha'" style="margin-top: 7px; margin-bottom: 3px; "></div>
</a></li> </a></li>
<li style="float: right;" title=notifications> <li style="float: right;" title=notifications>
<a class="icon" href="#Notifications"> <a class="icon" href="#Notifications">

View File

@ -1,7 +1,7 @@
<script setup> <script setup>
import { ref } from 'vue' import { ref } from 'vue'
import i18n from '@/i18n.js' import i18n from '@/i18n.js'
import { login , register } from '@/rest/Users.js' import { login , register, disconnect } from '@/rest/Users.js'
import { uploadProfilePicture } from '@/rest/uploads.js' import { uploadProfilePicture } from '@/rest/uploads.js'
const loginPage= ref(true) const loginPage= ref(true)
@ -20,6 +20,9 @@
const imageSaved = ref(false) const imageSaved = ref(false)
const ppData = ref(false) const ppData = ref(false)
disconnect()
</script> </script>

View File

@ -1,9 +1,18 @@
import { restGet, restPost } from './restConsumer.js' import { restGet, restPost } from './restConsumer.js'
import { getCookie, setCookie } from '@/utils.js'
export async function login(user, pass, exp){ export async function login(user, pass, exp){
return restPost("/login", {identifier: user, password: pass, expirationDate: exp}); return restPost("/login", {identifier: user, password: pass, expirationDate: exp});
} }
export function isLogged(){
return getCookie("session_token") != ""
}
export function disconnect(){
setCookie("session_token", ";expires= Thu, 01 Jan 1970 00:00:01 GMT")
}
/** /**
* Register a user (tokenless) * Register a user (tokenless)
* *