import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Redirect } from 'react-router-dom'; import { sendPageEvent, sendTrackEvent } from '@edx/frontend-platform/analytics'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { Button, Tabs, Tab } from '@edx/paragon'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faChevronLeft } from '@fortawesome/free-solid-svg-icons'; import messages from './messages'; import { LOGIN_PAGE, REGISTER_PAGE } from '../data/constants'; import { updatePathWithQueryParams, getTpaHint } from '../data/utils'; import { LoginPage } from '../login'; import { RegistrationPage } from '../register'; const Logistration = (props) => { const { intl, selectedPage } = props; const tpa = getTpaHint(); const [institutionLogin, setInstitutionLogin] = useState(false); const [key, setKey] = useState(''); const handleInstitutionLogin = (e) => { sendTrackEvent('edx.bi.institution_login_form.toggled', { category: 'user-engagement' }); sendPageEvent('login_and_registration', e.target.dataset.eventName); setInstitutionLogin(!institutionLogin); }; const handleOnSelect = (tabKey) => { sendTrackEvent(`edx.bi.${tabKey.replace('/', '')}_form.toggled`, { category: 'user-engagement' }); setKey(tabKey); }; return (
{institutionLogin ? ( ) : ( <> {!tpa && ( )} )} { key && ( )}
{selectedPage === LOGIN_PAGE ? : }
); }; Logistration.propTypes = { intl: intlShape.isRequired, selectedPage: PropTypes.string, }; Logistration.defaultProps = { selectedPage: REGISTER_PAGE, }; export default injectIntl(Logistration);