add navbar logout

This commit is contained in:
Yisroel Baum 2026-05-24 20:19:31 +03:00
parent 6018764731
commit 356725ceeb
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9

View file

@ -1,13 +1,23 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue' import { onMounted, ref } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useAuthStore } from '@/stores/auth'
const router = useRouter() const router = useRouter()
const authStore = useAuthStore()
onMounted(() => {
void authStore.fetchUser()
})
function goToAbout(): void { function goToAbout(): void {
router.push('/about') router.push('/about')
} }
async function handleLogout(): Promise<void> {
await authStore.logout()
}
const navItems = [ const navItems = [
{ label: 'Torah Media', href: '/media', icon: '▶' }, { label: 'Torah Media', href: '/media', icon: '▶' },
{ label: 'About', href: '/about', icon: 'ⓘ' }, { label: 'About', href: '/about', icon: 'ⓘ' },
@ -143,6 +153,15 @@ const projects: Project[] = [
</span> </span>
<span>{{ item.label }}</span> <span>{{ item.label }}</span>
</a> </a>
<button
v-if="authStore.isAuthenticated"
data-cy="navbar-logout"
type="button"
class="site-header__nav-link"
@click="handleLogout"
>
Logout
</button>
</nav> </nav>
</header> </header>