diff --git a/interface/app/$libraryId/Layout/Sidebar/FeedbackDialog.tsx b/interface/app/$libraryId/Layout/Sidebar/FeedbackDialog.tsx index fb4874c4b..615cf1886 100644 --- a/interface/app/$libraryId/Layout/Sidebar/FeedbackDialog.tsx +++ b/interface/app/$libraryId/Layout/Sidebar/FeedbackDialog.tsx @@ -44,6 +44,7 @@ export default function FeedbackDialog(props: UseDialogProps) { return ( { onClick={() => navigate(`settings/library/tags/${tagId}`)} /> - { - navigate(`settings/library/tags/${tagId}`); - dialogManager.create((dp) => ( - navigate(`settings/library/tags`)} - /> - )); - }} - icon={Trash} - label="Delete" - variant="danger" - /> + + { + dialogManager.create((dp) => ( + navigate(`settings/library/tags`)} + /> + )); + }} + icon={Trash} + label="Delete" + variant="danger" + /> + ); }; diff --git a/interface/app/$libraryId/settings/library/tags/CreateDialog.tsx b/interface/app/$libraryId/settings/library/tags/CreateDialog.tsx index 48e45cc32..99775bc46 100644 --- a/interface/app/$libraryId/settings/library/tags/CreateDialog.tsx +++ b/interface/app/$libraryId/settings/library/tags/CreateDialog.tsx @@ -38,6 +38,7 @@ export default (props: UseDialogProps & { objects?: Object[] }) => { return ( submitDisabled?: boolean; transformOrigin?: string; buttonsSideContent?: ReactNode; + invertButtonFocus?: boolean; //this reverses the focus order of submit/cancel buttons } export function Dialog({ @@ -131,6 +132,7 @@ export function Dialog({ dialog, onSubmit, onCancelled = true, + invertButtonFocus, ...props }: DialogProps) { const stateSnap = useSnapshot(dialog.state); @@ -148,6 +150,43 @@ export function Dialog({ const setOpen = (v: boolean) => (dialog.state.open = v); + const cancelButton = ( + + + + ); + + const closeButton = ( + + + + ); + + const submitButton = ( + + ); + return ( {props.trigger && {props.trigger}} @@ -171,7 +210,9 @@ export function Dialog({ e?.preventDefault(); await onSubmit?.(e); dialog.onSubmit?.(); - setOpen(false); + if (form.formState.isValid) { + setOpen(false); + } }} className="!pointer-events-auto my-8 min-w-[300px] max-w-[400px] rounded-md border border-app-line bg-app-box text-ink shadow-app-shade" > @@ -188,56 +229,36 @@ export function Dialog({ {props.children} -
+
{form.formState.isSubmitting && } {props.buttonsSideContent && (
{props.buttonsSideContent}
)}
- {onCancelled && ( - - - - )} - {props.cancelBtn && ( - - - - )} - + {invertButtonFocus ? ( + <> + {submitButton} + {props.cancelBtn && cancelButton} + {onCancelled && closeButton} + + ) : ( + <> + {onCancelled && closeButton} + {props.cancelBtn && cancelButton} + {submitButton} + + )} +