import React from 'react'; import PropTypes from 'prop-types'; import { useIntl } from '@edx/frontend-platform/i18n'; import { baseAppUrl } from 'data/services/lms/urls'; import { Badge } from '@openedx/paragon'; import track from 'tracking'; import { useCourseData, useCourseTrackingEvent } from 'hooks'; import verifiedRibbon from 'assets/verified-ribbon.png'; import useActionDisabledState from './hooks'; import messages from '../messages'; const { courseImageClicked } = track.course; export const CourseCardImage = ({ cardId, orientation }) => { const { formatMessage } = useIntl(); const courseData = useCourseData(cardId); const { homeUrl } = courseData?.courseRun || {}; const { disableCourseTitle } = useActionDisabledState(cardId); const handleImageClicked = useCourseTrackingEvent(courseImageClicked, cardId, homeUrl); const wrapperClassName = `pgn__card-wrapper-image-cap d-inline-block overflow-visible ${orientation}`; const image = ( <> {formatMessage(messages.bannerAlt)} { courseData?.enrollment?.isVerified && ( {formatMessage(messages.verifiedBanner)} {formatMessage(messages.verifiedBannerRibbonAlt)} ) } ); return disableCourseTitle ? (
{image}
) : ( {image} ); }; CourseCardImage.propTypes = { cardId: PropTypes.string.isRequired, orientation: PropTypes.string.isRequired, }; CourseCardImage.defaultProps = {}; export default CourseCardImage;