import variables from 'config/variables'; import React, { useState, useEffect } from 'react'; import { MdSettings, MdOutlineShoppingBasket, MdOutlineExtension, MdRefresh, MdClose, } from 'react-icons/md'; import Tab from './Tab'; import { Button, Tooltip } from 'components/Elements'; import ErrorBoundary from '../../../../features/misc/modals/ErrorBoundary'; const Tabs = (props) => { const [currentTab, setCurrentTab] = useState(props.children[0].props.label); const [currentName, setCurrentName] = useState(props.children[0].props.name); const onClick = (tab, name) => { if (name !== currentName) { variables.stats.postEvent('tab', `Opened ${name}`); } setCurrentTab(tab); setCurrentName(name); }; const hideReminder = () => { localStorage.setItem('showReminder', false); document.querySelector('.reminder-info').style.display = 'none'; }; const navbarButtons = [ { tab: 'settings', icon: , }, { tab: 'addons', icon: , }, { tab: 'marketplace', icon: , }, ]; const reminderInfo = (
{variables.getMessage('modals.main.settings.reminder.title')}
{variables.getMessage('modals.main.settings.reminder.message')}
); const navbarLogo = ( ); return (
{navbarLogo} {navbarButtons.map(({ tab, icon }, index) => (
{props.children.map((tab, index) => ( onClick(nextTab, tab.props.name)} navbarTab={props.navbar || false} /> ))} {reminderInfo}
{props.children.map((tab, index) => { if (tab.props.label !== currentTab) { return undefined; } return ( {tab.props.children} ); })}
); }; export default Tabs;