diff --git a/.gitignore b/.gitignore index fbeb12d8c..5bf0d6527 100644 --- a/.gitignore +++ b/.gitignore @@ -63,7 +63,7 @@ plugins/* !plugins/talk-plugin-viewing-options !plugins/talk-plugin-rich-text !plugins/talk-plugin-rich-text-pell -!plugins/talk-plugin-health-report +!plugins/talk-plugin-auth-checkbox **/node_modules/* yarn-error.log diff --git a/plugins/talk-plugin-auth-checkbox b/plugins/talk-plugin-auth-checkbox new file mode 160000 index 000000000..73cf96e85 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox @@ -0,0 +1 @@ +Subproject commit 73cf96e8565c6651a10f75f99704db9479bb7d13 diff --git a/plugins/talk-plugin-auth/client/login/actions.js b/plugins/talk-plugin-auth/client/login/actions.js index 9cfbfb399..593556507 100644 --- a/plugins/talk-plugin-auth/client/login/actions.js +++ b/plugins/talk-plugin-auth/client/login/actions.js @@ -14,11 +14,3 @@ export const setPassword = password => ({ type: actions.SET_PASSWORD, password, }); - -export const enableSubmitSignUpForm = () => ({ - type: actions.ENABLE_SUBMIT_SIGNUP_FORM, -}); - -export const disableSubmitSignUpForm = () => ({ - type: actions.DISABLE_SUBMIT_SIGNUP_FORM, -}); diff --git a/plugins/talk-plugin-auth/client/login/constants.js b/plugins/talk-plugin-auth/client/login/constants.js index f44ad5a0f..3997c11f4 100644 --- a/plugins/talk-plugin-auth/client/login/constants.js +++ b/plugins/talk-plugin-auth/client/login/constants.js @@ -3,5 +3,3 @@ const prefix = 'TALK_AUTH'; export const SET_VIEW = `${prefix}_SET_VIEW`; export const SET_EMAIL = `${prefix}_SET_EMAIL`; export const SET_PASSWORD = `${prefix}_SET_PASSWORD`; -export const ENABLE_SUBMIT_SIGNUP_FORM = `${prefix}_ENABLE_SUBMIT_SIGNUP_FORM`; -export const DISABLE_SUBMIT_SIGNUP_FORM = `${prefix}_DISABLE_SUBMIT_SIGNUP_FOR`; diff --git a/plugins/talk-plugin-auth/client/login/containers/SignUp.js b/plugins/talk-plugin-auth/client/login/containers/SignUp.js index 902d35105..7e6face74 100644 --- a/plugins/talk-plugin-auth/client/login/containers/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/containers/SignUp.js @@ -22,8 +22,19 @@ class SignUpContainer extends Component { emailError: null, passwordError: null, passwordRepeatError: null, + hasBlockers: [], }; + indicateBlockerOn = plugin => + this.setState(state => ({ + hasBlockers: state.hasBlockers.concat(plugin), + })); + + indicateBlockerOff = plugin => + this.setState(state => ({ + hasNotifications: state.hasNotifications.filter(i => i !== plugin), + })); + validate = data => { let valid = true; const changes = {}; @@ -54,7 +65,7 @@ class SignUpContainer extends Component { passwordRepeat: this.state.passwordRepeat, }; - if (this.validate(data)) { + if (this.validate(data) && !this.state.hasBlockers.length) { this.props.signUp(data); } }; diff --git a/plugins/talk-plugin-auth/client/login/reducer.js b/plugins/talk-plugin-auth/client/login/reducer.js index 0822d1d06..004aff8f8 100644 --- a/plugins/talk-plugin-auth/client/login/reducer.js +++ b/plugins/talk-plugin-auth/client/login/reducer.js @@ -5,21 +5,10 @@ const initialState = { view: views.SIGN_IN, email: '', password: '', - submitSignUpForm: true, }; export default function reducer(state = initialState, action) { switch (action.type) { - case actions.ENABLE_SUBMIT_SIGNUP_FORM: - return { - ...state, - submitSignUpForm: true, - }; - case actions.DISABLE_SUBMIT_SIGNUP_FORM: - return { - ...state, - submitSignUpForm: false, - }; case actions.SET_VIEW: return { ...state, diff --git a/plugins/talk-plugin-health-report/client/.eslintrc.json b/plugins/talk-plugin-health-report/client/.eslintrc.json deleted file mode 100644 index 9fe56bd14..000000000 --- a/plugins/talk-plugin-health-report/client/.eslintrc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "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.css b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css deleted file mode 100644 index e05170b46..000000000 --- a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css +++ /dev/null @@ -1,13 +0,0 @@ -.link { - color: #2c69b6; - cursor: pointer; - margin: 0 3px; - - &:last-child { - margin-right: 0; - } -} - -.fieldContainer { - padding: 5px 0; -} \ No newline at end of file diff --git a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js deleted file mode 100644 index 3fc2f6304..000000000 --- a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js +++ /dev/null @@ -1,71 +0,0 @@ -import React from 'react'; -import { Checkbox } from 'plugin-api/beta/client/components/ui'; -import { t } from 'plugin-api/beta/client/services'; -import styles from './TermsAndConditionsField.css'; -import cn from 'classnames'; - -const TermsLink = () => ( - - {t('talk-plugin-health-report.terms')} - -); - -const PrivacyLink = () => ( - - {t('talk-plugin-health-report.privacy-policy')} - -); - -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 ( -