import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import PageContainer from '../services/PageContainer'; import PageListIcon from './Icons/PageListIcon'; import TimeLineIcon from './Icons/TimeLineIcon'; import RecentChangesIcon from './Icons/RecentChangesIcon'; import AttachmentIcon from './Icons/AttachmentIcon'; import PageAccessoriesModal from './PageAccessoriesModal'; import { withUnstatedContainers } from './UnstatedUtils'; const TopOfTableContents = (props) => { const [isPageAccessoriesModalShown, setIsPageAccessoriesModalShown] = useState(false); const [activeTab, setActiveTab] = useState(''); // Prevent unnecessary rendering const [activeComponents, setActiveComponents] = useState(new Set([''])); function openPageAccessoriesModal(activeTab) { setIsPageAccessoriesModalShown(true); setActiveTab(activeTab); } function switchActiveTab(clickedTab) { activeComponents.add(clickedTab); setActiveComponents(activeComponents); setActiveTab(clickedTab); } function closePageAccessoriesModal() { setIsPageAccessoriesModalShown(false); } function renderModal() { return ( <> ); } return ( <>
{renderModal()} ); }; /** * Wrapper component for using unstated */ const TopOfTableContentsWrapper = withUnstatedContainers(TopOfTableContents, [PageContainer]); TopOfTableContents.propTypes = { pageContainer: PropTypes.instanceOf(PageContainer).isRequired, }; export default withTranslation()(TopOfTableContentsWrapper);