%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/emergentqj/actioncivile/pre-auth/.632e77b3fb93bc8da5b589b869bc0037/static/js/containers/
Upload File :
Create Path :
Current File : /home/emergentqj/actioncivile/pre-auth/.632e77b3fb93bc8da5b589b869bc0037/static/js/containers/CountryDropdownContainer.js

import { connect } from "react-redux";
import countryData from "config/countryData";
import countryNames from "config/countryNames";
import { setCountry, setLanguage } from "actions";
import CountryDropdown from "components/CountryDropdown";

const { countryData: countries } = countryData;

const getChooseableCountries = () => {
  const choosableCountries = [];
  Object.keys(countries).forEach(((key) => {
    if (key) {
      if (!countryNames[key]) {
        throw new Error(`Native country name for ${key} missing`);
      }

      choosableCountries.push({
        code: key,
        name: countryNames[key],
      });
    }
  }));

  choosableCountries.sort((a, b) => (a.name[0] > b.name[0] ? 1 : -1));

  return choosableCountries;
};

const choosableCountries = getChooseableCountries();

const mapStateToProps = (state) => ({
  choosableCountries,
  countryCode: state.config.toJS().config.countryConstant,
});

const mapDispatchToProps = {
  setCountry,
  setLanguage,
};

export default connect(
  mapStateToProps,
  mapDispatchToProps,
)(CountryDropdown);

Zerion Mini Shell 1.0