Vercel/src/components/FormWithConfirm.tsx
2024-06-17 00:13:20 -05:00

35 lines
616 B
TypeScript

'use client';
import { ReactNode } from 'react';
export default function FormWithConfirm({
action,
confirmText,
onSubmit,
className,
children,
}: {
action: (formData: FormData) => void
confirmText?: string
onSubmit?: () => void
className?: string
children: ReactNode
}) {
return (
<form
action={action}
onSubmit={e => {
if (!confirmText || confirm(confirmText)) {
e.currentTarget.requestSubmit();
onSubmit?.();
} else {
e.preventDefault();
}
}}
className={className}
>
{children}
</form>
);
};