1 import React from 'react'
2 import { ErrorBanner, PageTitle, FormSection, SubmitIndicator } from 'features/shared/components'
3 import componentClassNames from 'utility/componentClassNames'
4 import disableAutocomplete from 'utility/disableAutocomplete'
6 import styles from './FormContainer.scss'
7 import Tutorial from 'features/tutorial/components/Tutorial'
8 import {withNamespaces} from 'react-i18next'
10 class FormContainer extends React.Component {
12 const t = this.props.t
14 <div className={componentClassNames(this, 'flex-container')}>
15 <PageTitle title={this.props.label} />
17 <div className={`${styles.main} flex-container`}>
18 <div className={styles.content}>
19 <form onSubmit={this.props.onSubmit} {...disableAutocomplete}>
22 <FormSection className={styles.submitSection}>
25 title={ t('form.errorTitle')}
26 error={this.props.error} />}
28 {this.props.success &&
30 title={t('form.successTitle')}
31 success={this.props.success} />}
33 <div className={styles.submit}>
34 <button type='submit' className='btn btn-primary' disabled={this.props.submitting || this.props.disabled}>
35 {this.props.submitLabel || (t('form.submit'))}
38 {this.props.showSubmitIndicator && this.props.submitting &&
45 <Tutorial types={['TutorialForm']} />
52 export default withNamespaces('translations') (FormContainer)