added docs ref to header

This commit is contained in:
rngsurrounded
2025-03-04 00:35:38 +09:00
parent 81f888e654
commit 7a85ca276f
@@ -1,5 +1,5 @@
import { DataRush } from "@/components/ui/icons/datarush"; import { DataRush } from "@/components/ui/icons/datarush";
import { ChevronDown } from "lucide-react"; import { ChevronDown, FileText } from "lucide-react";
import { Link, useNavigate } from "react-router"; import { Link, useNavigate } from "react-router";
import { useUserStore } from "@/shared/stores/user"; import { useUserStore } from "@/shared/stores/user";
import { import {
@@ -14,6 +14,13 @@ import { removeToken } from "@/shared/token";
export const Header = () => { export const Header = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const user = useUserStore((state) => state.user); const user = useUserStore((state) => state.user);
const clearUser = useUserStore((state) => state.clearUser);
const handleLogout = () => {
removeToken();
clearUser();
navigate("/login");
};
return ( return (
<header className="bg-card sticky top-0 z-30 flex h-[72px] w-full items-center justify-center px-4 sm:px-6"> <header className="bg-card sticky top-0 z-30 flex h-[72px] w-full items-center justify-center px-4 sm:px-6">
@@ -21,33 +28,40 @@ export const Header = () => {
<Link to="/"> <Link to="/">
<DataRush /> <DataRush />
</Link> </Link>
<DropdownMenu>
<DropdownMenuTrigger asChild> <div className="flex items-center gap-4">
<button className="flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-left transition-opacity hover:opacity-80"> <Link
<span className="font-hse-sans text-lg font-semibold"> to="/docs"
{user?.username} className="text-sm font-medium text-gray-700 hover:text-gray-900 transition-colors flex items-center gap-1"
</span> >
<ChevronDown size={20} /> <FileText className="h-4 w-4" />
</button> Обучающие материалы
</DropdownMenuTrigger> </Link>
<DropdownMenuContent>
<Link to="/profile"> <DropdownMenu>
<DropdownMenuItem>Аккаунт</DropdownMenuItem> <DropdownMenuTrigger asChild>
</Link> <button className="flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-left transition-opacity hover:opacity-80">
<DropdownMenuSeparator /> <span className="font-hse-sans text-lg font-semibold">
{user?.username}
<DropdownMenuItem </span>
variant="destructive" <ChevronDown size={20} />
onClick={() => { </button>
removeToken(); </DropdownMenuTrigger>
navigate("/login"); <DropdownMenuContent>
}} <Link to="/profile">
> <DropdownMenuItem>Аккаунт</DropdownMenuItem>
Выйти </Link>
</DropdownMenuItem> <DropdownMenuSeparator />
</DropdownMenuContent> <DropdownMenuItem
</DropdownMenu> variant="destructive"
onClick={handleLogout}
>
Выйти
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</div>
</div> </div>
</header> </header>
); );
}; };