import React, { useEffect } from 'react'; import { getAuthenticatedUser } from '@edx/frontend-platform/auth'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { Helmet } from 'react-helmet'; import { useSelector } from 'react-redux'; import { Alert, Button } from '@edx/paragon'; import { getConfig } from '@edx/frontend-platform'; import { useModel } from '../../../generic/model-store'; import CatalogSuggestion from './CatalogSuggestion'; import DashboardFootnote from './DashboardFootnote'; import messages from './messages'; import { logClick, logVisit } from './utils'; function CourseInProgress({ intl }) { const { courseId } = useSelector(state => state.courseware); const { org, tabs, title } = useModel('coursewareMeta', courseId); const { administrator } = getAuthenticatedUser(); // Get dates tab link for 'view course schedule' button const datesTab = tabs.find(tab => tab.slug === 'dates'); const datesTabLink = datesTab && datesTab.url; useEffect(() => logVisit(org, courseId, administrator, 'in_progress'), [org, courseId, administrator]); return ( <> {`${intl.formatMessage(messages.endOfCourseTitle)} | ${title} | ${getConfig().SITE_NAME}`}
{ intl.formatMessage(messages.courseInProgressHeader) }
{ intl.formatMessage(messages.courseInProgressDescription) }
{datesTabLink && ( )}
); } CourseInProgress.propTypes = { intl: intlShape.isRequired, }; export default injectIntl(CourseInProgress);