import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { setLanguage } from '../../actions/generalActions'; import * as Blockly from 'blockly/core'; import InputLabel from '@mui/material/InputLabel'; import MenuItem from '@mui/material/MenuItem'; import FormControl from '@mui/material/FormControl'; import Select from '@mui/material/Select'; import Typography from '@mui/material/Typography'; import FormHelperText from '@mui/material/FormHelperText'; class LanguageSelector extends Component { componentDidMount(){ // Ensure that Blockly.setLocale is adopted in the component. // Otherwise, the text will not be displayed until the next update of the component. this.forceUpdate(); } handleChange = (event) => { this.props.setLanguage(event.target.value); } render(){ return (
{Blockly.Msg.settings_language} {Blockly.Msg.settings_language_text} {Blockly.Msg.settings_language}
); } } LanguageSelector.propTypes = { setLanguage: PropTypes.func.isRequired, language: PropTypes.string.isRequired }; const mapStateToProps = state => ({ language: state.general.language }); export default connect(mapStateToProps, { setLanguage })(LanguageSelector);