'use client'; import { useActionState } from 'react'; import { uploadAvatarAction } from '@/lib/account/upload-actions'; import { idle } from '@/lib/auth/state'; import { FormMessage, SubmitButton } from '@/components/account/form'; export function AvatarForm({ avatarUrl, initial }: { avatarUrl: string | null; initial: string }) { const [state, action] = useActionState(uploadAvatarAction, idle); const url = (state.data?.url as string | undefined) ?? avatarUrl; return (
{url ? ( // eslint-disable-next-line @next/next/no-img-element ) : ( {initial} )}
JPEG, PNG or WebP up to 2 MB. Square images look best.
Upload avatar ); }