- {nonFieldErrors.length > 0 && (
-
- {nonFieldErrors.map((message) => (
- {message}
- ))}
-
+ {/* Show loading overlay while fetching fields */}
+ {/* zIndex used to force overlay on top of modal header bar */}
+
+
+ {/* Attempt at making fixed footer with scroll area */}
+
+
+ {/* Form Fields */}
+
+ {(!isValid || nonFieldErrors.length > 0) && (
+
+ {nonFieldErrors.length > 0 && (
+
+ {nonFieldErrors.map((message) => (
+ {message}
+ ))}
+
+ )}
+
)}
-
- )}
- {props.preFormContent}
- {props.preFormSuccess && (
-
- {props.preFormSuccess}
-
- )}
- {props.preFormWarning && (
-
- {props.preFormWarning}
-
- )}
-
-
- {Object.entries(props.fields ?? {}).map(([fieldName, field]) => (
-
- ))}
+ {props.preFormContent}
+ {props.preFormSuccess && (
+
+ {props.preFormSuccess}
+
+ )}
+ {props.preFormWarning && (
+
+ {props.preFormWarning}
+
+ )}
+
+
+ {Object.entries(props.fields ?? {}).map(
+ ([fieldName, field]) => (
+
+ )
+ )}
+
+
+ {props.postFormContent}
-
- {props.postFormContent}
-
-
-
- {props.actions?.map((action, i) => (
+
+
+
+ {/* Footer with Action Buttons */}
+
+
+ {props.actions?.map((action, i) => (
+
+ ))}
- ))}
-
-
+
+