From 537697a6e9757f118d09d9e76362ba1ff617e2c6 Mon Sep 17 00:00:00 2001 From: Markus Hatvan Date: Mon, 13 Sep 2021 14:45:46 +0200 Subject: chore: upgrade intl dependencies (#1920) --- .../settings/services/EditServiceForm.js | 157 ++++++++++++--------- src/components/settings/services/ServiceError.js | 26 ++-- src/components/settings/services/ServiceItem.js | 48 +++---- .../settings/services/ServicesDashboard.js | 52 +++---- 4 files changed, 145 insertions(+), 138 deletions(-) (limited to 'src/components/settings/services') diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js index c41cdd56a..3fbb57cbb 100644 --- a/src/components/settings/services/EditServiceForm.js +++ b/src/components/settings/services/EditServiceForm.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { observer } from 'mobx-react'; import { Link } from 'react-router'; -import { defineMessages, intlShape } from 'react-intl'; +import { defineMessages, injectIntl } from 'react-intl'; import normalizeUrl from 'normalize-url'; import Form from '../../../lib/Form'; @@ -22,111 +22,117 @@ import globalMessages from '../../../i18n/globalMessages'; const messages = defineMessages({ saveService: { id: 'settings.service.form.saveButton', - defaultMessage: '!!!Save service', + defaultMessage: 'Save service', }, deleteService: { id: 'settings.service.form.deleteButton', - defaultMessage: '!!!Delete Service', + defaultMessage: 'Delete Service', }, openDarkmodeCss: { id: 'settings.service.form.openDarkmodeCss', - defaultMessage: '!!!Open darkmode.css', + defaultMessage: 'Open darkmode.css', }, openUserCss: { id: 'settings.service.form.openUserCss', - defaultMessage: '!!!Open user.css', + defaultMessage: 'Open user.css', }, openUserJs: { id: 'settings.service.form.openUserJs', - defaultMessage: '!!!Open user.js', + defaultMessage: 'Open user.js', }, recipeFileInfo: { id: 'settings.service.form.recipeFileInfo', - defaultMessage: '!!!Your user files will be inserted into the webpage so you can customize services in any way you like. User files are only stored locally and are not transferred to other computers using the same account.', + defaultMessage: + 'Your user files will be inserted into the webpage so you can customize services in any way you like. User files are only stored locally and are not transferred to other computers using the same account.', }, availableServices: { id: 'settings.service.form.availableServices', - defaultMessage: '!!!Available services', + defaultMessage: 'Available services', }, yourServices: { id: 'settings.service.form.yourServices', - defaultMessage: '!!!Your services', + defaultMessage: 'Your services', }, addServiceHeadline: { id: 'settings.service.form.addServiceHeadline', - defaultMessage: '!!!Add {name}', + defaultMessage: 'Add {name}', }, editServiceHeadline: { id: 'settings.service.form.editServiceHeadline', - defaultMessage: '!!!Edit {name}', + defaultMessage: 'Edit {name}', }, tabHosted: { id: 'settings.service.form.tabHosted', - defaultMessage: '!!!Hosted', + defaultMessage: 'Hosted', }, tabOnPremise: { id: 'settings.service.form.tabOnPremise', - defaultMessage: '!!!Self hosted ⭐️', + defaultMessage: 'Self hosted ⭐️', }, useHostedService: { id: 'settings.service.form.useHostedService', - defaultMessage: '!!!Use the hosted {name} service.', + defaultMessage: 'Use the hosted {name} service.', }, customUrlValidationError: { id: 'settings.service.form.customUrlValidationError', - defaultMessage: '!!!Could not validate custom {name} server.', + defaultMessage: 'Could not validate custom {name} server.', }, indirectMessageInfo: { id: 'settings.service.form.indirectMessageInfo', - defaultMessage: '!!!You will be notified about all new messages in a channel, not just @username, @channel, @here, ...', + defaultMessage: + 'You will be notified about all new messages in a channel, not just @username, @channel, @here, ...', }, isMutedInfo: { id: 'settings.service.form.isMutedInfo', - defaultMessage: '!!!When disabled, all notification sounds and audio playback are muted', + defaultMessage: + 'When disabled, all notification sounds and audio playback are muted', }, isHibernationEnabledInfo: { id: 'settings.service.form.isHibernatedEnabledInfo', - defaultMessage: '!!!When enabled, a service will be shut down after a period of time to save system resources.', + defaultMessage: + 'When enabled, a service will be shut down after a period of time to save system resources.', }, headlineNotifications: { id: 'settings.service.form.headlineNotifications', - defaultMessage: '!!!Notifications', + defaultMessage: 'Notifications', }, headlineBadges: { id: 'settings.service.form.headlineBadges', - defaultMessage: '!!!Unread message badges', + defaultMessage: 'Unread message badges', }, headlineGeneral: { id: 'settings.service.form.headlineGeneral', - defaultMessage: '!!!General', + defaultMessage: 'General', }, headlineDarkReaderSettings: { id: 'settings.service.form.headlineDarkReaderSettings', - defaultMessage: '!!!Dark Reader Settings', + defaultMessage: 'Dark Reader Settings', }, iconDelete: { id: 'settings.service.form.iconDelete', - defaultMessage: '!!!Delete', + defaultMessage: 'Delete', }, iconUpload: { id: 'settings.service.form.iconUpload', - defaultMessage: '!!!Drop your image, or click here', + defaultMessage: 'Drop your image, or click here', }, headlineProxy: { id: 'settings.service.form.proxy.headline', - defaultMessage: '!!!HTTP/HTTPS Proxy Settings', + defaultMessage: 'HTTP/HTTPS Proxy Settings', }, proxyRestartInfo: { id: 'settings.service.form.proxy.restartInfo', - defaultMessage: '!!!Please restart Ferdi after changing proxy Settings.', + defaultMessage: 'Please restart Ferdi after changing proxy Settings.', }, proxyInfo: { id: 'settings.service.form.proxy.info', - defaultMessage: '!!!Proxy settings will not be synchronized with the Ferdi servers.', + defaultMessage: + 'Proxy settings will not be synchronized with the Ferdi servers.', }, }); -export default @observer class EditServiceForm extends Component { +@observer +class EditServiceForm extends Component { static propTypes = { recipe: PropTypes.instanceOf(Recipe).isRequired, service(props, propName) { @@ -151,20 +157,16 @@ export default @observer class EditServiceForm extends Component { service: {}, }; - static contextTypes = { - intl: intlShape, - }; - state = { isValidatingCustomUrl: false, - } + }; submit(e) { const { recipe } = this.props; e.preventDefault(); this.props.form.submit({ - onSuccess: async (form) => { + onSuccess: async form => { const values = form.values(); let isValid = true; @@ -176,7 +178,10 @@ export default @observer class EditServiceForm extends Component { if (recipe.validateUrl && values.customUrl) { this.setState({ isValidatingCustomUrl: true }); try { - values.customUrl = normalizeUrl(values.customUrl, { stripWWW: false, removeTrailingSlash: false }); + values.customUrl = normalizeUrl(values.customUrl, { + stripWWW: false, + removeTrailingSlash: false, + }); isValid = await recipe.validateUrl(values.customUrl); } catch (err) { console.warn('ValidateURL', err); @@ -208,7 +213,7 @@ export default @observer class EditServiceForm extends Component { openRecipeFile, isProxyFeatureEnabled, } = this.props; - const { intl } = this.context; + const { intl } = this.props; const { isValidatingCustomUrl } = this.state; @@ -236,7 +241,8 @@ export default @observer class EditServiceForm extends Component { activeTabIndex = 2; } - const requiresUserInput = !recipe.hasHostedOption && (recipe.hasTeamId || recipe.hasCustomUrl); + const requiresUserInput = + !recipe.hasHostedOption && (recipe.hasTeamId || recipe.hasCustomUrl); return (
@@ -254,29 +260,27 @@ export default @observer class EditServiceForm extends Component { - {action === 'add' ? ( - intl.formatMessage(messages.addServiceHeadline, { + {action === 'add' + ? intl.formatMessage(messages.addServiceHeadline, { name: recipe.name, }) - ) : ( - intl.formatMessage(messages.editServiceHeadline, { + : intl.formatMessage(messages.editServiceHeadline, { name: service.name !== '' ? service.name : recipe.name, - }) - )} + })}
-
this.submit(e)} id="form"> + this.submit(e)} id="form">
{(recipe.hasTeamId || recipe.hasCustomUrl) && ( - + {recipe.hasHostedOption && ( - {intl.formatMessage(messages.useHostedService, { name: recipe.name })} + {intl.formatMessage(messages.useHostedService, { + name: recipe.name, + })} )} {recipe.hasTeamId && ( @@ -293,7 +297,9 @@ export default @observer class EditServiceForm extends Component { {form.error === 'url-validation-error' && (

- {intl.formatMessage(messages.customUrlValidationError, { name: recipe.name })} + {intl.formatMessage(messages.customUrlValidationError, { + name: recipe.name, + })}

)} @@ -326,13 +332,16 @@ export default @observer class EditServiceForm extends Component {

{intl.formatMessage(messages.headlineBadges)}

- {recipe.hasIndirectMessages && form.$('isBadgeEnabled').value && ( - <> - -

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

- + {recipe.hasIndirectMessages && + form.$('isBadgeEnabled').value && ( + <> + +

+ {intl.formatMessage(messages.indirectMessageInfo)} +

+ )}
@@ -344,15 +353,18 @@ export default @observer class EditServiceForm extends Component { {intl.formatMessage(messages.isHibernationEnabledInfo)}

- {form.$('isDarkModeEnabled').value - && ( - <> -

{intl.formatMessage(messages.headlineDarkReaderSettings)}

- - - - - )} + {form.$('isDarkModeEnabled').value && ( + <> +

+ {intl.formatMessage( + messages.headlineDarkReaderSettings, + )} +

+ + + + + )}
@@ -381,7 +393,10 @@ export default @observer class EditServiceForm extends Component { <>
- +
@@ -409,7 +424,9 @@ export default @observer class EditServiceForm extends Component {
-

{intl.formatMessage(globalMessages.userAgentHelp)}

+

+ {intl.formatMessage(globalMessages.userAgentHelp)} +

@@ -464,7 +481,9 @@ export default @observer class EditServiceForm extends Component { type="submit" label={intl.formatMessage(messages.saveService)} htmlForm="form" - disabled={action !== 'edit' && (form.isPristine && requiresUserInput)} + disabled={ + action !== 'edit' && form.isPristine && requiresUserInput + } /> )}
@@ -472,3 +491,5 @@ export default @observer class EditServiceForm extends Component { ); } } + +export default injectIntl(EditServiceForm); diff --git a/src/components/settings/services/ServiceError.js b/src/components/settings/services/ServiceError.js index 3cfc080d6..d16d76db2 100644 --- a/src/components/settings/services/ServiceError.js +++ b/src/components/settings/services/ServiceError.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import { observer } from 'mobx-react'; import { Link } from 'react-router'; -import { defineMessages, intlShape } from 'react-intl'; +import { defineMessages, injectIntl } from 'react-intl'; import Infobox from '../../ui/Infobox'; import Button from '../../ui/Button'; @@ -9,29 +9,26 @@ import Button from '../../ui/Button'; const messages = defineMessages({ headline: { id: 'settings.service.error.headline', - defaultMessage: '!!!Error', + defaultMessage: 'Error', }, goBack: { id: 'settings.service.error.goBack', - defaultMessage: '!!!Back to services', + defaultMessage: 'Back to services', }, availableServices: { id: 'settings.service.form.availableServices', - defaultMessage: '!!!Available services', + defaultMessage: 'Available services', }, errorMessage: { id: 'settings.service.error.message', - defaultMessage: '!!!Could not load service recipe.', + defaultMessage: 'Could not load service recipe.', }, }); -export default @observer class ServiceError extends Component { - static contextTypes = { - intl: intlShape, - }; - +@observer +class ServiceError extends Component { render() { - const { intl } = this.context; + const { intl } = this.props; return (
@@ -47,10 +44,7 @@ export default @observer class ServiceError extends Component {
- + {intl.formatMessage(messages.errorMessage)}
@@ -65,3 +59,5 @@ export default @observer class ServiceError extends Component { ); } } + +export default injectIntl(ServiceError); diff --git a/src/components/settings/services/ServiceItem.js b/src/components/settings/services/ServiceItem.js index ebc618a00..4916e4ecc 100644 --- a/src/components/settings/services/ServiceItem.js +++ b/src/components/settings/services/ServiceItem.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import { defineMessages, intlShape } from 'react-intl'; +import { defineMessages, injectIntl } from 'react-intl'; import ReactTooltip from 'react-tooltip'; import { observer } from 'mobx-react'; import classnames from 'classnames'; @@ -10,35 +10,32 @@ import ServiceModel from '../../../models/Service'; const messages = defineMessages({ tooltipIsDisabled: { id: 'settings.services.tooltip.isDisabled', - defaultMessage: '!!!Service is disabled', + defaultMessage: 'Service is disabled', }, tooltipNotificationsDisabled: { id: 'settings.services.tooltip.notificationsDisabled', - defaultMessage: '!!!Notifications are disabled', + defaultMessage: 'Notifications are disabled', }, tooltipIsMuted: { id: 'settings.services.tooltip.isMuted', - defaultMessage: '!!!All sounds are muted', + defaultMessage: 'All sounds are muted', }, }); -export default @observer class ServiceItem extends Component { +@observer +class ServiceItem extends Component { static propTypes = { service: PropTypes.instanceOf(ServiceModel).isRequired, goToServiceForm: PropTypes.func.isRequired, }; - static contextTypes = { - intl: intlShape, - }; - render() { const { service, // toggleAction, goToServiceForm, } = this.props; - const { intl } = this.context; + const { intl } = this.props; return ( - + - + {service.name !== '' ? service.name : service.recipe.name} - + {service.isMuted && ( )} - + {!service.isEnabled && ( )} - + {!service.isNotificationEnabled && ( )} @@ -104,3 +88,5 @@ export default @observer class ServiceItem extends Component { ); } } + +export default injectIntl(ServiceItem); diff --git a/src/components/settings/services/ServicesDashboard.js b/src/components/settings/services/ServicesDashboard.js index 11d3eaa79..847f2ea06 100644 --- a/src/components/settings/services/ServicesDashboard.js +++ b/src/components/settings/services/ServicesDashboard.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; import { Link } from 'react-router'; -import { defineMessages, intlShape } from 'react-intl'; +import { defineMessages, injectIntl } from 'react-intl'; import SearchInput from '../../ui/SearchInput'; import Infobox from '../../ui/Infobox'; @@ -14,43 +14,45 @@ import Appear from '../../ui/effects/Appear'; const messages = defineMessages({ headline: { id: 'settings.services.headline', - defaultMessage: '!!!Your services', + defaultMessage: 'Your services', }, searchService: { id: 'settings.searchService', - defaultMessage: '!!!Search service', + defaultMessage: 'Search service', }, noServicesAdded: { id: 'settings.services.noServicesAdded', - defaultMessage: '!!!Start by adding a service.', + defaultMessage: 'Start by adding a service.', }, noServiceFound: { id: 'settings.recipes.nothingFound', - defaultMessage: '!!!Sorry, but no service matched your search term. Please note that the website might show more services that have been added to Ferdi since the version that you are currently on. To get those new services, please consider upgrading to a newer version of Ferdi.', + defaultMessage: + 'Sorry, but no service matched your search term. Please note that the website might show more services that have been added to Ferdi since the version that you are currently on. To get those new services, please consider upgrading to a newer version of Ferdi.', }, discoverServices: { id: 'settings.services.discoverServices', - defaultMessage: '!!!Discover services', + defaultMessage: 'Discover services', }, servicesRequestFailed: { id: 'settings.services.servicesRequestFailed', - defaultMessage: '!!!Could not load your services', + defaultMessage: 'Could not load your services', }, tryReloadServices: { id: 'settings.account.tryReloadServices', - defaultMessage: '!!!Try again', + defaultMessage: 'Try again', }, updatedInfo: { id: 'settings.services.updatedInfo', - defaultMessage: '!!!Your changes have been saved', + defaultMessage: 'Your changes have been saved', }, deletedInfo: { id: 'settings.services.deletedInfo', - defaultMessage: '!!!Service has been deleted', + defaultMessage: 'Service has been deleted', }, }); -export default @observer class ServicesDashboard extends Component { +@observer +class ServicesDashboard extends Component { static propTypes = { services: MobxPropTypes.arrayOrObservableArray.isRequired, isLoading: PropTypes.bool.isRequired, @@ -68,10 +70,6 @@ export default @observer class ServicesDashboard extends Component { searchNeedle: '', }; - static contextTypes = { - intl: intlShape, - }; - render() { const { services, @@ -85,7 +83,7 @@ export default @observer class ServicesDashboard extends Component { status, searchNeedle, } = this.props; - const { intl } = this.context; + const { intl } = this.props; return (
@@ -96,7 +94,7 @@ export default @observer class ServicesDashboard extends Component { {(services.length !== 0 || searchNeedle) && !isLoading && ( filterServices({ needle })} + onChange={needle => filterServices({ needle })} onReset={() => resetFilter()} autoFocus /> @@ -145,7 +143,9 @@ export default @observer class ServicesDashboard extends Component { {intl.formatMessage(messages.noServicesAdded)}

- {intl.formatMessage(messages.discoverServices)} + + {intl.formatMessage(messages.discoverServices)} +
)} {!isLoading && services.length === 0 && searchNeedle && ( @@ -163,12 +163,16 @@ export default @observer class ServicesDashboard extends Component { ) : ( - {services.map((service) => ( + {services.map(service => ( toggleService({ serviceId: service.id })} - goToServiceForm={() => goTo(`/settings/services/edit/${service.id}`)} + toggleAction={() => + toggleService({ serviceId: service.id }) + } + goToServiceForm={() => + goTo(`/settings/services/edit/${service.id}`) + } /> ))} @@ -176,12 +180,12 @@ export default @observer class ServicesDashboard extends Component { )} - - + - + + ); } } + +export default injectIntl(ServicesDashboard); -- cgit v1.2.3-70-g09d2