import React from 'react'
import PropTypes from 'prop-types'
import Alert from 'react-uikit/alert'
import AuthorizeRequestForm from 'containers/forms/authorize-request-form'

const AuthorizeRequestTemplate = ({
    header,
    isShowing,
    submitText,
    onDismiss,
    onSubmit,
}) => {
    return (
        <Alert header={header} isShowing={isShowing} onDismiss={onDismiss}>
            {Boolean(header) && <Alert.Header />}

            <AuthorizeRequestForm
                submitButton={({submit}) => (
                    <Alert.Button
                        dismissOnClick={false}
                        variant="primary"
                        size="small"
                        text={submitText}
                        onClick={submit}
                    />
                )}
                unregisterOnExit
                onSubmit={onSubmit}
            />
        </Alert>
    )
}

AuthorizeRequestTemplate.propTypes = {
    header: PropTypes.string,
    isShowing: PropTypes.bool,
    submitText: PropTypes.string,
    onDismiss: PropTypes.func,
    onSubmit: PropTypes.func,
}

AuthorizeRequestTemplate.defaultProps = {
    submitText: 'Authorize',
}

export default AuthorizeRequestTemplate
