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 DashboardFootnote from './DashboardFootnote'; import messages from './messages'; import { logClick, logVisit } from './utils'; function CourseNonPassing({ intl }) { const { courseId } = useSelector(state => state.courseware); const { tabs } = useModel('courses', courseId); const { administrator } = getAuthenticatedUser(); // Get progress tab link for 'view grades' button const progressTab = tabs.find(tab => tab.slug === 'progress'); const progressLink = progressTab && progressTab.url; useEffect(() => logVisit(courseId, administrator, 'nonpassing'), [courseId, administrator]); return ( <> {`${intl.formatMessage(messages.endOfCourseTitle)} | ${getConfig().SITE_NAME}`}
{ intl.formatMessage(messages.endOfCourseHeader) }
{ intl.formatMessage(messages.endOfCourseDescription) }
{progressLink && ( )}
); } CourseNonPassing.propTypes = { intl: intlShape.isRequired, }; export default injectIntl(CourseNonPassing);