@@ -1306,6 +1306,9 @@ footer .ui.language .menu { | |||||
padding-top: 8px; | padding-top: 8px; | ||||
padding-bottom: 8px; | padding-bottom: 8px; | ||||
} | } | ||||
.repository.file.list #repo-files-table td.message .isSigned { | |||||
cursor: default; | |||||
} | |||||
.repository.file.list #repo-files-table tr:hover { | .repository.file.list #repo-files-table tr:hover { | ||||
background-color: #ffffEE; | background-color: #ffffEE; | ||||
} | } | ||||
@@ -1933,10 +1936,15 @@ footer .ui.language .menu { | |||||
.repository #commits-table td.sha .sha.label { | .repository #commits-table td.sha .sha.label { | ||||
margin: 0; | margin: 0; | ||||
} | } | ||||
.repository #commits-table td.sha .sha.label.isSigned { | |||||
.repository #commits-table.ui.basic.striped.table tbody tr:nth-child(2n) { | |||||
background-color: rgba(0, 0, 0, 0.02) !important; | |||||
} | |||||
.repository #commits-table td.sha .sha.label.isSigned, | |||||
.repository #repo-files-table .sha.label.isSigned { | |||||
border: 1px solid #BBB; | border: 1px solid #BBB; | ||||
} | } | ||||
.repository #commits-table td.sha .sha.label.isSigned .detail.icon { | |||||
.repository #commits-table td.sha .sha.label.isSigned .detail.icon, | |||||
.repository #repo-files-table .sha.label.isSigned .detail.icon { | |||||
background: #FAFAFA; | background: #FAFAFA; | ||||
margin: -6px -10px -4px 0px; | margin: -6px -10px -4px 0px; | ||||
padding: 5px 3px 5px 6px; | padding: 5px 3px 5px 6px; | ||||
@@ -1944,16 +1952,15 @@ footer .ui.language .menu { | |||||
border-top-left-radius: 0; | border-top-left-radius: 0; | ||||
border-bottom-left-radius: 0; | border-bottom-left-radius: 0; | ||||
} | } | ||||
.repository #commits-table td.sha .sha.label.isSigned.isVerified { | |||||
.repository #commits-table td.sha .sha.label.isSigned.isVerified, | |||||
.repository #repo-files-table .sha.label.isSigned.isVerified { | |||||
border: 1px solid #21BA45; | border: 1px solid #21BA45; | ||||
background: #21BA4518; | background: #21BA4518; | ||||
} | } | ||||
.repository #commits-table td.sha .sha.label.isSigned.isVerified .detail.icon { | |||||
.repository #commits-table td.sha .sha.label.isSigned.isVerified .detail.icon, | |||||
.repository #repo-files-table .sha.label.isSigned.isVerified .detail.icon { | |||||
border-left: 1px solid #21BA4580; | border-left: 1px solid #21BA4580; | ||||
} | } | ||||
.repository #commits-table.ui.basic.striped.table tbody tr:nth-child(2n) { | |||||
background-color: rgba(0, 0, 0, 0.02) !important; | |||||
} | |||||
.repository .diff-detail-box { | .repository .diff-detail-box { | ||||
margin: 15px 0; | margin: 15px 0; | ||||
line-height: 30px; | line-height: 30px; | ||||
@@ -204,6 +204,9 @@ | |||||
padding-top: 8px; | padding-top: 8px; | ||||
padding-bottom: 8px; | padding-bottom: 8px; | ||||
} | } | ||||
td.message .isSigned { | |||||
cursor: default; | |||||
} | |||||
tr:hover { | tr:hover { | ||||
background-color: #ffffEE; | background-color: #ffffEE; | ||||
} | } | ||||
@@ -804,34 +807,35 @@ | |||||
width: 140px; | width: 140px; | ||||
} | } | ||||
} | } | ||||
td.sha{ | |||||
.sha.label{ | |||||
margin: 0; | |||||
&.isSigned{ | |||||
border: 1px solid #BBB; | |||||
.detail.icon{ | |||||
background: #FAFAFA; | |||||
margin: -6px -10px -4px 0px; | |||||
padding: 5px 3px 5px 6px; | |||||
border-left: 1px solid #BBB; | |||||
border-top-left-radius: 0; | |||||
border-bottom-left-radius: 0; | |||||
} | |||||
} | |||||
&.isSigned.isVerified{ | |||||
border: 1px solid #21BA45; | |||||
background: #21BA4518; | |||||
.detail.icon{ | |||||
border-left: 1px solid #21BA4580; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
td.sha .sha.label { | |||||
margin: 0; | |||||
} | |||||
&.ui.basic.striped.table tbody tr:nth-child(2n) { | &.ui.basic.striped.table tbody tr:nth-child(2n) { | ||||
background-color: rgba(0, 0, 0, .02)!important; | background-color: rgba(0, 0, 0, .02)!important; | ||||
} | } | ||||
} | } | ||||
#commits-table td.sha .sha.label, #repo-files-table .sha.label{ | |||||
&.isSigned{ | |||||
border: 1px solid #BBB; | |||||
.detail.icon{ | |||||
background: #FAFAFA; | |||||
margin: -6px -10px -4px 0px; | |||||
padding: 5px 3px 5px 6px; | |||||
border-left: 1px solid #BBB; | |||||
border-top-left-radius: 0; | |||||
border-bottom-left-radius: 0; | |||||
} | |||||
} | |||||
&.isSigned.isVerified{ | |||||
border: 1px solid #21BA45; | |||||
background: #21BA4518; | |||||
.detail.icon{ | |||||
border-left: 1px solid #21BA4580; | |||||
} | |||||
} | |||||
} | |||||
.diff-detail-box { | .diff-detail-box { | ||||
margin: 15px 0; | margin: 15px 0; | ||||
line-height: 30px; | line-height: 30px; | ||||
@@ -117,6 +117,7 @@ func renderDirectory(ctx *context.Context, treeLink string) { | |||||
} | } | ||||
} | } | ||||
ctx.Data["LatestCommit"] = latestCommit | ctx.Data["LatestCommit"] = latestCommit | ||||
ctx.Data["LatestCommitVerification"] = models.ParseCommitWithSignature(latestCommit) | |||||
ctx.Data["LatestCommitUser"] = models.ValidateCommitWithEmail(latestCommit) | ctx.Data["LatestCommitUser"] = models.ValidateCommitWithEmail(latestCommit) | ||||
// Check permission to add or upload new file. | // Check permission to add or upload new file. | ||||
@@ -13,7 +13,18 @@ | |||||
<img class="ui avatar image img-12" src="{{AvatarLink .LatestCommit.Author.Email}}" /> | <img class="ui avatar image img-12" src="{{AvatarLink .LatestCommit.Author.Email}}" /> | ||||
<strong>{{.LatestCommit.Author.Name}}</strong> | <strong>{{.LatestCommit.Author.Name}}</strong> | ||||
{{end}} | {{end}} | ||||
<a rel="nofollow" class="ui sha label" href="{{.RepoLink}}/commit/{{.LatestCommit.ID}}" rel="nofollow">{{ShortSha .LatestCommit.ID.String}}</a> | |||||
<a rel="nofollow" class="ui sha label {{if .LatestCommit.Signature}} isSigned {{if .LatestCommitVerification.Verified }} isVerified {{end}}{{end}}" href="{{.RepoLink}}/commit/{{.LatestCommit.ID}}"> | |||||
{{ShortSha .LatestCommit.ID.String}} | |||||
{{if .LatestCommit.Signature}} | |||||
<div class="ui detail icon button"> | |||||
{{if .LatestCommitVerification.Verified}} | |||||
<i title="{{.LatestCommitVerification.Reason}}" class="lock green icon"></i> | |||||
{{else}} | |||||
<i title="{{$.i18n.Tr .LatestCommitVerification.Reason}}" class="unlock icon"></i> | |||||
{{end}} | |||||
</div> | |||||
{{end}} | |||||
</a> | |||||
<span class="grey has-emoji">{{RenderCommitMessage false .LatestCommit.Summary .RepoLink $.Repository.ComposeMetas}}</span> | <span class="grey has-emoji">{{RenderCommitMessage false .LatestCommit.Summary .RepoLink $.Repository.ComposeMetas}}</span> | ||||
</th> | </th> | ||||
<th class="nine wide"> | <th class="nine wide"> | ||||
@@ -61,8 +72,9 @@ | |||||
</td> | </td> | ||||
{{end}} | {{end}} | ||||
<td class="message collapsing has-emoji"> | <td class="message collapsing has-emoji"> | ||||
<a rel="nofollow" class="ui sha label" href="{{$.RepoLink}}/commit/{{$commit.ID}}">{{ShortSha $commit.ID.String}}</a> | |||||
{{RenderCommitMessage false $commit.Summary $.RepoLink $.Repository.ComposeMetas}} | |||||
<a rel="nofollow" href="{{$.RepoLink}}/commit/{{$commit.ID}}"> | |||||
{{RenderCommitMessage false $commit.Summary $.RepoLink $.Repository.ComposeMetas}} | |||||
</a> | |||||
</td> | </td> | ||||
<td class="text grey right age">{{TimeSince $commit.Committer.When $.Lang}}</td> | <td class="text grey right age">{{TimeSince $commit.Committer.When $.Lang}}</td> | ||||
</tr> | </tr> | ||||