@scm-manager/ui-components 2.26.1-20211008-080249 → 2.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scm-manager/ui-components",
|
|
3
|
-
"version": "2.26.1
|
|
3
|
+
"version": "2.26.1",
|
|
4
4
|
"description": "UI Components for SCM-Manager and its plugins",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"files": [
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@scm-manager/jest-preset": "^2.12.7",
|
|
26
26
|
"@scm-manager/prettier-config": "^2.10.1",
|
|
27
27
|
"@scm-manager/tsconfig": "^2.12.0",
|
|
28
|
-
"@scm-manager/ui-tests": "^2.26.1
|
|
28
|
+
"@scm-manager/ui-tests": "^2.26.1",
|
|
29
29
|
"@storybook/addon-actions": "^6.3.12",
|
|
30
30
|
"@storybook/addon-storyshots": "^6.3.12",
|
|
31
31
|
"@storybook/react": "^6.3.12",
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"worker-plugin": "^3.2.0"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@scm-manager/ui-api": "^2.26.1
|
|
65
|
-
"@scm-manager/ui-extensions": "^2.26.1
|
|
66
|
-
"@scm-manager/ui-types": "^2.26.1
|
|
64
|
+
"@scm-manager/ui-api": "^2.26.1",
|
|
65
|
+
"@scm-manager/ui-extensions": "^2.26.1",
|
|
66
|
+
"@scm-manager/ui-types": "^2.26.1",
|
|
67
67
|
"classnames": "^2.2.6",
|
|
68
68
|
"date-fns": "^2.4.1",
|
|
69
69
|
"deepmerge": "^4.2.2",
|
|
@@ -20765,7 +20765,7 @@ exports[`Storyshots Repositories/Changesets Co-Authors with avatar 1`] = `
|
|
|
20765
20765
|
className="media-left mt-2 mr-2"
|
|
20766
20766
|
>
|
|
20767
20767
|
<div
|
|
20768
|
-
className="
|
|
20768
|
+
className="SingleChangeset__FixedSizedAvatar-ytpqp9-0 cFkYuh image"
|
|
20769
20769
|
>
|
|
20770
20770
|
<img
|
|
20771
20771
|
alt="SCM Administrator"
|
|
@@ -20775,7 +20775,7 @@ exports[`Storyshots Repositories/Changesets Co-Authors with avatar 1`] = `
|
|
|
20775
20775
|
</div>
|
|
20776
20776
|
</figure>
|
|
20777
20777
|
<div
|
|
20778
|
-
className="
|
|
20778
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
20779
20779
|
>
|
|
20780
20780
|
<h4
|
|
20781
20781
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -20931,7 +20931,7 @@ exports[`Storyshots Repositories/Changesets Commiter and Co-Authors with avatar
|
|
|
20931
20931
|
className="media-left mt-2 mr-2"
|
|
20932
20932
|
>
|
|
20933
20933
|
<div
|
|
20934
|
-
className="
|
|
20934
|
+
className="SingleChangeset__FixedSizedAvatar-ytpqp9-0 cFkYuh image"
|
|
20935
20935
|
>
|
|
20936
20936
|
<img
|
|
20937
20937
|
alt="SCM Administrator"
|
|
@@ -20941,7 +20941,7 @@ exports[`Storyshots Repositories/Changesets Commiter and Co-Authors with avatar
|
|
|
20941
20941
|
</div>
|
|
20942
20942
|
</figure>
|
|
20943
20943
|
<div
|
|
20944
|
-
className="
|
|
20944
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
20945
20945
|
>
|
|
20946
20946
|
<h4
|
|
20947
20947
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21083,7 +21083,7 @@ exports[`Storyshots Repositories/Changesets Default 1`] = `
|
|
|
21083
21083
|
className="media"
|
|
21084
21084
|
>
|
|
21085
21085
|
<div
|
|
21086
|
-
className="
|
|
21086
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21087
21087
|
>
|
|
21088
21088
|
<h4
|
|
21089
21089
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21196,7 +21196,7 @@ exports[`Storyshots Repositories/Changesets Replacements 1`] = `
|
|
|
21196
21196
|
className="media"
|
|
21197
21197
|
>
|
|
21198
21198
|
<div
|
|
21199
|
-
className="
|
|
21199
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21200
21200
|
>
|
|
21201
21201
|
<h4
|
|
21202
21202
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21319,7 +21319,7 @@ exports[`Storyshots Repositories/Changesets With Committer 1`] = `
|
|
|
21319
21319
|
className="media"
|
|
21320
21320
|
>
|
|
21321
21321
|
<div
|
|
21322
|
-
className="
|
|
21322
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21323
21323
|
>
|
|
21324
21324
|
<h4
|
|
21325
21325
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21444,7 +21444,7 @@ exports[`Storyshots Repositories/Changesets With Committer and Co-Author 1`] = `
|
|
|
21444
21444
|
className="media"
|
|
21445
21445
|
>
|
|
21446
21446
|
<div
|
|
21447
|
-
className="
|
|
21447
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21448
21448
|
>
|
|
21449
21449
|
<h4
|
|
21450
21450
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21581,7 +21581,7 @@ exports[`Storyshots Repositories/Changesets With avatar 1`] = `
|
|
|
21581
21581
|
className="media-left mt-2 mr-2"
|
|
21582
21582
|
>
|
|
21583
21583
|
<div
|
|
21584
|
-
className="
|
|
21584
|
+
className="SingleChangeset__FixedSizedAvatar-ytpqp9-0 cFkYuh image"
|
|
21585
21585
|
>
|
|
21586
21586
|
<img
|
|
21587
21587
|
alt="SCM Administrator"
|
|
@@ -21591,7 +21591,7 @@ exports[`Storyshots Repositories/Changesets With avatar 1`] = `
|
|
|
21591
21591
|
</div>
|
|
21592
21592
|
</figure>
|
|
21593
21593
|
<div
|
|
21594
|
-
className="
|
|
21594
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21595
21595
|
>
|
|
21596
21596
|
<h4
|
|
21597
21597
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21704,7 +21704,7 @@ exports[`Storyshots Repositories/Changesets With contactless signature 1`] = `
|
|
|
21704
21704
|
className="media"
|
|
21705
21705
|
>
|
|
21706
21706
|
<div
|
|
21707
|
-
className="
|
|
21707
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21708
21708
|
>
|
|
21709
21709
|
<h4
|
|
21710
21710
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21827,7 +21827,7 @@ exports[`Storyshots Repositories/Changesets With invalid signature 1`] = `
|
|
|
21827
21827
|
className="media"
|
|
21828
21828
|
>
|
|
21829
21829
|
<div
|
|
21830
|
-
className="
|
|
21830
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21831
21831
|
>
|
|
21832
21832
|
<h4
|
|
21833
21833
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21950,7 +21950,7 @@ exports[`Storyshots Repositories/Changesets With multiple Co-Authors 1`] = `
|
|
|
21950
21950
|
className="media"
|
|
21951
21951
|
>
|
|
21952
21952
|
<div
|
|
21953
|
-
className="
|
|
21953
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
21954
21954
|
>
|
|
21955
21955
|
<h4
|
|
21956
21956
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -22076,7 +22076,7 @@ exports[`Storyshots Repositories/Changesets With multiple signatures and invalid
|
|
|
22076
22076
|
className="media"
|
|
22077
22077
|
>
|
|
22078
22078
|
<div
|
|
22079
|
-
className="
|
|
22079
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
22080
22080
|
>
|
|
22081
22081
|
<h4
|
|
22082
22082
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -22199,7 +22199,7 @@ exports[`Storyshots Repositories/Changesets With multiple signatures and not fou
|
|
|
22199
22199
|
className="media"
|
|
22200
22200
|
>
|
|
22201
22201
|
<div
|
|
22202
|
-
className="
|
|
22202
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
22203
22203
|
>
|
|
22204
22204
|
<h4
|
|
22205
22205
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -22322,7 +22322,7 @@ exports[`Storyshots Repositories/Changesets With multiple signatures and valid s
|
|
|
22322
22322
|
className="media"
|
|
22323
22323
|
>
|
|
22324
22324
|
<div
|
|
22325
|
-
className="
|
|
22325
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
22326
22326
|
>
|
|
22327
22327
|
<h4
|
|
22328
22328
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -22445,7 +22445,7 @@ exports[`Storyshots Repositories/Changesets With unknown signature 1`] = `
|
|
|
22445
22445
|
className="media"
|
|
22446
22446
|
>
|
|
22447
22447
|
<div
|
|
22448
|
-
className="
|
|
22448
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
22449
22449
|
>
|
|
22450
22450
|
<h4
|
|
22451
22451
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -22568,7 +22568,7 @@ exports[`Storyshots Repositories/Changesets With unowned signature 1`] = `
|
|
|
22568
22568
|
className="media"
|
|
22569
22569
|
>
|
|
22570
22570
|
<div
|
|
22571
|
-
className="
|
|
22571
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
22572
22572
|
>
|
|
22573
22573
|
<h4
|
|
22574
22574
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -22691,7 +22691,7 @@ exports[`Storyshots Repositories/Changesets With valid signature 1`] = `
|
|
|
22691
22691
|
className="media"
|
|
22692
22692
|
>
|
|
22693
22693
|
<div
|
|
22694
|
-
className="
|
|
22694
|
+
className="SingleChangeset__FullWidthDiv-ytpqp9-1 dYhvFy media-right ml-0"
|
|
22695
22695
|
>
|
|
22696
22696
|
<h4
|
|
22697
22697
|
className="has-text-weight-bold is-ellipsis-overflow"
|
|
@@ -21,23 +21,15 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
|
-
import React from "react";
|
|
25
|
-
import { Trans, WithTranslation, withTranslation } from "react-i18next";
|
|
24
|
+
import React, { FC } from "react";
|
|
26
25
|
import classNames from "classnames";
|
|
27
26
|
import styled from "styled-components";
|
|
28
27
|
import { ExtensionPoint } from "@scm-manager/ui-extensions";
|
|
29
28
|
import { Changeset, Repository } from "@scm-manager/ui-types";
|
|
30
|
-
import DateFromNow from "../../DateFromNow";
|
|
31
|
-
import { AvatarWrapper, AvatarImage } from "../../avatar";
|
|
32
|
-
import { parseDescription } from "./changesets";
|
|
33
|
-
import ChangesetId from "./ChangesetId";
|
|
34
|
-
import ChangesetAuthor from "./ChangesetAuthor";
|
|
35
|
-
import ChangesetTags from "./ChangesetTags";
|
|
36
29
|
import ChangesetButtonGroup from "./ChangesetButtonGroup";
|
|
37
|
-
import
|
|
38
|
-
import SignatureIcon from "./SignatureIcon";
|
|
30
|
+
import SingleChangeset from "./SingleChangeset";
|
|
39
31
|
|
|
40
|
-
type Props =
|
|
32
|
+
type Props = {
|
|
41
33
|
repository: Repository;
|
|
42
34
|
changeset: Changeset;
|
|
43
35
|
};
|
|
@@ -52,91 +44,27 @@ const Wrapper = styled.div`
|
|
|
52
44
|
}
|
|
53
45
|
`;
|
|
54
46
|
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
width: 100%;
|
|
62
|
-
`;
|
|
63
|
-
|
|
64
|
-
class ChangesetRow extends React.Component<Props> {
|
|
65
|
-
createChangesetId = (changeset: Changeset) => {
|
|
66
|
-
const { repository } = this.props;
|
|
67
|
-
return <ChangesetId changeset={changeset} repository={repository} />;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
render() {
|
|
71
|
-
const { repository, changeset } = this.props;
|
|
72
|
-
const description = parseDescription(changeset.description);
|
|
73
|
-
const changesetId = this.createChangesetId(changeset);
|
|
74
|
-
const dateFromNow = <DateFromNow date={changeset.date} />;
|
|
75
|
-
|
|
76
|
-
return (
|
|
77
|
-
<Wrapper>
|
|
78
|
-
<div className={classNames("columns", "is-gapless", "is-mobile")}>
|
|
79
|
-
<div className={classNames("column", "is-three-fifths")}>
|
|
80
|
-
<div className={classNames("columns", "is-gapless")}>
|
|
81
|
-
<div className={classNames("column", "is-four-fifths")}>
|
|
82
|
-
<div className="media">
|
|
83
|
-
<AvatarWrapper>
|
|
84
|
-
<figure className={classNames("media-left", "mt-2", "mr-2")}>
|
|
85
|
-
<FixedSizedAvatar className="image">
|
|
86
|
-
<AvatarImage person={changeset.author} />
|
|
87
|
-
</FixedSizedAvatar>
|
|
88
|
-
</figure>
|
|
89
|
-
</AvatarWrapper>
|
|
90
|
-
<FullWidthDiv className={classNames("media-right", "ml-0")}>
|
|
91
|
-
<h4 className={classNames("has-text-weight-bold", "is-ellipsis-overflow")}>
|
|
92
|
-
<ExtensionPoint
|
|
93
|
-
name="changeset.description"
|
|
94
|
-
props={{
|
|
95
|
-
changeset,
|
|
96
|
-
value: description.title,
|
|
97
|
-
}}
|
|
98
|
-
renderAll={false}
|
|
99
|
-
>
|
|
100
|
-
<ChangesetDescription changeset={changeset} value={description.title} />
|
|
101
|
-
</ExtensionPoint>
|
|
102
|
-
</h4>
|
|
103
|
-
<p className="is-hidden-touch">
|
|
104
|
-
<Trans i18nKey="repos:changeset.summary" components={[changesetId, dateFromNow]} />
|
|
105
|
-
</p>
|
|
106
|
-
<p className="is-hidden-desktop">
|
|
107
|
-
<Trans i18nKey="repos:changeset.shortSummary" components={[changesetId, dateFromNow]} />
|
|
108
|
-
</p>
|
|
109
|
-
<div className="is-flex">
|
|
110
|
-
<p className={classNames("is-size-7", "is-ellipsis-overflow", "mt-2")}>
|
|
111
|
-
<ChangesetAuthor changeset={changeset} />
|
|
112
|
-
</p>
|
|
113
|
-
{changeset?.signatures && changeset.signatures.length > 0 && (
|
|
114
|
-
<SignatureIcon className={classNames("mx-2", "pt-1")} signatures={changeset.signatures} />
|
|
115
|
-
)}
|
|
116
|
-
</div>
|
|
117
|
-
</FullWidthDiv>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
<div className={classNames("column", "is-align-self-center")}>
|
|
121
|
-
<ChangesetTags changeset={changeset} />
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
</div>
|
|
125
|
-
<div className={classNames("column", "is-flex", "is-justify-content-flex-end", "is-align-items-center")}>
|
|
126
|
-
<ChangesetButtonGroup repository={repository} changeset={changeset} />
|
|
127
|
-
<ExtensionPoint
|
|
128
|
-
name="changeset.right"
|
|
129
|
-
props={{
|
|
130
|
-
repository,
|
|
131
|
-
changeset,
|
|
132
|
-
}}
|
|
133
|
-
renderAll={true}
|
|
134
|
-
/>
|
|
135
|
-
</div>
|
|
47
|
+
const ChangesetRow: FC<Props> = ({ repository, changeset }) => {
|
|
48
|
+
return (
|
|
49
|
+
<Wrapper>
|
|
50
|
+
<div className={classNames("columns", "is-gapless", "is-mobile")}>
|
|
51
|
+
<div className={classNames("column", "is-three-fifths")}>
|
|
52
|
+
<SingleChangeset repository={repository} changeset={changeset} />
|
|
136
53
|
</div>
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
54
|
+
<div className={classNames("column", "is-flex", "is-justify-content-flex-end", "is-align-items-center")}>
|
|
55
|
+
<ChangesetButtonGroup repository={repository} changeset={changeset} />
|
|
56
|
+
<ExtensionPoint
|
|
57
|
+
name="changeset.right"
|
|
58
|
+
props={{
|
|
59
|
+
repository,
|
|
60
|
+
changeset,
|
|
61
|
+
}}
|
|
62
|
+
renderAll={true}
|
|
63
|
+
/>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</Wrapper>
|
|
67
|
+
);
|
|
68
|
+
};
|
|
141
69
|
|
|
142
|
-
export default
|
|
70
|
+
export default ChangesetRow;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MIT License
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2020-present Cloudogu GmbH and Contributors
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
* copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
* SOFTWARE.
|
|
23
|
+
*/
|
|
24
|
+
import React, { FC } from "react";
|
|
25
|
+
import classNames from "classnames";
|
|
26
|
+
import { AvatarImage, AvatarWrapper } from "../../avatar";
|
|
27
|
+
import { ExtensionPoint } from "@scm-manager/ui-extensions";
|
|
28
|
+
import ChangesetDescription from "./ChangesetDescription";
|
|
29
|
+
import { Trans } from "react-i18next";
|
|
30
|
+
import ChangesetAuthor from "./ChangesetAuthor";
|
|
31
|
+
import SignatureIcon from "./SignatureIcon";
|
|
32
|
+
import ChangesetTags from "./ChangesetTags";
|
|
33
|
+
import { parseDescription } from "./changesets";
|
|
34
|
+
import DateFromNow from "../../DateFromNow";
|
|
35
|
+
import { Changeset, Repository } from "@scm-manager/ui-types";
|
|
36
|
+
import styled from "styled-components";
|
|
37
|
+
import ChangesetId from "./ChangesetId";
|
|
38
|
+
|
|
39
|
+
type Props = {
|
|
40
|
+
repository: Repository;
|
|
41
|
+
changeset: Changeset;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const FixedSizedAvatar = styled.div`
|
|
45
|
+
width: 35px;
|
|
46
|
+
height: 35px;
|
|
47
|
+
`;
|
|
48
|
+
|
|
49
|
+
const FullWidthDiv = styled.div`
|
|
50
|
+
width: 100%;
|
|
51
|
+
`;
|
|
52
|
+
|
|
53
|
+
const SingleChangeset: FC<Props> = ({ repository, changeset }) => {
|
|
54
|
+
const createChangesetId = () => {
|
|
55
|
+
return <ChangesetId changeset={changeset} repository={repository} />;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const description = parseDescription(changeset.description);
|
|
59
|
+
const changesetId = createChangesetId();
|
|
60
|
+
const dateFromNow = <DateFromNow date={changeset.date} />;
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
<div className={classNames("columns", "is-gapless")}>
|
|
64
|
+
<div className={classNames("column", "is-four-fifths")}>
|
|
65
|
+
<div className="media">
|
|
66
|
+
<AvatarWrapper>
|
|
67
|
+
<figure className={classNames("media-left", "mt-2", "mr-2")}>
|
|
68
|
+
<FixedSizedAvatar className="image">
|
|
69
|
+
<AvatarImage person={changeset.author} />
|
|
70
|
+
</FixedSizedAvatar>
|
|
71
|
+
</figure>
|
|
72
|
+
</AvatarWrapper>
|
|
73
|
+
<FullWidthDiv className={classNames("media-right", "ml-0")}>
|
|
74
|
+
<h4 className={classNames("has-text-weight-bold", "is-ellipsis-overflow")}>
|
|
75
|
+
<ExtensionPoint
|
|
76
|
+
name="changeset.description"
|
|
77
|
+
props={{
|
|
78
|
+
changeset,
|
|
79
|
+
value: description.title,
|
|
80
|
+
}}
|
|
81
|
+
renderAll={false}
|
|
82
|
+
>
|
|
83
|
+
<ChangesetDescription changeset={changeset} value={description.title} />
|
|
84
|
+
</ExtensionPoint>
|
|
85
|
+
</h4>
|
|
86
|
+
<p className="is-hidden-touch">
|
|
87
|
+
<Trans i18nKey="repos:changeset.summary" components={[changesetId, dateFromNow]} />
|
|
88
|
+
</p>
|
|
89
|
+
<p className="is-hidden-desktop">
|
|
90
|
+
<Trans i18nKey="repos:changeset.shortSummary" components={[changesetId, dateFromNow]} />
|
|
91
|
+
</p>
|
|
92
|
+
<div className="is-flex">
|
|
93
|
+
<p className={classNames("is-size-7", "is-ellipsis-overflow", "mt-2")}>
|
|
94
|
+
<ChangesetAuthor changeset={changeset} />
|
|
95
|
+
</p>
|
|
96
|
+
{changeset?.signatures && changeset.signatures.length > 0 && (
|
|
97
|
+
<SignatureIcon className={classNames("mx-2", "pt-1")} signatures={changeset.signatures} />
|
|
98
|
+
)}
|
|
99
|
+
</div>
|
|
100
|
+
</FullWidthDiv>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
<div className={classNames("column", "is-align-self-center")}>
|
|
104
|
+
<ChangesetTags changeset={changeset} />
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export default SingleChangeset;
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
import * as changesets from "./changesets";
|
|
26
|
+
|
|
26
27
|
export { changesets };
|
|
27
28
|
|
|
28
29
|
export { default as ChangesetAuthor, SingleContributor } from "./ChangesetAuthor";
|
|
@@ -37,3 +38,4 @@ export { default as ChangesetTags } from "./ChangesetTags";
|
|
|
37
38
|
export { default as ChangesetTagsCollapsed } from "./ChangesetTagsCollapsed";
|
|
38
39
|
export { default as ContributorAvatar } from "./ContributorAvatar";
|
|
39
40
|
export { default as SignatureIcon } from "./SignatureIcon";
|
|
41
|
+
export { default as SingleChangeset } from "./SingleChangeset";
|