//@flow import React from "react"; import { Link } from "react-router-dom"; import { translate } from "react-i18next"; import injectSheet from "react-jss"; import classNames from "classnames"; import { binder, ExtensionPoint } from "@scm-manager/ui-extensions"; import type { Branch, Repository } from "@scm-manager/ui-types"; import Icon from "./Icon"; type Props = { repository: Repository, branch: Branch, defaultBranch: Branch, branches: Branch[], revision: string, path: string, baseUrl: string, // Context props classes: any, t: string => string }; const styles = { noMargin: { margin: "0" }, flexRow: { display: "flex", flexDirection: "row" }, flexStart: { flex: "1" }, buttonGroup: { alignSelf: "center", paddingRight: "1rem" } }; class Breadcrumb extends React.Component { renderPath() { const { revision, path, baseUrl } = this.props; if (path) { const paths = path.split("/"); const map = paths.map((path, index) => { const currPath = paths.slice(0, index + 1).join("/"); if (paths.length - 1 === index) { return (
  • {path}
  • ); } return (
  • {path}
  • ); }); return map; } return null; } render() { const { baseUrl, branch, defaultBranch, branches, revision, path, repository, classes, t } = this.props; return ( <>
    {binder.hasExtension("repos.sources.actionbar") && (
    b.name.replace("/", "%2F") === revision ).length > 0, repository }} renderAll={true} />
    )}

    ); } } export default translate("commons")(injectSheet(styles)(Breadcrumb));