Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@doodle/i18n / dist / containers / LocaleSwitcher / LocaleSwitcher.js
Size: Mime:
"use strict";

var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));

var _react = _interopRequireWildcard(require("react"));

var _propTypes = _interopRequireDefault(require("prop-types"));

var _reactRedux = require("react-redux");

var _LanguageMenu = _interopRequireDefault(require("@doodle/components/controls/LanguageMenu"));

var _localeFlagsHelper = _interopRequireDefault(require("./localeFlagsHelper"));

var _actions = require("../../state/actions");

var _locales = _interopRequireDefault(require("../../locales"));

class LocaleSwitcher extends _react.Component {
  render() {
    const {
      currentLocale,
      locales,
      onChangeLocale
    } = this.props;
    const items = Object.entries(locales).map(([locale, label]) => ({
      label,
      icon: _localeFlagsHelper.default[locale],
      action: () => onChangeLocale(locale)
    }));
    return /*#__PURE__*/_react.default.createElement(_LanguageMenu.default, {
      className: "LocaleSwitcher",
      items: items
    }, locales[currentLocale]);
  }

}

(0, _defineProperty2.default)(LocaleSwitcher, "propTypes", {
  currentLocale: _propTypes.default.string.isRequired,
  locales: _propTypes.default.object,
  onChangeLocale: _propTypes.default.func.isRequired
});
(0, _defineProperty2.default)(LocaleSwitcher, "defaultProps", {
  locales: _locales.default
});

const mapStateToProps = state => ({
  currentLocale: state.i18n.locale
});

const mapDispatchToProps = dispatch => ({
  onChangeLocale: locale => {
    dispatch((0, _actions.changeLocale)(locale));
  }
});

var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LocaleSwitcher);

exports.default = _default;
//# sourceMappingURL=LocaleSwitcher.js.map