Files
frontend-app-learner-dashboard/src/containers/CourseCard/components/CourseCardActions/BeginCourseButton.jsx
2023-08-15 16:27:32 -04:00

38 lines
1.0 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { useIntl } from '@edx/frontend-platform/i18n';
import track from 'tracking';
import { reduxHooks } from 'hooks';
import useActionDisabledState from '../hooks';
import ActionButton from './ActionButton';
import messages from './messages';
export const BeginCourseButton = ({ cardId }) => {
const { formatMessage } = useIntl();
const { homeUrl } = reduxHooks.useCardCourseRunData(cardId);
const execEdTrackingParam = reduxHooks.useCardExecEdTrackingParam(cardId);
const { disableBeginCourse } = useActionDisabledState(cardId);
const handleClick = reduxHooks.useTrackCourseEvent(
track.course.enterCourseClicked,
cardId,
homeUrl + execEdTrackingParam,
);
return (
<ActionButton
disabled={disableBeginCourse}
as="a"
href="#"
onClick={handleClick}
>
{formatMessage(messages.beginCourse)}
</ActionButton>
);
};
BeginCourseButton.propTypes = {
cardId: PropTypes.string.isRequired,
};
export default BeginCourseButton;