// Package imports import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * export default class LocalSettingsPage extends React.PureComponent { static propTypes = { active: PropTypes.bool, className: PropTypes.string, href: PropTypes.string, icon: PropTypes.string, index: PropTypes.number.isRequired, onNavigate: PropTypes.func, title: PropTypes.string, }; handleClick = (e) => { const { index, onNavigate } = this.props; if (onNavigate) { onNavigate(index); e.preventDefault(); } } render () { const { handleClick } = this; const { active, className, href, icon, onNavigate, title, } = this.props; const finalClassName = classNames('glitch', 'local-settings__navigation__item', { active, }, className); const iconElem = icon ? : null; if (href) return ( {iconElem} {title} ); else if (onNavigate) return ( {iconElem} {title} ); else return null; } }