import { useRouter } from 'vue-router'; import { useAuthStore } from '../stores/auth'; /** * Déconnexion centralisée. `auth.logout()` ferme la WebSocket ; la redirection vers /login * démonte l'AppShell, qui stoppe alors les abonnements temps réel (source unique). Corrige * l'incohérence où certaines vues ne stoppaient pas tous les flux au logout. */ export function useSession() { const auth = useAuthStore(); const router = useRouter(); async function logout(): Promise { await auth.logout(); await router.replace({ name: 'login' }); } return { logout }; }