<template>
    <div class="flex h-full items-center justify-center">
        <p class="text-neutral-500">{{ $t('auth.logout') }}...</p>
    </div>
</template>

<script setup lang="ts">
definePageMeta({ layout: 'auth' })

const auth = useAuthStore()
const { resetSidebar } = useSidebar()
const { resetModules } = useModules()
const { resetCurrentSite } = useCurrentSite()

onMounted(async () => {
    try {
        await auth.logout()
    } finally {
        // Les resets sont garantis meme si auth.logout() rejette : eviter
        // qu'un user suivant (connecte sur le meme onglet) voie l'etat de
        // l'ancien. Les trois fonctions reset sont synchrones et ne
        // peuvent pas throw (juste des assignations reactives).
        resetSidebar()
        resetModules()
        resetCurrentSite()
    }
    await navigateTo('/login')
})
</script>
