"use client"; import { useEffect, useState } from "react"; import { useUser } from "@clerk/nextjs"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; interface UserProfile { firstName: string; lastName: string; email: string; phoneNumber: string; } export default function ProfilePage() { const { user, isLoaded } = useUser(); const [profile, setProfile] = useState({ firstName: "", lastName: "", email: "", phoneNumber: "", }); const [isEditing, setIsEditing] = useState(false); useEffect(() => { if (isLoaded && user) { setProfile({ firstName: user.firstName || "", lastName: user.lastName || "", email: user.emailAddresses[0]?.emailAddress || "", phoneNumber: user.phoneNumbers[0]?.phoneNumber || "", }); } }, [isLoaded, user]); const handleSave = async () => { try { await user?.update({ firstName: profile.firstName, lastName: profile.lastName, }); setIsEditing(false); } catch (error) { console.error("Error updating profile:", error); } }; if (!isLoaded) { return
Loading...
; } return (

Profile

) => setProfile({ ...profile, firstName: e.target.value }) } disabled={!isEditing} />
) => setProfile({ ...profile, lastName: e.target.value }) } disabled={!isEditing} />
{isEditing && (
)}
); }