import { LogOut, X } from "lucide-react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router"; import { SendouDialog } from "~/components/elements/Dialog"; import { navItems } from "~/components/layout/nav-items"; import { useUser } from "~/features/auth/core/user"; import { LOG_OUT_URL, navIconUrl, userPage } from "~/utils/urls"; import { Avatar } from "../Avatar"; import { SendouButton } from "../elements/Button"; import { Image } from "../Image"; import { LogInButtonContainer } from "./LogInButtonContainer"; import styles from "./NavDialog.module.css"; export function NavDialog({ isOpen, close, }: { isOpen: boolean; close: () => void; }) { const user = useUser(); const { t } = useTranslation(["common"]); if (!isOpen) { return null; } return ( } variant="minimal-destructive" className={styles.closeButton} onPress={close} aria-label="Close navigation dialog" />
{navItems.map((item) => (
{t(`common:pages.${item.name}` as any)}
))}
{user ? (
} type="submit" > {t("common:header.logout")}
) : null}
); } function LogInButton({ close }: { close: () => void }) { const { t } = useTranslation(["common"]); const user = useUser(); if (user) { return (
{t("common:pages.myPage")} ); } return (
{t("common:header.login.discord")}
); }