[offers][fix] Disable button on submit

pull/461/head
Ai Ling 3 years ago
parent 953d3ea519
commit 99f6b482fc

@ -118,14 +118,15 @@ export default function OfferAnalysis({
]; ];
return ( return (
analysis && ( <>
{isLoading && <Spinner className="m-10" display="block" size="lg" />}
{analysis && (
<div> <div>
{isError && ( {isError && (
<p className="m-10 text-center"> <p className="m-10 text-center">
An error occurred while generating profile analysis. An error occurred while generating profile analysis.
</p> </p>
)} )}
{isLoading && <Spinner className="m-10" display="block" size="lg" />}
{!isError && !isLoading && ( {!isError && !isLoading && (
<div> <div>
<Tabs <Tabs
@ -143,6 +144,7 @@ export default function OfferAnalysis({
</div> </div>
)} )}
</div> </div>
) )}
</>
); );
} }

@ -110,7 +110,11 @@ export default function OffersSubmissionForm({
defaultValues: initialOfferProfileValues, defaultValues: initialOfferProfileValues,
mode: 'all', mode: 'all',
}); });
const { handleSubmit, trigger } = formMethods; const {
handleSubmit,
trigger,
formState: { isSubmitting, isSubmitSuccessful },
} = formMethods;
const generateAnalysisMutation = trpc.useMutation( const generateAnalysisMutation = trpc.useMutation(
['offers.analysis.generate'], ['offers.analysis.generate'],
@ -178,7 +182,7 @@ export default function OffersSubmissionForm({
const onSubmit: SubmitHandler<OffersProfileFormData> = async (data) => { const onSubmit: SubmitHandler<OffersProfileFormData> = async (data) => {
const result = await trigger(); const result = await trigger();
if (!result) { if (!result || isSubmitting || isSubmitSuccessful) {
return; return;
} }
@ -286,7 +290,13 @@ export default function OffersSubmissionForm({
variant="secondary" variant="secondary"
onClick={() => setStep(step - 1)} onClick={() => setStep(step - 1)}
/> />
<Button label="Submit" type="submit" variant="primary" />{' '} <Button
disabled={isSubmitting || isSubmitSuccessful}
isLoading={isSubmitting || isSubmitSuccessful}
label="Submit"
type="submit"
variant="primary"
/>
</div> </div>
)} )}
</form> </form>

Loading…
Cancel
Save