this repo has no description
at main 44 lines 983 B view raw
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;