import { Link } from 'react-router-dom'; import { useSelector } from 'react-redux'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import { injectIntl, intlShape, isRtl, getLocale, } from '@edx/frontend-platform/i18n'; import { Button, useWindowSize, breakpoints } from '@openedx/paragon'; import { ChevronLeft as ChevronLeftIcon, ChevronRight as ChevronRightIcon, } from '@openedx/paragon/icons'; import { useModel } from '../../../generic/model-store'; import { RequestStatus } from '../../../data/constants'; import { getSequenceStatus } from '../../data/selectors'; import { useSequenceNavigationMetadata } from '../hooks'; import messages from '../messages'; import SequenceNavigationTabs from './SequenceNavigationTabs'; const SequenceNavigation = ({ intl, unitId, sequenceId, className, }) => { const sequenceStatus = useSelector(getSequenceStatus); const { isFirstUnit, isLastUnit, nextLink, previousLink, } = useSequenceNavigationMetadata(sequenceId, unitId); const sequence = useModel('sequences', sequenceId); const shouldDisplayNotificationTriggerInSequence = useWindowSize().width < breakpoints.small.minWidth; const renderUnitButtons = () => { if (sequence.unitIds?.length === 0 || unitId === null) { return (
); } return (