// @flow import React from 'react'; import { Text } from 'react-native'; import { translate } from '../../../i18n'; import { connect } from '../../../redux'; import { _abstractMapStateToProps } from '../../functions'; import { type Props as AbstractProps } from './BaseDialog'; import BaseSubmitDialog from './BaseSubmitDialog'; type Props = AbstractProps & { /** * Untranslated i18n key of the content to be displayed. * * NOTE: This dialog also adds support to Object type keys that will be * translated using the provided params. See i18n function * {@code translate(string, Object)} for more details. */ contentKey: string | { key: string, params: Object}, }; /** * Implements an alert dialog, to simply show an error or a message, then disappear on dismiss. */ class AlertDialog extends BaseSubmitDialog { /** * Implements {@code BaseSubmitDialog._renderSubmittable}. * * @inheritdoc */ _renderSubmittable() { const { _dialogStyles, contentKey, t } = this.props; const content = typeof contentKey === 'string' ? t(contentKey) : this._renderHTML(t(contentKey.key, contentKey.params)); return ( { content } ); } _renderHTML: string => Object | string } export default translate(connect(_abstractMapStateToProps)(AlertDialog));