import React from 'react'; import PropTypes from 'prop-types'; import { useIntl } from '@edx/frontend-platform/i18n'; import { StandardModal, ActionRow, Button, Icon, ListBox, ListBoxOption, } from '@openedx/paragon'; import { Check } from '@openedx/paragon/icons'; import useTranslationModal from './useTranslationModal'; import messages from './messages'; import './TranslationModal.scss'; const TranslationModal = ({ isOpen, close, selectedLanguage, setSelectedLanguage, availableLanguages, }) => { const { formatMessage } = useIntl(); const { selectedIndex, setSelectedIndex, onSubmit } = useTranslationModal({ selectedLanguage, setSelectedLanguage, close, availableLanguages, }); return ( )} > {availableLanguages.map(({ code, label }, index) => ( setSelectedIndex(index)} > {label} {selectedIndex === index && } ))} ); }; TranslationModal.propTypes = { isOpen: PropTypes.bool.isRequired, close: PropTypes.func.isRequired, selectedLanguage: PropTypes.string.isRequired, setSelectedLanguage: PropTypes.func.isRequired, availableLanguages: PropTypes.arrayOf( PropTypes.shape({ code: PropTypes.string.isRequired, label: PropTypes.string.isRequired, }), ).isRequired, }; export default TranslationModal;