kafka-ui/kafka-ui-react-app/src/components/Nav/Nav.tsx
Yevgen Taran 498eb96bee
Feature/backend init (#3)
* move react-app to its own folder inside project

* move backend to kafka-ui repo

* setup react inside netty

* make application ready in 2 commands

* update readme

* update readme

* update readme

* update readme

* update profiles for application start inside (sdp profile) and outside docker (local profile)

* broker metrics endpoint

* topics endpoint start commit

* topics details endpoint start commit //
dependencies and versions fix

* small pom updates //
continue review fixes

* fix review issues //
save errors //
save connections and update connection logic //
save jmx, zookeeper, kafka statuses //
error with getting one topic doesn't fail others //
async metrics processing //
cluster data storage refactoring

* properties version extracting

* properties versions

* topic details

* remove jmx, topic details, topic configs

* create topic

* final fixes, topic creation

* topic creation ui fixes

* add check for cases when cluster is offline
2020-02-27 15:55:53 +03:00

38 lines
964 B
TypeScript

import React from 'react';
import { Cluster } from 'redux/interfaces';
import { NavLink } from 'react-router-dom';
import cx from 'classnames';
import ClusterMenu from './ClusterMenu';
interface Props {
isClusterListFetched: boolean,
clusters: Cluster[];
className?: string;
}
const Nav: React.FC<Props> = ({
isClusterListFetched,
clusters,
className,
}) => (
<aside className={cx('menu has-shadow has-background-white', className)}>
<p className="menu-label">
General
</p>
<ul className="menu-list">
<li>
<NavLink exact to="/" activeClassName="is-active" title="Dashboard">
Dashboard
</NavLink>
</li>
</ul>
<p className="menu-label">
Clusters
</p>
{!isClusterListFetched && <div className="loader" />}
{isClusterListFetched && clusters.map((cluster, index) => <ClusterMenu {...cluster} key={`cluster-list-item-key-${index}`}/>)}
</aside>
);
export default Nav;