Version

User Agreement

A component that displays a user agreement dialog.

User Agreement Dialog

Example
<div id="demo"></div>
import React, {Component} from 'react';
import {render} from 'react-dom';
import UserAgreement from '@jetbrains/ring-ui/components/user-agreement/user-agreement';
import text from './toolbox.eula';

const onAccept = () => console.log('accept');

const onDecline = () => console.log('decline');

const onClose = () => console.log('close');

class Demo extends Component {
  render() {
    return (
      <div>
         <UserAgreement
           show
           text={text}
           onAccept={onAccept}
           onDecline={onDecline}
           onClose={onClose}
         />
      </div>
     );
   }
}

render(<Demo />, document.getElementById('demo'));

User Agreement Service

Example
import UserAgreementService from '@jetbrains/ring-ui/components/user-agreement/service';
import text from './toolbox.eula';

const fakeUserAgreement = {
  enabled: true,
  majorVersion: 1.0,
  text
};

const fakeUserConsent = {
  guest: true,
  accepted: false
}

const agreementService = new UserAgreementService({
  getUserAgreement: async () => console.log('getUserAgreement') || fakeUserAgreement,
  getUserConsent: async () => console.log('getUserConsent') || fakeUserConsent,
  setUserConsent: async () => console.log('User consent has been set'),
  onAccept: () => console.log('Agreement accepted'),
  onDecline: () => console.log('Agreement declined'),
  onDialogShow: () => console.log('Dialog shown'),
  onDialogHide: () => console.log('Dialog hidden'),
  interval: 10000
});

agreementService.startChecking();