From 33123c354b79f7951423dd75097b11e7eb075f99 Mon Sep 17 00:00:00 2001 From: Markus Hatvan Date: Fri, 2 Jul 2021 19:49:55 -0600 Subject: Upgrade various dependencies to latest part 2 (#1557) * Upgrade various dependencies to latest, remove unnecessary electron-hunspell - upgrade eslint and friends to latest - remove deprecated 'node-sass' in favor of 'sass' - disable new rules from 'eslint-config-airbnb' that are conflicting with current code style - add workspace config for 'vscode' that silences 'experimentalDecorator' warning and forces 'prettier' to single quote * Run yarn lint to autofix with new ruleset and worked down lint issues to zero --- src/components/auth/Import.js | 87 ++++++++++++++++++---------------- src/components/auth/Invite.js | 105 ++++++++++++++++++++++++----------------- src/components/auth/Pricing.js | 1 - src/components/auth/Welcome.js | 1 - 4 files changed, 108 insertions(+), 86 deletions(-) (limited to 'src/components/auth') diff --git a/src/components/auth/Import.js b/src/components/auth/Import.js index 3e34c3162..3073cad73 100644 --- a/src/components/auth/Import.js +++ b/src/components/auth/Import.js @@ -28,7 +28,9 @@ const messages = defineMessages({ }, }); -export default @observer class Import extends Component { +export default +@observer +class Import extends Component { static propTypes = { services: MobxPropTypes.arrayOrObservableArray.isRequired, onSubmit: PropTypes.func.isRequired, @@ -40,17 +42,21 @@ export default @observer class Import extends Component { intl: intlShape, }; - componentWillMount() { + componentDidMount() { const config = { fields: { - import: [...this.props.services.filter(s => s.recipe).map(s => ({ - fields: { - add: { - default: true, - options: s, - }, - }, - }))], + import: [ + ...this.props.services + .filter((s) => s.recipe) + .map((s) => ({ + fields: { + add: { + default: true, + options: s, + }, + }, + })), + ], }, }; @@ -62,9 +68,12 @@ export default @observer class Import extends Component { e.preventDefault(); this.form.submit({ onSuccess: (form) => { - const servicesImport = form.values().import - .map((value, i) => !value.add || services.filter(s => s.recipe)[i]) - .filter(s => typeof s !== 'boolean'); + const servicesImport = form + .values() + .import.map( + (value, i) => !value.add || services.filter((s) => s.recipe)[i], + ) + .filter((s) => typeof s !== 'boolean'); this.props.onSubmit({ services: servicesImport }); }, @@ -76,37 +85,31 @@ export default @observer class Import extends Component { const { intl } = this.context; const { services, isSubmitting, inviteRoute } = this.props; - const availableServices = services.filter(s => s.recipe); - const unavailableServices = services.filter(s => !s.recipe); + const availableServices = services.filter((s) => s.recipe); + const unavailableServices = services.filter((s) => !s.recipe); return (
-
this.submit(e)}> - -

- {intl.formatMessage(messages.headline)} -

+ this.submit(e)} + > + +

{intl.formatMessage(messages.headline)}

