import React, { useEffect } from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import { useDispatch, useSelector } from 'react-redux'; import { useIntl } from '@edx/frontend-platform/i18n'; import { fetchTab } from './data/thunks'; import Tabs from './tabs/Tabs'; import messages from './messages'; import './navBar.scss'; const CourseTabsNavigation = ({ activeTab, className, courseId, rootSlug, }) => { const dispatch = useDispatch(); const intl = useIntl(); const tabs = useSelector(state => state.courseTabs.tabs); useEffect(() => { dispatch(fetchTab(courseId, rootSlug)); }, [courseId]); return (
{!!tabs.length && ( {tabs.map(({ url, title, slug }) => ( {title} ))} )}
); }; CourseTabsNavigation.propTypes = { activeTab: PropTypes.string, className: PropTypes.string, rootSlug: PropTypes.string, courseId: PropTypes.string.isRequired, }; CourseTabsNavigation.defaultProps = { activeTab: undefined, className: null, rootSlug: 'outline', }; export default React.memo(CourseTabsNavigation);