[offers][fix] Disable button on submit

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

@ -118,31 +118,33 @@ export default function OfferAnalysis({
];
return (
analysis && (
<div>
{isError && (
<p className="m-10 text-center">
An error occurred while generating profile analysis.
</p>
)}
{isLoading && <Spinner className="m-10" display="block" size="lg" />}
{!isError && !isLoading && (
<div>
<Tabs
label="Result Navigation"
tabs={tabOptions}
value={tab}
onChange={setTab}
/>
<HorizontalDivider className="mb-5" />
<OfferAnalysisContent
analysis={analysis}
isSubmission={isSubmission}
tab={tab}
/>
</div>
)}
</div>
)
<>
{isLoading && <Spinner className="m-10" display="block" size="lg" />}
{analysis && (
<div>
{isError && (
<p className="m-10 text-center">
An error occurred while generating profile analysis.
</p>
)}
{!isError && !isLoading && (
<div>
<Tabs
label="Result Navigation"
tabs={tabOptions}
value={tab}
onChange={setTab}
/>
<HorizontalDivider className="mb-5" />
<OfferAnalysisContent
analysis={analysis}
isSubmission={isSubmission}
tab={tab}
/>
</div>
)}
</div>
)}
</>
);
}

@ -110,7 +110,11 @@ export default function OffersSubmissionForm({
defaultValues: initialOfferProfileValues,
mode: 'all',
});
const { handleSubmit, trigger } = formMethods;
const {
handleSubmit,
trigger,
formState: { isSubmitting, isSubmitSuccessful },
} = formMethods;
const generateAnalysisMutation = trpc.useMutation(
['offers.analysis.generate'],
@ -178,7 +182,7 @@ export default function OffersSubmissionForm({
const onSubmit: SubmitHandler<OffersProfileFormData> = async (data) => {
const result = await trigger();
if (!result) {
if (!result || isSubmitting || isSubmitSuccessful) {
return;
}
@ -286,7 +290,13 @@ export default function OffersSubmissionForm({
variant="secondary"
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>
)}
</form>

Loading…
Cancel
Save