render()

in src/user-agreement/user-agreement.tsx [55:111]


  render() {
    const {scrolledDown} = this.state;
    const {translations, onAccept, onDecline, onClose, onRemindLater, children, show, preview, className} = this.props;

    return (
      <I18nContext.Consumer>
        {/* eslint-disable-next-line complexity */}
        {({translate}) => (
          <Dialog
            label={translations?.userAgreement ?? translate('userAgreement')}
            show={show}
            className={classNames(style.agreementDialog, className)}
            contentClassName={style.dialogContent}
            trapFocus
            autoFocusFirst={false}
            data-test='user-agreement'
          >
            <Header>{translations?.userAgreement ?? translate('userAgreement')}</Header>
            <Content tabIndex={0} fade onScrollToBottom={this.onScrollToBottom}>
              {children}
            </Content>
            {!preview && (
              <Panel>
                {onRemindLater && !scrolledDown && (
                  <div className={style.suggestion}>{translations?.scrollToAccept ?? translate('scrollToAccept')}</div>
                )}
                <Button primary disabled={!scrolledDown} onClick={onAccept} data-test='accept'>
                  {translations?.accept ?? translate('accept')}
                </Button>
                <Button onClick={onDecline} autoFocus data-test='decline'>
                  {translations?.decline ?? translate('decline')}
                </Button>

                {!onRemindLater && !scrolledDown && (
                  <span className={style.suggestion}>
                    {translations?.scrollToAccept ?? translate('scrollToAccept')}
                  </span>
                )}
                {onRemindLater && (
                  <Button className={style.remindLaterButton} onClick={onRemindLater} data-test='later'>
                    {translations?.remindLater ?? translate('remindLater')}
                  </Button>
                )}
              </Panel>
            )}
            {preview && (
              <Panel>
                <Button onClick={onClose} autoFocus data-test='close'>
                  {translations?.close ?? translate('close')}
                </Button>
              </Panel>
            )}
          </Dialog>
        )}
      </I18nContext.Consumer>
    );
  }