diff --git a/.gitignore b/.gitignore index 7c0007dc9..fbeb12d8c 100644 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,7 @@ plugins/* !plugins/talk-plugin-viewing-options !plugins/talk-plugin-rich-text !plugins/talk-plugin-rich-text-pell +!plugins/talk-plugin-health-report **/node_modules/* yarn-error.log diff --git a/plugins/talk-plugin-auth/client/login/components/SignUp.js b/plugins/talk-plugin-auth/client/login/components/SignUp.js index 930d41819..a66e46dee 100644 --- a/plugins/talk-plugin-auth/client/login/components/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/components/SignUp.js @@ -122,6 +122,7 @@ class SignUp extends React.Component { id="coralSignUpButton" className={styles.button} full + disabled={!this.props.submitSignUpForm} > {t('talk-plugin-auth.login.sign_up')} @@ -175,6 +176,7 @@ SignUp.propTypes = { success: PropTypes.bool.isRequired, enableSubmitSignUpForm: PropTypes.func.isRequired, disableSubmitSignUpForm: PropTypes.func.isRequired, + submitSignUpForm: PropTypes.bool.isRequired, }; export default SignUp; diff --git a/plugins/talk-plugin-health-report/client/.eslintrc.json b/plugins/talk-plugin-health-report/client/.eslintrc.json new file mode 100644 index 000000000..9fe56bd14 --- /dev/null +++ b/plugins/talk-plugin-health-report/client/.eslintrc.json @@ -0,0 +1,23 @@ +{ + "env": { + "browser": true, + "es6": true, + "mocha": true + }, + "parserOptions": { + "sourceType": "module", + "ecmaFeatures": { + "experimentalObjectRestSpread": true, + "jsx": true + } + }, + "parser": "babel-eslint", + "plugins": [ + "react" + ], + "rules": { + "react/jsx-uses-react": "error", + "react/jsx-uses-vars": "error", + "no-console": ["warn", { "allow": ["warn", "error"] }] + } +} diff --git a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js new file mode 100644 index 000000000..79d079d7f --- /dev/null +++ b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js @@ -0,0 +1,45 @@ +import React from 'react'; +import { Checkbox } from 'plugin-api/beta/client/components/ui'; +import { t } from 'plugin-api/beta/client/services'; + +const TermsLink = () => ( + + {t('talk-plugin-health-report.terms')} + +); + +class TermsAndConditionsField extends React.Component { + state = { checked: false }; + id = 'terms-and-conditions'; + + componentWillMount() { + this.props.disableSubmitSignUpForm(); + } + + onChange = ({ target: { checked } }) => { + if (checked) { + this.setState(() => ({ checked })); + this.props.enableSubmitSignUpForm(); + } else { + this.setState(() => ({ checked })); + this.props.disableSubmitSignUpForm(); + } + }; + + render() { + return ( +