This commit is contained in:
Florian Scholdei
2019-01-23 16:40:08 +01:00
162 changed files with 4026 additions and 2394 deletions

View File

@@ -12,11 +12,12 @@ import {
ChangesetDiff,
AvatarWrapper,
AvatarImage,
changesets,
changesets
} from "@scm-manager/ui-components";
import classNames from "classnames";
import type { Tag } from "@scm-manager/ui-types";
import { ExtensionPoint } from "@scm-manager/ui-extensions";
const styles = {
spacing: {
@@ -38,9 +39,9 @@ class ChangesetDetails extends React.Component<Props> {
const description = changesets.parseDescription(changeset.description);
const id = (
<ChangesetId repository={repository} changeset={changeset} link={false}/>
<ChangesetId repository={repository} changeset={changeset} link={false} />
);
const date = <DateFromNow date={changeset.date}/>;
const date = <DateFromNow date={changeset.date} />;
return (
<div>
@@ -54,7 +55,7 @@ class ChangesetDetails extends React.Component<Props> {
</AvatarWrapper>
<div className="media-content">
<p>
<ChangesetAuthor changeset={changeset}/>
<ChangesetAuthor changeset={changeset} />
</p>
<p>
<Interpolate
@@ -66,16 +67,22 @@ class ChangesetDetails extends React.Component<Props> {
</div>
<div className="media-right">{this.renderTags()}</div>
</article>
<p>
{description.message.split("\n").map((item, key) => {
return (
<span key={key}>
{item}
<br/>
</span>
);
})}
</p>
<ExtensionPoint
name="changesets.changeset.description"
props={{ changeset, description }}
renderAll={true}
>
<p>
{description.message.split("\n").map((item, key) => {
return (
<span key={key}>
{item}
<br />
</span>
);
})}
</p>
</ExtensionPoint>
</div>
<div>
<ChangesetDiff changeset={changeset} />
@@ -95,7 +102,7 @@ class ChangesetDetails extends React.Component<Props> {
return (
<div className="level-item">
{tags.map((tag: Tag) => {
return <ChangesetTag key={tag.name} tag={tag}/>;
return <ChangesetTag key={tag.name} tag={tag} />;
})}
</div>
);

View File

@@ -9,7 +9,12 @@ import classNames from "classnames";
import RepositoryAvatar from "./RepositoryAvatar";
const styles = {
overlay: {
overlayFullColumn: {
position: "absolute",
height: "calc(120px - 0.5rem)",
width: "calc(100% - 1.5rem)"
},
overlayHalfColumn: {
position: "absolute",
height: "calc(120px - 1.5rem)",
width: "calc(50% - 3rem)"
@@ -80,6 +85,9 @@ class RepositoryEntry extends React.Component<Props> {
const { repository, classes, fullColumnWidth } = this.props;
const repositoryLink = this.createLink(repository);
const halfColumn = fullColumnWidth ? "is-full" : "is-half";
const overlayLinkClass = fullColumnWidth
? classes.overlayFullColumn
: classes.overlayHalfColumn;
return (
<div
className={classNames(
@@ -90,12 +98,12 @@ class RepositoryEntry extends React.Component<Props> {
halfColumn
)}
>
<Link className={classNames(classes.overlay)} to={repositoryLink} />
<Link className={classNames(overlayLinkClass)} to={repositoryLink} />
<article className={classNames("media", classes.inner)}>
<figure className={classNames(classes.centerImage, "media-left")}>
<RepositoryAvatar repository={repository} />
</figure>
<div className="media-content">
<div className={classNames("media-content", "text-box")}>
<div className="content">
<p className="is-marginless">
<strong>{repository.name}</strong>