this repo has no description
1import { getSession } from "@/lib/auth/session";
2import { Agent } from "@atproto/api";
3import Image from "next/image";
4import Link from "next/link";
5import { redirect } from "next/navigation";
6
7const Header = async () => {
8 const session = await getSession();
9
10 if (!session) {
11 redirect("/");
12 }
13
14 const agent = new Agent(session);
15
16 let profile;
17
18 try {
19 const response = await agent.getProfile({ actor: session.did });
20
21 profile = response.data;
22 } catch (error) {
23 console.error("Error loading profile:", error);
24 }
25
26 return (
27 <header className="bg-emerald-900 flex items-center justify-between p-4 rounded-2xl row-span-1">
28 <Link href="/">
29 <h1 className="text-amber-100 text-4xl">bambü</h1>
30 </Link>
31 <div className="h-16 relative w-16">
32 <Image
33 alt={`Profile picture for ${profile?.handle}`}
34 className="object-cover rounded-full"
35 fill
36 priority
37 src={profile?.avatar || ""}
38 />
39 </div>
40 </header>
41 );
42};
43
44export default Header;