import React from 'react'; import PropTypes from 'prop-types'; import { Redirect } from 'react-router-dom'; import { getConfig } from '@edx/frontend-platform'; import { WELCOME_PAGE } from '../data/constants'; import { setCookie } from '../data/utils'; function RedirectLogistration(props) { const { finishAuthUrl, redirectUrl, redirectToWelcomePage, success, } = props; let finalRedirectUrl = ''; if (success) { // If we're in a third party auth pipeline, we must complete the pipeline // once user has successfully logged in. Otherwise, redirect to the specified redirect url. // Note: For multiple enterprise use case, we need to make sure that user first visits the // enterprise selection page and then complete the auth workflow if (finishAuthUrl && !redirectUrl.includes(finishAuthUrl)) { finalRedirectUrl = getConfig().LMS_BASE_URL + finishAuthUrl; } else { finalRedirectUrl = redirectUrl; } if (redirectToWelcomePage) { setCookie('van-504-returning-user', true); // use this component to redirect WelcomePage after successful registration // return ; const registrationResult = { redirectUrl: finalRedirectUrl, success }; return ; } window.location.href = finalRedirectUrl; } return <>; } RedirectLogistration.defaultProps = { finishAuthUrl: null, success: false, redirectUrl: '', redirectToWelcomePage: false, }; RedirectLogistration.propTypes = { finishAuthUrl: PropTypes.string, success: PropTypes.bool, redirectUrl: PropTypes.string, redirectToWelcomePage: PropTypes.bool, }; export default RedirectLogistration;