Fixed login/logout glitches

This commit is contained in:
Fabio Manganiello 2025-03-25 18:02:56 +01:00
parent c80a953890
commit 6e692ecb62
Signed by: blacklight
GPG key ID: D90FBA7F76362774
2 changed files with 16 additions and 7 deletions
frontend/src

View file

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<Header :user="user" />
<Login v-if="!user && !loading" />
<div class="app-container" v-else>
<Header :user="user" @logout="doLogout" v-if="user" />
<div class="body">
<div class="loading-container" v-if="loading">
@ -24,6 +25,7 @@ import Api from './mixins/Api.vue';
import Dropdowns from './mixins/Dropdowns.vue';
import Header from './components/Header.vue';
import Loading from './elements/Loading.vue';
import Login from './views/Login.vue';
import Messages from './components/Messages.vue'
import User from './models/User';
@ -35,6 +37,7 @@ export default {
components: {
Header,
Loading,
Login,
Messages,
RouterLink,
RouterView,
@ -47,6 +50,13 @@ export default {
}
},
methods: {
async doLogout() {
await this.logout()
this.user = null
},
},
async mounted() {
this.loading = true
this.installDropdownHandler()

View file

@ -32,11 +32,9 @@
</RouterLink>
</DropdownItem>
<DropdownItem>
<RouterLink to="/logout">
<font-awesome-icon icon="sign-out-alt" />&nbsp;&nbsp;
<span class="item-text">Logout</span>
</RouterLink>
<DropdownItem @click="$emit('logout')">
<font-awesome-icon icon="sign-out-alt" />&nbsp;&nbsp;
<span class="item-text">Logout</span>
</DropdownItem>
</Dropdown>
</li>
@ -54,6 +52,7 @@ import DropdownItem from '../elements/DropdownItem.vue';
import User from '../models/User';
export default {
emits: ['logout'],
components: {
Dropdown,
DropdownItem,