'use client';

import { startTransition, type FormEvent } from 'react';

// 이슈: `<form action={...}>`은 액션이 끝나면 성공·실패를 가리지 않고 폼을 리셋한다.
// 되돌릴 수 없는 파일 선택까지 지워지므로 액션을 직접 transition으로 부른다.
export function submitFormAction(
  event: FormEvent<HTMLFormElement>,
  formAction: (formData: FormData) => void
): void {
  event.preventDefault();
  const formData = new FormData(event.currentTarget);
  startTransition(() => formAction(formData));
}
