//@flow import React from "react"; import { Link } from "react-router-dom"; import injectSheet from "react-jss"; import type { Repository } from "../../types/Repositories"; import DateFromNow from "../../../components/DateFromNow"; import RepositoryEntryLink from "./RepositoryEntryLink"; import classNames from "classnames"; import RepositoryAvatar from "./RepositoryAvatar"; const styles = { outer: { position: "relative" }, overlay: { position: "absolute", left: 0, top: 0, bottom: 0, right: 0 }, inner: { position: "relative", pointerEvents: "none", zIndex: 1 }, innerLink: { pointerEvents: "all" } }; type Props = { repository: Repository, // 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 } = this.props; const repositoryLink = this.createLink(repository); return (

{repository.name}
{repository.description}

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