feat: jump to next field

This commit is contained in:
Catalin Pit
2024-01-05 12:56:07 +02:00
parent 6be119ac95
commit fface15a22
2 changed files with 12 additions and 3 deletions

View File

@ -15,6 +15,7 @@ export type SignDialogProps = {
isSubmitting: boolean;
document: Document;
fields: Field[];
fieldsValidated: () => void | Promise<void>;
onSignatureComplete: () => void | Promise<void>;
};
@ -22,6 +23,7 @@ export const SignDialog = ({
isSubmitting,
document,
fields,
fieldsValidated,
onSignatureComplete,
}: SignDialogProps) => {
const [showDialog, setShowDialog] = useState(false);
@ -29,16 +31,17 @@ export const SignDialog = ({
const isComplete = fields.every((field) => field.inserted);
return (
<Dialog open={showDialog} onOpenChange={setShowDialog}>
<Dialog open={showDialog && isComplete} onOpenChange={isComplete ? setShowDialog : undefined}>
<DialogTrigger asChild>
<Button
className="w-full"
type="button"
size="lg"
disabled={!isComplete}
variant={isComplete ? 'default' : 'outline'}
onClick={fieldsValidated}
loading={isSubmitting}
>
Complete
{isComplete ? 'Complete' : 'Fill fields'}
</Button>
</DialogTrigger>
<DialogContent>