diff --git a/plugins/talk-plugin-auth-checkbox b/plugins/talk-plugin-auth-checkbox deleted file mode 160000 index 73cf96e85..000000000 --- a/plugins/talk-plugin-auth-checkbox +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 73cf96e8565c6651a10f75f99704db9479bb7d13 diff --git a/plugins/talk-plugin-auth-checkbox/README.md b/plugins/talk-plugin-auth-checkbox/README.md new file mode 100644 index 000000000..9b70bde6c --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/README.md @@ -0,0 +1 @@ +# talk-plugin-auth-checkbox diff --git a/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json b/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json new file mode 100644 index 000000000..9fe56bd14 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/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-auth-checkbox/client/components/TermsAndConditionsField.css b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css new file mode 100644 index 000000000..e05170b46 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css @@ -0,0 +1,13 @@ +.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-auth-checkbox/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js new file mode 100644 index 000000000..25f97dc09 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js @@ -0,0 +1,73 @@ +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 pluginName = 'talk-plugin-auth-checkbox'; + +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.indicateBlockerOn(pluginName); + } + + onChange = ({ target: { checked } }) => { + if (checked) { + this.setState(() => ({ checked })); + this.props.indicateBlockerOff(pluginName); + } else { + this.setState(() => ({ checked })); + this.props.indicateBlockerOn(pluginName); + } + }; + + render() { + return ( +
+ + +
+ ); + } +} + +export default TermsAndConditionsField; diff --git a/plugins/talk-plugin-auth-checkbox/client/index.js b/plugins/talk-plugin-auth-checkbox/client/index.js new file mode 100644 index 000000000..d2aaaa1cb --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/index.js @@ -0,0 +1,9 @@ +import TermsAndConditionsField from './components/TermsAndConditionsField'; +import translations from './translations.yml'; + +export default { + slots: { + 'talkPluginAuth-formField': [TermsAndConditionsField], + }, + translations, +}; diff --git a/plugins/talk-plugin-auth-checkbox/client/translations.yml b/plugins/talk-plugin-auth-checkbox/client/translations.yml new file mode 100644 index 000000000..66bf7379c --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/translations.yml @@ -0,0 +1,36 @@ +en: + talk-plugin-health-report: + copy: I agree to the Mozilla + and: and + terms: Terms of Service + privacy-policy: Privacy Policy + from: . + terms-link: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/en-US/privacy/websites/ +es: + talk-plugin-health-report: + copy: Estoy de acuerdo con + and: y + terms: los Terminos y Condiciones + privacy-policy: la Política de Privacidad + from: de Mozilla. + terms-link: https://www.mozilla.org/es-ES/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/es-ES/privacy/websites/ +fr: + talk-plugin-health-report: + copy: J'accepte + and: et + terms: les conditions d'utilisation + privacy-policy: la politique de confidentialité + from: de Mozilla. + terms-link: https://www.mozilla.org/fr/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/fr/privacy/websites/ +de: + talk-plugin-health-report: + copy: Ich stimme + and: und + terms: den Allgemeinen Geschäftsbedingungen + privacy-policy: der Datenschutzrichtlinie + from: von Mozilla zu. + terms-link: https://www.mozilla.org/de/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/de/privacy/websites/ \ No newline at end of file diff --git a/plugins/talk-plugin-auth-checkbox/index.js b/plugins/talk-plugin-auth-checkbox/index.js new file mode 100644 index 000000000..f053ebf79 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/index.js @@ -0,0 +1 @@ +module.exports = {};