This commit is contained in:
Maren Süwer
2018-09-06 09:28:35 +02:00
1840 changed files with 34872 additions and 207846 deletions

View File

@@ -0,0 +1,56 @@
//@flow
import React from "react";
import type { Repository } from "../types/Repositories";
import MailLink from "../../components/MailLink";
import DateFromNow from "../../components/DateFromNow";
import { translate } from "react-i18next";
type Props = {
repository: Repository,
// context props
t: string => string
};
class RepositoryDetailTable extends React.Component<Props> {
render() {
const { repository, t } = this.props;
return (
<table className="table">
<tbody>
<tr>
<td>{t("repository.name")}</td>
<td>{repository.name}</td>
</tr>
<tr>
<td>{t("repository.type")}</td>
<td>{repository.type}</td>
</tr>
<tr>
<td>{t("repository.contact")}</td>
<td>
<MailLink address={repository.contact} />
</td>
</tr>
<tr>
<td>{t("repository.description")}</td>
<td>{repository.description}</td>
</tr>
<tr>
<td>{t("repository.creationDate")}</td>
<td>
<DateFromNow date={repository.creationDate} />
</td>
</tr>
<tr>
<td>{t("repository.lastModified")}</td>
<td>
<DateFromNow date={repository.lastModified} />
</td>
</tr>
</tbody>
</table>
);
}
}
export default translate("repos")(RepositoryDetailTable);

View File

@@ -1,56 +1,29 @@
//@flow
import React from "react";
import { translate } from "react-i18next";
import type { Repository } from "../types/Repositories";
import MailLink from "../../components/MailLink";
import DateFromNow from "../../components/DateFromNow";
import RepositoryDetailTable from "./RepositoryDetailTable";
import { ExtensionPoint } from "@scm-manager/ui-extensions";
type Props = {
repository: Repository,
// context props
t: string => string
repository: Repository
};
class RepositoryDetails extends React.Component<Props> {
render() {
const { repository, t } = this.props;
const { repository } = this.props;
return (
<table className="table">
<tbody>
<tr>
<td>{t("repository.name")}</td>
<td>{repository.name}</td>
</tr>
<tr>
<td>{t("repository.type")}</td>
<td>{repository.type}</td>
</tr>
<tr>
<td>{t("repository.contact")}</td>
<td>
<MailLink address={repository.contact} />
</td>
</tr>
<tr>
<td>{t("repository.description")}</td>
<td>{repository.description}</td>
</tr>
<tr>
<td>{t("repository.creationDate")}</td>
<td>
<DateFromNow date={repository.creationDate} />
</td>
</tr>
<tr>
<td>{t("repository.lastModified")}</td>
<td>
<DateFromNow date={repository.lastModified} />
</td>
</tr>
</tbody>
</table>
<div>
<RepositoryDetailTable repository={repository} />
<div className="content">
<ExtensionPoint
name="repos.repository-details.information"
renderAll={true}
props={{ repository }}
/>
</div>
</div>
);
}
}
export default translate("repos")(RepositoryDetails);
export default RepositoryDetails;

View File

@@ -0,0 +1,24 @@
//@flow
import React from "react";
import { ExtensionPoint } from "@scm-manager/ui-extensions";
import type { Repository } from "../../types/Repositories";
import Image from "../../../components/Image";
type Props = {
repository: Repository
};
class RepositoryAvatar extends React.Component<Props> {
render() {
const { repository } = this.props;
return (
<p className="image is-64x64">
<ExtensionPoint name="repos.repository-avatar" props={{ repository }}>
<Image src="/images/blib.jpg" alt="Logo" />
</ExtensionPoint>
</p>
);
}
}
export default RepositoryAvatar;

View File

@@ -6,8 +6,7 @@ import type { Repository } from "../../types/Repositories";
import DateFromNow from "../../../components/DateFromNow";
import RepositoryEntryLink from "./RepositoryEntryLink";
import classNames from "classnames";
import icon from "../../../images/blib.jpg";
import RepositoryAvatar from "./RepositoryAvatar";
const styles = {
outer: {
@@ -45,7 +44,7 @@ class RepositoryEntry extends React.Component<Props> {
if (repository._links["changesets"]) {
return (
<RepositoryEntryLink
iconClass="fa-code-fork"
iconClass="fa-code-branch"
to={repositoryLink + "/changesets"}
/>
);
@@ -85,9 +84,7 @@ class RepositoryEntry extends React.Component<Props> {
<Link className={classes.overlay} to={repositoryLink} />
<article className={classNames("media", classes.inner)}>
<figure className="media-left">
<p className="image is-64x64">
<img src={icon} alt="Logo" />
</p>
<RepositoryAvatar repository={repository} />
</figure>
<div className="media-content">
<div className="content">