feat: connexion button in SiteFooterBottom
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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 };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user