"use client" import { useRef } from "react" import { PageHeader } from "@/components/shared/page-header" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { Badge } from "@/components/ui/badge" import { useUser } from "@/providers/user-provider" import { Mail, Calendar, Shield, Activity, Camera } from "lucide-react" import { toast } from "sonner" export default function ProfilePage() { const { user, updateAvatar } = useUser() if (!user) return null const fileInputRef = useRef(null) const handleAvatarChange = (e: React.ChangeEvent) => { const file = e.target.files?.[0] if (!file) return const validTypes = ["image/png", "image/jpeg"] if (!validTypes.includes(file.type)) { toast.error("Only PNG and JPEG files are allowed") return } const url = URL.createObjectURL(file) updateAvatar(url) toast.success("Avatar updated") } return (
{user.name.split(" ").map((n) => n[0]).join("")}

{user.name}

{user.role}
{user.email}
Joined {new Date(user.createdAt).toLocaleDateString("en-US", { month: "long", year: "numeric" })}
{user.role} access
{user.active ? "Active" : "Inactive"}
Account Details
Full Name

{user.name}

Email

{user.email}

Role

{user.role}

Status

{user.active ? "Active" : "Inactive"}

Member Since

{new Date(user.createdAt).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" })}

User ID

{user.id}

) }