mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-24 18:56:11 +01:00
5ca224a789
Users can now mark files in PRs as viewed, resulting in them not being shown again by default when they reopen the PR again.
200 lines
9.5 KiB
Handlebars
200 lines
9.5 KiB
Handlebars
{{if .DiffNotAvailable}}
|
|
<div class="diff-detail-box diff-box sticky">
|
|
<div>
|
|
<div class="ui right">
|
|
{{template "repo/diff/whitespace_dropdown" .}}
|
|
{{template "repo/diff/options_dropdown" .}}
|
|
{{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}}
|
|
{{template "repo/diff/new_review" .}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h4>{{.i18n.Tr "repo.diff.data_not_available"}}</h4>
|
|
{{else}}
|
|
<div>
|
|
<div class="diff-detail-box diff-box sticky df sb ac">
|
|
<div class="diff-detail-stats df ac">
|
|
{{svg "octicon-diff" 16 "mr-2"}}{{.i18n.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}}
|
|
</div>
|
|
<div class="diff-detail-actions df ac">
|
|
{{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}}
|
|
<meter id="viewed-files-summary" value="{{.Diff.NumViewedFiles}}" max="{{.Diff.NumFiles}}"></meter>
|
|
<label for="viewed-files-summary" id="viewed-files-summary-label" data-text-changed-template="{{.i18n.Tr "repo.pulls.viewed_files_label"}}">
|
|
{{.i18n.Tr "repo.pulls.viewed_files_label" .Diff.NumViewedFiles .Diff.NumFiles}}
|
|
</label>
|
|
{{end}}
|
|
{{template "repo/diff/whitespace_dropdown" .}}
|
|
{{template "repo/diff/options_dropdown" .}}
|
|
{{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}}
|
|
{{template "repo/diff/new_review" .}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<ol class="diff-detail-box diff-stats m-0 hide" id="diff-files">
|
|
{{range .Diff.Files}}
|
|
<li>
|
|
<div class="bold df ac pull-right">
|
|
{{if .IsBin}}
|
|
<span class="ml-1 mr-3">
|
|
{{$.i18n.Tr "repo.diff.bin"}}
|
|
</span>
|
|
{{else}}
|
|
{{template "repo/diff/stats" dict "file" . "root" $}}
|
|
{{end}}
|
|
</div>
|
|
<!-- todo finish all file status, now modify, add, delete and rename -->
|
|
<span class="status {{DiffTypeToStr .GetType}} tooltip" data-content="{{DiffTypeToStr .GetType}}" data-position="right center"> </span>
|
|
<a class="file mono" href="#diff-{{Sha1 .Name}}">{{.Name}}</a>
|
|
</li>
|
|
{{end}}
|
|
{{if .Diff.IsIncomplete}}
|
|
<li id="diff-too-many-files-stats" class="pt-2">
|
|
<span class="file df ac sb">{{$.i18n.Tr "repo.diff.too_many_files"}}
|
|
<a class="ui basic tiny button" id="diff-show-more-files-stats" data-href="{{$.Link}}?skip-to={{.Diff.End}}&file-only=true">{{.i18n.Tr "repo.diff.show_more"}}</a>
|
|
</span>
|
|
</li>
|
|
{{end}}
|
|
</ol>
|
|
<div id="diff-file-boxes">
|
|
{{range $i, $file := .Diff.Files}}
|
|
{{$blobBase := call $.GetBlobByPathForCommit $.BaseCommit $file.OldName}}
|
|
{{$blobHead := call $.GetBlobByPathForCommit $.HeadCommit $file.Name}}
|
|
{{$isImage := or (call $.IsBlobAnImage $blobBase) (call $.IsBlobAnImage $blobHead)}}
|
|
{{$isCsv := (call $.IsCsvFile $file)}}
|
|
{{$showFileViewToggle := or $isImage (and (not $file.IsIncomplete) $isCsv)}}
|
|
{{$nameHash := Sha1 $file.Name}}
|
|
<div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}} mt-3" id="diff-{{$nameHash}}" data-old-filename="{{$file.OldName}}" data-new-filename="{{$file.Name}}" {{if $file.ShouldBeHidden}}data-folded="true"{{end}}>
|
|
<h4 class="diff-file-header sticky-2nd-row ui top attached normal header df ac sb">
|
|
<div class="df ac">
|
|
<a role="button" class="fold-file muted mr-2">
|
|
{{if $file.ShouldBeHidden}}
|
|
{{svg "octicon-chevron-right" 18}}
|
|
{{else}}
|
|
{{svg "octicon-chevron-down" 18}}
|
|
{{end}}
|
|
</a>
|
|
<div class="bold df ac">
|
|
{{if $file.IsBin}}
|
|
<span class="ml-1 mr-3">
|
|
{{$.i18n.Tr "repo.diff.bin"}}
|
|
</span>
|
|
{{else}}
|
|
{{template "repo/diff/stats" dict "file" . "root" $}}
|
|
{{end}}
|
|
</div>
|
|
<span class="file mono"><a class="muted" href="#diff-{{$nameHash}}">{{if $file.IsRenamed}}{{$file.OldName}} → {{end}}{{$file.Name}}</a>{{if .IsLFSFile}} ({{$.i18n.Tr "repo.stored_lfs"}}){{end}}</span>
|
|
{{if $file.IsGenerated}}
|
|
<span class="ui label ml-3">{{$.i18n.Tr "repo.diff.generated"}}</span>
|
|
{{end}}
|
|
{{if $file.IsVendored}}
|
|
<span class="ui label ml-3">{{$.i18n.Tr "repo.diff.vendored"}}</span>
|
|
{{end}}
|
|
</div>
|
|
<div class="diff-file-header-actions df ac">
|
|
{{if $showFileViewToggle}}
|
|
<div class="ui compact icon buttons">
|
|
<span class="ui tiny basic button tooltip file-view-toggle" data-toggle-selector="#diff-source-{{$i}}" data-content="{{$.i18n.Tr "repo.file_view_source"}}" data-position="bottom center">{{svg "octicon-code"}}</span>
|
|
<span class="ui tiny basic button tooltip file-view-toggle active" data-toggle-selector="#diff-rendered-{{$i}}" data-content="{{$.i18n.Tr "repo.file_view_rendered"}}" data-position="bottom center">{{svg "octicon-file"}}</span>
|
|
</div>
|
|
{{end}}
|
|
{{if $file.IsProtected}}
|
|
<span class="ui basic label">{{$.i18n.Tr "repo.diff.protected"}}</span>
|
|
{{end}}
|
|
{{if not (or $file.IsIncomplete $file.IsBin $file.IsSubmodule)}}
|
|
<a class="ui basic tiny button unescape-button">{{$.i18n.Tr "repo.unescape_control_characters"}}</a>
|
|
<a class="ui basic tiny button escape-button" style="display: none;">{{$.i18n.Tr "repo.escape_control_characters"}}</a>
|
|
{{end}}
|
|
{{if and (not $file.IsSubmodule) (not $.PageIsWiki)}}
|
|
{{if $file.IsDeleted}}
|
|
<a class="ui basic tiny button" rel="nofollow" href="{{$.BeforeSourcePath}}/{{PathEscapeSegments .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
|
|
{{else}}
|
|
<a class="ui basic tiny button" rel="nofollow" href="{{$.SourcePath}}/{{PathEscapeSegments .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
|
|
{{end}}
|
|
{{end}}
|
|
{{if and $.IsSigned $.PageIsPullFiles (not $.IsArchived)}}
|
|
{{if $file.HasChangedSinceLastReview}}
|
|
<span class="changed-since-last-review unselectable">{{$.i18n.Tr "repo.pulls.has_changed_since_last_review"}}</span>
|
|
{{end}}
|
|
<div data-link="{{$.Issue.Link}}/viewed-files" data-headcommit="{{$.PullHeadCommitID}}" class="viewed-file-form unselectable{{if $file.IsViewed}} viewed-file-checked-form{{end}}">
|
|
<input type="checkbox" name="{{$file.GetDiffFileName}}" id="viewed-file-checkbox-{{$i}}" autocomplete="off" {{if $file.IsViewed}}checked{{end}}></input>
|
|
<label for="viewed-file-checkbox-{{$i}}">{{$.i18n.Tr "repo.pulls.has_viewed_file"}}</label>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</h4>
|
|
<div class="diff-file-body ui attached unstackable table segment" {{if $file.IsViewed}}data-folded="true"{{end}}>
|
|
<div id="diff-source-{{$i}}" class="file-body file-code unicode-escaped code-diff{{if $.IsSplitStyle}} code-diff-split{{else}} code-diff-unified{{end}}{{if $showFileViewToggle}} hide{{end}}">
|
|
{{if or $file.IsIncomplete $file.IsBin}}
|
|
<div class="diff-file-body binary" style="padding: 5px 10px;">
|
|
{{if $file.IsIncomplete}}
|
|
{{if $file.IsIncompleteLineTooLong}}
|
|
{{$.i18n.Tr "repo.diff.file_suppressed_line_too_long"}}
|
|
{{else}}
|
|
{{$.i18n.Tr "repo.diff.file_suppressed"}}
|
|
<a class="ui basic tiny button diff-show-more-button" data-href="{{$.Link}}?file-only=true&files={{$file.Name}}&files={{$file.OldName}}">{{$.i18n.Tr "repo.diff.load"}}</a>
|
|
{{end}}
|
|
{{else}}
|
|
{{$.i18n.Tr "repo.diff.bin_not_shown"}}
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
<table class="chroma" data-new-comment-url="{{$.Issue.HTMLURL}}/files/reviews/new_comment" data-path="{{$file.Name}}">
|
|
{{if $.IsSplitStyle}}
|
|
{{template "repo/diff/section_split" dict "file" . "root" $}}
|
|
{{else}}
|
|
{{template "repo/diff/section_unified" dict "file" . "root" $}}
|
|
{{end}}
|
|
</table>
|
|
{{end}}
|
|
</div>
|
|
{{if $showFileViewToggle}}
|
|
<div id="diff-rendered-{{$i}}" class="file-body file-code {{if $.IsSplitStyle}} code-diff-split{{else}} code-diff-unified{{end}}">
|
|
<table class="chroma w-100">
|
|
{{if $isImage}}
|
|
{{template "repo/diff/image_diff" dict "file" . "root" $ "blobBase" $blobBase "blobHead" $blobHead}}
|
|
{{else}}
|
|
{{template "repo/diff/csv_diff" dict "file" . "root" $}}
|
|
{{end}}
|
|
</table>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{if .Diff.IsIncomplete}}
|
|
<div class="diff-file-box diff-box file-content mt-3" id="diff-incomplete">
|
|
<h4 class="ui top attached normal header df ac sb">
|
|
{{$.i18n.Tr "repo.diff.too_many_files"}}
|
|
<a class="ui basic tiny button" id="diff-show-more-files" data-href="{{$.Link}}?skip-to={{.Diff.End}}&file-only=true">{{.i18n.Tr "repo.diff.show_more"}}</a>
|
|
</h4>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
{{if not $.Repository.IsArchived}}
|
|
<div class="hide" id="edit-content-form">
|
|
<div class="ui comment form">
|
|
<div class="ui top attached tabular menu">
|
|
<a class="active write item">{{$.i18n.Tr "write"}}</a>
|
|
<a class="preview item" data-url="{{$.Repository.HTMLURL}}/markdown" data-context="{{$.RepoLink}}">{{$.i18n.Tr "preview"}}</a>
|
|
</div>
|
|
<div class="ui bottom attached active write tab segment">
|
|
<textarea class="review-textarea" tabindex="1" name="content"></textarea>
|
|
</div>
|
|
<div class="ui bottom attached tab preview segment markup">
|
|
{{$.i18n.Tr "loading"}}
|
|
</div>
|
|
<div class="text right edit buttons">
|
|
<div class="ui basic blue cancel button" tabindex="3">{{.i18n.Tr "repo.issues.cancel"}}</div>
|
|
<div class="ui green save button" tabindex="2">{{.i18n.Tr "repo.issues.save"}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{template "repo/issue/view_content/reference_issue_dialog" .}}
|
|
</div>
|
|
{{end}}
|