| @@ -1306,6 +1306,9 @@ footer .ui.language .menu { | |||
| padding-top: 8px; | |||
| padding-bottom: 8px; | |||
| } | |||
| .repository.file.list #repo-files-table td.message .isSigned { | |||
| cursor: default; | |||
| } | |||
| .repository.file.list #repo-files-table tr:hover { | |||
| background-color: #ffffEE; | |||
| } | |||
| @@ -1933,10 +1936,15 @@ footer .ui.language .menu { | |||
| .repository #commits-table td.sha .sha.label { | |||
| 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; | |||
| } | |||
| .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; | |||
| margin: -6px -10px -4px 0px; | |||
| padding: 5px 3px 5px 6px; | |||
| @@ -1944,16 +1952,15 @@ footer .ui.language .menu { | |||
| border-top-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; | |||
| 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; | |||
| } | |||
| .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 { | |||
| margin: 15px 0; | |||
| line-height: 30px; | |||
| @@ -204,6 +204,9 @@ | |||
| padding-top: 8px; | |||
| padding-bottom: 8px; | |||
| } | |||
| td.message .isSigned { | |||
| cursor: default; | |||
| } | |||
| tr:hover { | |||
| background-color: #ffffEE; | |||
| } | |||
| @@ -804,34 +807,35 @@ | |||
| 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) { | |||
| 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 { | |||
| margin: 15px 0; | |||
| line-height: 30px; | |||
| @@ -117,6 +117,7 @@ func renderDirectory(ctx *context.Context, treeLink string) { | |||
| } | |||
| } | |||
| ctx.Data["LatestCommit"] = latestCommit | |||
| ctx.Data["LatestCommitVerification"] = models.ParseCommitWithSignature(latestCommit) | |||
| ctx.Data["LatestCommitUser"] = models.ValidateCommitWithEmail(latestCommit) | |||
| // Check permission to add or upload new file. | |||
| @@ -13,7 +13,18 @@ | |||
| <img class="ui avatar image img-12" src="{{AvatarLink .LatestCommit.Author.Email}}" /> | |||
| <strong>{{.LatestCommit.Author.Name}}</strong> | |||
| {{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> | |||
| </th> | |||
| <th class="nine wide"> | |||
| @@ -61,8 +72,9 @@ | |||
| </td> | |||
| {{end}} | |||
| <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 class="text grey right age">{{TimeSince $commit.Committer.When $.Lang}}</td> | |||
| </tr> | |||