// ============================================================================== // Copyright (C) 2019 - Philip Paquette, Steven Bocco // // This program is free software: you can redistribute it and/or modify it under // the terms of the GNU Affero General Public License as published by the Free // Software Foundation, either version 3 of the License, or (at your option) any // later version. // // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more // details. // // You should have received a copy of the GNU Affero General Public License along // with this program. If not, see . // ============================================================================== import React from "react"; import Octicon, {Person} from "@primer/octicons-react"; import PropTypes from "prop-types"; export class Navigation extends React.Component { render() { const hasNavigation = this.props.navigation && this.props.navigation.length; if (hasNavigation) { return (
{this.props.title} {this.props.afterTitle ? this.props.afterTitle : ''}
{(!hasNavigation && (
{this.props.username}
)) || (
{this.props.navigation.map((nav, index) => { const navTitle = nav[0]; const navAction = nav[1]; return {navTitle}; })}
)}
); } return (
{this.props.title}
); } } Navigation.propTypes = { title: PropTypes.string.isRequired, afterTitle: PropTypes.object, navigation: PropTypes.array, username: PropTypes.string, };