Files
amap/frontend/src/components/Navbar/index.tsx
Julien Aldon e970bb683a
All checks were successful
Deploy Amap / deploy (push) Successful in 1m52s
fix a bug that could prevent user to selet their payment methods
2026-03-06 11:59:02 +01:00

54 lines
1.9 KiB
TypeScript

import { NavLink } from "react-router";
import { t } from "@/config/i18n";
import "./index.css";
import { Group, Loader } from "@mantine/core";
import { Config } from "@/config/config";
import { useAuth } from "@/services/auth/AuthProvider";
import { useMediaQuery } from "@mantine/hooks";
import { IconHome, IconLogin, IconLogout, IconSettings } from "@tabler/icons-react";
export function Navbar() {
const { loggedUser: user, isLoading } = useAuth();
const isPhone = useMediaQuery("(max-width: 760px");
if (!user && isLoading) {
return (
<Group align="center" justify="center" h="80vh" w="100%">
<Loader color="pink" />
</Group>
);
}
return (
<nav>
<Group>
<NavLink className={"navLink"} aria-label={t("home")} to="/">
{isPhone ? <IconHome/> : t("home", { capfirst: true })}
</NavLink>
{user?.logged ? (
<NavLink className={"navLink"} aria-label={t("dashboard")} to="/dashboard/help">
{isPhone ? <IconSettings/> : t("dashboard", { capfirst: true })}
</NavLink>
) : null}
</Group>
{!user?.logged ? (
<a
href={`${Config.backend_uri}/auth/login`}
className={"navLink"}
aria-label={t("login with keycloak", { capfirst: true })}
>
{isPhone ? <IconLogin/> : t("login with keycloak", { capfirst: true })}
</a>
) : (
<a
href={`${Config.backend_uri}/auth/logout`}
className={"navLink"}
aria-label={t("logout", { capfirst: true })}
>
{isPhone ? <IconLogout/> : t("logout", { capfirst: true })}
</a>
)}
</nav>
);
}