Files
socialhose-php/frontend/app/components/App/AppHeader/SubTabWrapper.js
T
2022-12-09 08:36:26 -06:00

56 lines
1.8 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { NavLink } from 'react-router-dom';
import { translate } from 'react-i18next';
class SubTabWrapper extends React.Component {
static propTypes = {
activeTabName: PropTypes.string.isRequired,
subTabs: PropTypes.array.isRequired,
t: PropTypes.func.isRequired,
children: PropTypes.object
};
render() {
const { t, activeTabName, subTabs, children } = this.props;
return (
<div className="rc-tabs-top position-relative" key="sub-tab-wrapper">
<div role="tablist" className="rc-tabs-bar" tabIndex="0">
<div className="rc-tabs-nav-container">
<div className="rc-tabs-nav-wrap mask-line pt-0">
<div className="rc-tabs-nav-scroll">
<div className="rc-tabs-nav rc-tabs-nav-animated">
{subTabs &&
subTabs.map((subTab) => {
const tabText =
activeTabName === 'dashboard'
? subTab.title
: t('tabs.' + subTab.title);
const fullUrl =
'/app/' + activeTabName + '/' + subTab.url;
return (
<NavLink
to={fullUrl}
key={subTab.url}
activeClassName="rc-tabs-tab-active rc-tabs-ink-bar rc-tabs-ink-bar-animated"
className="rc-tabs-tab"
>
{tabText}
</NavLink>
);
})}
</div>
</div>
</div>
</div>
</div>
{children}
</div>
);
}
}
export default translate(['common'], { wait: true })(SubTabWrapper);