geo/frontend/components/layout/header.tsx

30 lines
930 B
TypeScript

"use client";
import { useSession, signOut } from "next-auth/react";
import { Button } from "@/components/ui/button";
import { LogOut, User } from "lucide-react";
export function Header() {
const { data: session } = useSession();
return (
<header className="flex h-16 items-center justify-between border-b bg-white px-6 dark:bg-slate-950">
<h1 className="text-lg font-semibold">GEO Platform</h1>
<div className="flex items-center gap-4">
<div className="flex items-center gap-2 text-sm text-muted-foreground">
<User className="h-4 w-4" />
<span>{session?.user?.name || session?.user?.email || "用户"}</span>
</div>
<Button
variant="ghost"
size="sm"
onClick={() => signOut({ callbackUrl: "/login" })}
>
<LogOut className="mr-2 h-4 w-4" />
退
</Button>
</div>
</header>
);
}