//@flow import React from "react"; import { Link } from "react-router-dom"; import injectSheet from "react-jss"; import type { Repository } from "@scm-manager/ui-types"; import { DateFromNow } from "@scm-manager/ui-components"; import RepositoryEntryLink from "./RepositoryEntryLink"; import classNames from "classnames"; import RepositoryAvatar from "./RepositoryAvatar"; const styles = { overlay: { position: "absolute", height: "calc(120px - 1.5rem)", width: "calc(50% - 3rem)" }, inner: { position: "relative", pointerEvents: "none", zIndex: 1 }, innerLink: { pointerEvents: "all" }, centerImage: { marginTop: "0.8em", marginLeft: "1em !important" } }; type Props = { repository: Repository, full?: boolean, // context props classes: any }; class RepositoryEntry extends React.Component { createLink = (repository: Repository) => { return `/repo/${repository.namespace}/${repository.name}`; }; renderChangesetsLink = (repository: Repository, repositoryLink: string) => { if (repository._links["changesets"]) { return ( ); } return null; }; renderSourcesLink = (repository: Repository, repositoryLink: string) => { if (repository._links["sources"]) { return ( ); } return null; }; renderModifyLink = (repository: Repository, repositoryLink: string) => { if (repository._links["update"]) { return ( ); } return null; }; render() { const { repository, classes, full } = this.props; const repositoryLink = this.createLink(repository); const halfColumn = full ? "is-full" : "is-half"; return (

{repository.name}

{repository.description}

); } } export default injectSheet(styles)(RepositoryEntry);