import { useState } from "react"; import { FormActions } from "@/client/components/ui/form-actions"; import { Input } from "@/client/components/ui/input"; export interface InviteFormValues { email: string; days: number; } interface InviteFormProps { pending: boolean; error?: string | null; onDismissError?: () => void; onSubmit: (values: InviteFormValues) => Promise; onCancel: () => void; } export const InviteForm = ({ pending, error, onDismissError, onSubmit, onCancel }: InviteFormProps) => { const [email, setEmail] = useState(""); const [days, setDays] = useState(7); const trimmedEmail = email.trim(); const canSubmit = trimmedEmail.length > 0 && days >= 1 && days <= 90; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (pending || !canSubmit) return; await onSubmit({ email: trimmedEmail, days }); }; return (
setEmail(e.target.value)} /> setDays(Number(e.target.value))} /> ); };