From e13e630cd6e4fc0b1ff92098a28a770794c7bb9a Mon Sep 17 00:00:00 2001 From: gabrhr <73925454+gabrhr@users.noreply.github.com> Date: Wed, 20 Apr 2022 10:19:29 -0500 Subject: =?UTF-8?q?A=C3=B1adir=20plantilla?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Base para front --- .../app/containers/LanguageProvider/index.js | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 front/odiparpack/app/containers/LanguageProvider/index.js (limited to 'front/odiparpack/app/containers/LanguageProvider/index.js') diff --git a/front/odiparpack/app/containers/LanguageProvider/index.js b/front/odiparpack/app/containers/LanguageProvider/index.js new file mode 100644 index 0000000..666240d --- /dev/null +++ b/front/odiparpack/app/containers/LanguageProvider/index.js @@ -0,0 +1,51 @@ +/* + * + * LanguageProvider + * + * this component connects the redux state language locale to the + * IntlProvider component and i18n messages (loaded from `app/translations`) + */ + +import React from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { createSelector } from 'reselect'; +import { IntlProvider } from 'react-intl'; + +import { makeSelectLocale } from './selectors'; + +export class LanguageProvider extends React.PureComponent { + // eslint-disable-line react/prefer-stateless-function + render() { + return ( + + {React.Children.only(this.props.children)} + + ); + } +} + +LanguageProvider.propTypes = { + locale: PropTypes.string.isRequired, + messages: PropTypes.object.isRequired, + children: PropTypes.element.isRequired, +}; + +const mapStateToProps = createSelector(makeSelectLocale(), locale => ({ + locale, +})); + +function mapDispatchToProps(dispatch) { + return { + dispatch, + }; +} + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(LanguageProvider); -- cgit v1.2.3