{this.form.$('import').map((service, i) => ( - +
- + {unavailableServices.length > 0 && (
- {intl.formatMessage(messages.notSupportedHeadline)} + + {intl.formatMessage(messages.notSupportedHeadline)} +

- {services.filter(s => !s.recipe).map((service, i) => ( - - {service.name !== '' ? service.name : service.service} - {unavailableServices.length > i + 1 ? ', ' : ''} - - ))} + {services + .filter((s) => !s.recipe) + .map((service, i) => ( + + {service.name !== '' ? service.name : service.service} + {unavailableServices.length > i + 1 ? ', ' : ''} + + ))}

)} diff --git a/src/components/auth/Invite.js b/src/components/auth/Invite.js index fd957ee73..4b4d63a6b 100644 --- a/src/components/auth/Invite.js +++ b/src/components/auth/Invite.js @@ -43,7 +43,9 @@ const messages = defineMessages({ }, }); -export default @observer class Invite extends Component { +export default +@observer +class Invite extends Component { static propTypes = { onSubmit: PropTypes.func.isRequired, embed: PropTypes.bool, @@ -63,36 +65,41 @@ export default @observer class Invite extends Component { state = { showSuccessInfo: false }; - componentWillMount() { - const handlers = { - onChange: () => { - this.setState({ showSuccessInfo: false }); - }, - }; - - this.form = new Form({ - fields: { - invite: [...Array(3).fill({ - fields: { - name: { - label: this.context.intl.formatMessage(messages.nameLabel), - placeholder: this.context.intl.formatMessage(messages.nameLabel), - handlers, - // related: ['invite.0.email'], // path accepted but does not work - }, - email: { - label: this.context.intl.formatMessage(messages.emailLabel), - placeholder: this.context.intl.formatMessage(messages.emailLabel), - handlers, - validators: [email], - }, - }, - })], + componentDidMount() { + this.form = new Form( + { + fields: { + invite: [ + ...Array(3).fill({ + fields: { + name: { + label: this.context.intl.formatMessage(messages.nameLabel), + placeholder: this.context.intl.formatMessage( + messages.nameLabel, + ), + onChange: () => { + this.setState({ showSuccessInfo: false }); + }, + // related: ['invite.0.email'], // path accepted but does not work + }, + email: { + label: this.context.intl.formatMessage(messages.emailLabel), + placeholder: this.context.intl.formatMessage( + messages.emailLabel, + ), + onChange: () => { + this.setState({ showSuccessInfo: false }); + }, + validators: [email], + }, + }, + }), + ], + }, }, - }, this.context.intl); - } + this.context.intl, + ); - componentDidMount() { document.querySelector('input:first-child').focus(); } @@ -117,9 +124,10 @@ export default @observer class Invite extends Component { const { intl } = this.context; const { embed, isInviteSuccessful, isLoadingInvite } = this.props; - const atLeastOneEmailAddress = form.$('invite') - .map(invite => invite.$('email').value) - .some(emailValue => emailValue.trim() !== ''); + const atLeastOneEmailAddress = form + .$('invite') + .map((invite) => invite.$('email').value) + .some((emailValue) => emailValue.trim() !== ''); const sendButtonClassName = classnames({ auth__button: true, @@ -127,7 +135,7 @@ export default @observer class Invite extends Component { }); const renderForm = ( - + <> {this.state.showSuccessInfo && isInviteSuccessful && ( )} - this.submit(e)}> + this.submit(e)} + > {!embed && ( - + )}

{intl.formatMessage(messages.headline)}

- {form.$('invite').map(invite => ( + {form.$('invite').map((invite) => (
@@ -175,17 +182,27 @@ export default @observer class Invite extends Component { )} - + ); return ( -
+
{embed && (
-

{this.context.intl.formatMessage(messages.settingsHeadline)}

+

+ {this.context.intl.formatMessage(messages.settingsHeadline)} +

)} - {!embed ?
{renderForm}
:
{renderForm}
} + {!embed ? ( +
{renderForm}
+ ) : ( +
{renderForm}
+ )}
); } diff --git a/src/components/auth/Pricing.js b/src/components/auth/Pricing.js index fecc6ba56..2fcabe54d 100644 --- a/src/components/auth/Pricing.js +++ b/src/components/auth/Pricing.js @@ -10,7 +10,6 @@ import { Button } from '@meetfranz/forms'; import { FeatureItem } from '../ui/FeatureItem'; import { FeatureList } from '../ui/FeatureList'; - const messages = defineMessages({ headline: { id: 'pricing.trial.headline.pro', diff --git a/src/components/auth/Welcome.js b/src/components/auth/Welcome.js index 6e742e0c1..5f2fac64b 100644 --- a/src/components/auth/Welcome.js +++ b/src/components/auth/Welcome.js @@ -72,7 +72,6 @@ export default @inject('actions') @observer class Login extends Component {

-