'use client' import { useState } from 'react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card' import { updateProfile, changePassword } from '@/app/actions/profile' import { toast } from 'sonner' export function ProfileForm({ user }: { user: any }) { return (
Profile Information Update your display name and other public information.
{ const result = await updateProfile({ name: formData.get('name') as string }) if (result?.error) { toast.error('Failed to update profile') } else { toast.success('Profile updated') } }}>
Change Password Update your password. You will need your current password.
{ const result = await changePassword(formData) if (result?.error) { const msg = '_form' in result.error ? result.error._form[0] : result.error.currentPassword?.[0] || result.error.newPassword?.[0] || result.error.confirmPassword?.[0] || 'Failed to change password' toast.error(msg) } else { toast.success('Password changed successfully') // Reset form manually or redirect const form = document.querySelector('form#password-form') as HTMLFormElement form?.reset() } }} id="password-form">
) }