2018-09-03 16:17:36 +02:00
|
|
|
//@flow
|
|
|
|
|
import React from "react";
|
|
|
|
|
import { translate } from "react-i18next";
|
|
|
|
|
import PrimaryNavigationLink from "./PrimaryNavigationLink";
|
|
|
|
|
|
|
|
|
|
type Props = {
|
2018-10-05 13:48:21 +02:00
|
|
|
t: string => string,
|
2018-10-18 08:25:24 +02:00
|
|
|
repositoriesLink: string,
|
|
|
|
|
usersLink: string,
|
|
|
|
|
groupsLink: string,
|
|
|
|
|
configLink: string,
|
|
|
|
|
logoutLink: string
|
2018-09-03 16:17:36 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class PrimaryNavigation extends React.Component<Props> {
|
|
|
|
|
render() {
|
2018-10-05 13:48:21 +02:00
|
|
|
const { t, repositoriesLink, usersLink, groupsLink, configLink, logoutLink } = this.props;
|
|
|
|
|
|
2018-10-18 08:52:53 +02:00
|
|
|
const links = [
|
|
|
|
|
repositoriesLink ? (
|
|
|
|
|
<PrimaryNavigationLink
|
|
|
|
|
to="/repos"
|
|
|
|
|
match="/(repo|repos)"
|
|
|
|
|
label={t("primary-navigation.repositories")}
|
|
|
|
|
key={"repositoriesLink"}
|
|
|
|
|
/>): null,
|
|
|
|
|
usersLink ? (
|
|
|
|
|
<PrimaryNavigationLink
|
|
|
|
|
to="/users"
|
|
|
|
|
match="/(user|users)"
|
|
|
|
|
label={t("primary-navigation.users")}
|
|
|
|
|
key={"usersLink"}
|
|
|
|
|
/>) : null,
|
|
|
|
|
groupsLink ? (
|
|
|
|
|
<PrimaryNavigationLink
|
|
|
|
|
to="/groups"
|
|
|
|
|
match="/(group|groups)"
|
|
|
|
|
label={t("primary-navigation.groups")}
|
|
|
|
|
key={"groupsLink"}
|
|
|
|
|
/>) : null,
|
|
|
|
|
configLink ? (
|
|
|
|
|
<PrimaryNavigationLink
|
|
|
|
|
to="/config"
|
|
|
|
|
label={t("primary-navigation.config")}
|
|
|
|
|
key={"configLink"}
|
|
|
|
|
/>) : null,
|
|
|
|
|
logoutLink ? (
|
|
|
|
|
<PrimaryNavigationLink
|
|
|
|
|
to="/logout"
|
|
|
|
|
label={t("primary-navigation.logout")}
|
|
|
|
|
key={"logoutLink"}
|
|
|
|
|
/>) : null
|
|
|
|
|
];
|
2018-10-05 13:48:21 +02:00
|
|
|
|
2018-09-03 16:17:36 +02:00
|
|
|
return (
|
|
|
|
|
<nav className="tabs is-boxed">
|
|
|
|
|
<ul>
|
2018-10-18 08:52:53 +02:00
|
|
|
{links}
|
2018-09-03 16:17:36 +02:00
|
|
|
</ul>
|
|
|
|
|
</nav>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default translate("commons")(PrimaryNavigation);
|