From 5a3a84a1bbbcf69e31f17c9da48dcb209dca1150 Mon Sep 17 00:00:00 2001 From: ameer2468 <33054370+ameer2468@users.noreply.github.com> Date: Fri, 22 Sep 2023 01:22:21 +0300 Subject: [PATCH] Adding location: Error message bypass submit button being disabled (#1367) Form location error message submit fix --- .../settings/library/locations/AddLocationDialog.tsx | 1 + packages/ui/src/Dialog.tsx | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/interface/app/$libraryId/settings/library/locations/AddLocationDialog.tsx b/interface/app/$libraryId/settings/library/locations/AddLocationDialog.tsx index 73f1abdc3..9ffbf45f8 100644 --- a/interface/app/$libraryId/settings/library/locations/AddLocationDialog.tsx +++ b/interface/app/$libraryId/settings/library/locations/AddLocationDialog.tsx @@ -197,6 +197,7 @@ export const AddLocationDialog = ({ dialog={useDialog(dialogProps)} onSubmit={onSubmit} ctaLabel="Add" + errorMessageException="Location is already linked" description={ platform.platform === 'web' ? 'As you are using the browser version of Spacedrive you will (for now) ' + diff --git a/packages/ui/src/Dialog.tsx b/packages/ui/src/Dialog.tsx index 44aca69ae..a54d07eb8 100644 --- a/packages/ui/src/Dialog.tsx +++ b/packages/ui/src/Dialog.tsx @@ -126,6 +126,7 @@ export interface DialogProps transformOrigin?: string; buttonsSideContent?: ReactNode; invertButtonFocus?: boolean; //this reverses the focus order of submit/cancel buttons + errorMessageException?: string; //this is to bypass a specific form error message if it starts with a specific string } export function Dialog({ @@ -181,7 +182,13 @@ export function Dialog({ type="submit" size="sm" disabled={ - form.formState.isSubmitting || props.submitDisabled || !form.formState.isValid + form.formState.isSubmitting || + props.submitDisabled || + (!form.formState.isValid || props.errorMessageException + ? !form.formState.errors.root?.serverError?.message?.startsWith( + props.errorMessageException as string + ) + : false) } variant={props.ctaDanger ? 'colored' : 'accent'} className={clsx(