add login / logout logic for user

This commit is contained in:
Julien Aldon
2026-02-17 17:31:29 +01:00
parent a8c8c489da
commit aca24ca560
14 changed files with 258 additions and 108 deletions

View File

@@ -1,13 +1,13 @@
import { NavLink } from "react-router";
import { t } from "@/config/i18n";
import "./index.css";
import { Button, Group, Loader } from "@mantine/core";
import { Group, Loader } from "@mantine/core";
import { Config } from "@/config/config";
import { useCurrentUser, useLogoutUser } from "@/services/api";
import { useAuth } from "@/services/auth/AuthProvider";
export function Navbar() {
const { data: user, isLoading } = useCurrentUser();
const logout = useLogoutUser();
const { loggedUser: user, isLoading } = useAuth();
if (!user && isLoading) {
return (
<Group align="center" justify="center" h="80vh" w="100%">
@@ -37,15 +37,14 @@ export function Navbar() {
{t("login with keycloak", { capfirst: true })}
</NavLink>
) : (
<Button
<a
href={`${Config.backend_uri}/auth/logout`}
className={"navLink"}
aria-label={t("logout", { capfirst: true })}
onClick={() => {
logout.mutate();
}}
>
{t("logout", { capfirst: true })}
</Button>
</a>
)}
</nav>
);