Disable button when no data selected

This commit is contained in:
2025-05-09 19:37:46 +02:00
parent f9cfdbd4a0
commit 4959cf1085

View File

@@ -38,6 +38,8 @@ export default function LoadFileForm({ profiles, servers, defaultProfile, defaul
return undefined; return undefined;
}, [formData.files]); }, [formData.files]);
const isValid = useMemo(() => selectedFile && formData.profile && formData.server, [formData, selectedFile]);
const handleSubmit = useCallback(async (e: React.FormEvent) => { const handleSubmit = useCallback(async (e: React.FormEvent) => {
e.preventDefault(); e.preventDefault();
@@ -46,7 +48,7 @@ export default function LoadFileForm({ profiles, servers, defaultProfile, defaul
} }
onSubmit?.(selectedFile, formData.profile, formData.server); onSubmit?.(selectedFile, formData.profile, formData.server);
}, [formData, formData, selectedFile, onSubmit]); }, [formData, selectedFile, onSubmit]);
return ( return (
<form onSubmit={handleSubmit}> <form onSubmit={handleSubmit}>
@@ -98,7 +100,7 @@ export default function LoadFileForm({ profiles, servers, defaultProfile, defaul
<button <button
type="submit" type="submit"
className={classNames("button", "is-link", "is-fullwidth", { 'is-loading': loading })} className={classNames("button", "is-link", "is-fullwidth", { 'is-loading': loading })}
disabled={loading}>Load transactions disabled={!isValid || loading}>Load transactions
</button> </button>
</div> </div>
</div> </div>