"use client"; import { useRouter } from "next/navigation"; import { useAuth } from "@/hooks/useAuth"; import { Avatar, AvatarFallback } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Separator } from "@/components/ui/separator"; const ROLE_COLORS: Record = { admin: "bg-red-100 text-red-700", organizer: "bg-violet-100 text-violet-700", member: "bg-green-100 text-green-700", }; export default function ProfilePage() { const router = useRouter(); const user = useAuth((s) => s.user); const logout = useAuth((s) => s.logout); if (!user) return null; const initials = user.full_name.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2); const joinedDate = new Date(user.created_at).toLocaleDateString("en-GB", { month: "long", year: "numeric" }); async function handleLogout() { await logout(); router.push("/login"); } return (
{initials}

{user.full_name}

{user.email}

{user.role}
{user.phone && (
Phone {user.phone}
)} {user.organization_name && (
Organization {user.organization_name}
)} {user.instagram_handle && (
Instagram {user.instagram_handle}
)}
Member since {joinedDate}
); }