alpinesmuseum-public/assets/js/components/AppMenu/MenuNavItem.js

44 lines
1.2 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { Link, withRouter } from 'react-router-dom';
import reduxLang from '../../middleware/lang';
import animateScrollTo from 'animated-scroll-to';
const MenuNavItem = ({ to, name, isEnabled, navitem, toggleMenu, t, location, isPreLaunch }) => {
if (isPreLaunch) {
const navitems_urls = { contribute: '/mitmachen', about: '/info' };
navitems_urls.contribute = 'pre-launch-contribute-form';
navitems_urls.about = 'pre-launch-info';
return (
<div className='MenuNavItem medium-text'>
<a
href={`#${navitems_urls[navitem]}`}
className={location.pathname.includes(navitems_urls[navitem]) ? 'active' : ''}
onClick={() => {
animateScrollTo(document.getElementById(navitems_urls[navitem]));
toggleMenu();
}}
>
{t(navitem)}
</a>
</div>
);
}
return isEnabled ? (
<div className='MenuNavItem medium-text'>
<a href={to} className={location.pathname.includes(to) ? 'active' : ''} onClick={toggleMenu}>{name}</a>
</div>
) : null;
};
MenuNavItem.propTypes = {
navitem: PropTypes.string.isRequired,
t: PropTypes.func.isRequired,
location: PropTypes.object.isRequired
};
export default reduxLang('AppMenu')(withRouter(MenuNavItem));