feat: connexion button in SiteFooterBottom

This commit is contained in:
2026-03-26 14:45:32 -04:00
parent eb204c003f
commit 45ffe71dc6
2 changed files with 17 additions and 2 deletions

View File

@@ -1,9 +1,14 @@
<script setup lang="ts"></script> <script setup lang="ts">
const { connexionButton } = useAuthConnexion();
</script>
<template> <template>
<div class="bg-inverted py-1.5 text-inverted"> <div class="bg-inverted py-1.5 text-inverted">
<div class="container flex flex-col items-center gap-3 sm:flex-row"> <div class="container flex flex-col items-center gap-3 sm:flex-row">
<SiteFooterCopyright class="sm:mr-auto" /> <SiteFooterCopyright class="sm:mr-auto" />
<AuthState>
<UButton v-bind="connexionButton" color="neutral" variant="link"></UButton>
</AuthState>
<SiteFooterCredits /> <SiteFooterCredits />
</div> </div>
</div> </div>

View File

@@ -1,8 +1,10 @@
import { delay } from "es-toolkit/promise"; import { delay } from "es-toolkit/promise";
import type { ButtonProps } from "@nuxt/ui";
import type { FormSubmitEvent } from "@nuxt/ui"; import type { FormSubmitEvent } from "@nuxt/ui";
export function useAuthConnexion() { export function useAuthConnexion() {
const { isLoggedIn } = useAuth();
const toast = useToast(); const toast = useToast();
const defaultRedirect = (useRoute().query.redirect as string) || undefined; const defaultRedirect = (useRoute().query.redirect as string) || undefined;
@@ -76,5 +78,13 @@ export function useAuthConnexion() {
} }
} }
return { isRedirecting, login, logout }; // Computed property for the connexion button.
const connexionButton = computed<ButtonProps>(() => ({
to: "/connexion",
...(isLoggedIn.value
? { label: "Déconnexion", icon: "i-lucide-log-out" }
: { label: "Connexion", icon: "i-lucide-log-in" }),
}));
return { isRedirecting, login, logout, connexionButton };
} }