on 703ff86 help sign in
bridge/src/form/FormError.jsx
34 lines 866 B history raw
1import React from 'react';
2import { useFormState } from 'react-final-form';
3import { ErrorText } from 'indigo-react';
5import { WARNING } from './helpers';
7export default function FormError(props) {
8 const {
9 submitError,
10 submitErrors,
11 error: validationError,
12 dirtySinceLastSubmit,
13 } = useFormState({
14 subscription: {
15 submitError: true,
16 submitErrors: true,
17 error: true,
18 dirtySinceLastSubmit: true,
19 },
20 });
22 const showValidationError = !!validationError;
24 const showSubmitError = !!submitError && !dirtySinceLastSubmit;
26 const warning = submitErrors && submitErrors[WARNING];
27 const showWarning = !!warning && !dirtySinceLastSubmit;
29 return showSubmitError || showValidationError || showWarning ? (
30 <ErrorText {...props}>
31 {submitError || validationError || warning}
32 </ErrorText>
33 ) : null;