| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | // @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<Props, *> {
    /**
     * 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 (
            <Text style = { _dialogStyles.text }>
                { content }
            </Text>
        );
    }
    _renderHTML: string => Object | string
}
export default translate(connect(_abstractMapStateToProps)(AlertDialog));
 |