sendou.ink/app/components/layout/UserItem.tsx
Kalle 34ca290bdd
Redesign (#1179)
* Remove light mode

* Trim header

* New front page initial

* Get rid of build layout

* Breadcrumbs

* Desktop side nav

* Overhaul colors

* Add breadcrumbs

* New sub nav style

* Front page action buttons

* Add back add new build button

* Add articles page with icon

* Minor Object damage page layout tweaks

* Remove one unnecessary render from object damage

* Fix wrong link in article page

* Profile -> My Page in header

* Log in/out buttons in front

* Add drawings to front page

* Remove unnecessary comment
2022-12-05 16:05:51 +02:00

66 lines
1.7 KiB
TypeScript

import { Link } from "@remix-run/react";
import { useTranslation } from "~/hooks/useTranslation";
import { useUser } from "~/modules/auth";
import { LOG_OUT_URL, userPage } from "~/utils/urls";
import { Avatar } from "../Avatar";
import { Button } from "../Button";
import { LogInIcon } from "../icons/LogIn";
import { LogOutIcon } from "../icons/LogOut";
import { UserIcon } from "../icons/User";
import { Popover } from "../Popover";
import { LogInButtonContainer } from "./LogInButtonContainer";
export function UserItem() {
const { t } = useTranslation();
const user = useUser();
if (user) {
return (
<Popover
buttonChildren={
<Avatar
user={user}
alt={t("header.loggedInAs", {
userName: `${user.discordName}`,
})}
className="layout__avatar"
size="sm"
/>
}
>
<div className="layout__user-popover">
<Link to={userPage(user)}>
<Button
className="w-full"
tiny
variant="outlined"
icon={<UserIcon />}
>
{t("pages.myPage")}
</Button>
</Link>
<form method="post" action={LOG_OUT_URL}>
<Button
tiny
variant="outlined"
icon={<LogOutIcon />}
type="submit"
className="w-full"
>
{t("header.logout")}
</Button>
</form>
</div>
</Popover>
);
}
return (
<LogInButtonContainer>
<button type="submit" className="layout__log-in-button">
<LogInIcon /> {t("header.login")}
</button>
</LogInButtonContainer>
);
}