Skip to content

Commit 8d63859

Browse files
committed
fix ui
1 parent b218c65 commit 8d63859

File tree

3 files changed

+52
-55
lines changed

3 files changed

+52
-55
lines changed

options/locale/locale_en-US.ini

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2628,10 +2628,8 @@ diff.has_escaped = This line has hidden Unicode characters
26282628
diff.show_file_tree = Show file tree
26292629
diff.hide_file_tree = Hide file tree
26302630
diff.submodule_added = Submodule %s added at %s
2631-
diff.submodule_added_link = Submodule <a href="%[1]s">%[2]s</a> added at <a href="%[1]s/commit/%[4]s">%[3]s</a>
26322631
diff.submodule_deleted = Submodule %s deleted from %s
26332632
diff.submodule_updated = Submodule %s updated from %s to %s
2634-
diff.submodule_updated_link = Submodule <a href="%[1]s">%[2]s</a> updated <a href="%[1]s/compare/%[4]s...%[6]s">from %[3]s to %[5]s</a>
26352633
26362634
releases.desc = Track project versions and downloads.
26372635
release.releases = Releases

services/gitdiff/gitdiff.go

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,6 @@ type DiffFile struct {
360360
IsLFSFile bool
361361
IsRenamed bool
362362
IsAmbiguous bool
363-
IsSubmodule bool
364363
Sections []*DiffSection
365364
IsIncomplete bool
366365
IsIncompleteLineTooLong bool
@@ -372,7 +371,9 @@ type DiffFile struct {
372371
Language string
373372
Mode string
374373
OldMode string
375-
SubmoduleInfo *SubmoduleInfo
374+
375+
IsSubmodule bool // if IsSubmodule==true, then there must be a SubmoduleInfo
376+
SubmoduleInfo *SubmoduleInfo
376377
}
377378

378379
// GetType returns type of diff file.
@@ -610,9 +611,8 @@ parsingLoop:
610611
if strings.HasPrefix(line, "new mode ") {
611612
curFile.Mode = prepareValue(line, "new mode ")
612613
}
613-
614614
if strings.HasSuffix(line, " 160000\n") {
615-
curFile.IsSubmodule = true
615+
curFile.IsSubmodule, curFile.SubmoduleInfo = true, &SubmoduleInfo{}
616616
}
617617
case strings.HasPrefix(line, "rename from "):
618618
curFile.IsRenamed = true
@@ -647,17 +647,17 @@ parsingLoop:
647647
curFile.Mode = prepareValue(line, "new file mode ")
648648
}
649649
if strings.HasSuffix(line, " 160000\n") {
650-
curFile.IsSubmodule = true
650+
curFile.IsSubmodule, curFile.SubmoduleInfo = true, &SubmoduleInfo{}
651651
}
652652
case strings.HasPrefix(line, "deleted"):
653653
curFile.Type = DiffFileDel
654654
curFile.IsDeleted = true
655655
if strings.HasSuffix(line, " 160000\n") {
656-
curFile.IsSubmodule = true
656+
curFile.IsSubmodule, curFile.SubmoduleInfo = true, &SubmoduleInfo{}
657657
}
658658
case strings.HasPrefix(line, "index"):
659659
if strings.HasSuffix(line, " 160000\n") {
660-
curFile.IsSubmodule = true
660+
curFile.IsSubmodule, curFile.SubmoduleInfo = true, &SubmoduleInfo{}
661661
}
662662
case strings.HasPrefix(line, "similarity index 100%"):
663663
curFile.Type = DiffFileRename
@@ -918,11 +918,7 @@ func parseHunks(ctx context.Context, curFile *DiffFile, maxLines, maxLineCharact
918918
curSection.Lines = append(curSection.Lines, diffLine)
919919

920920
// Parse submodule additions
921-
if curFile.IsSubmodule {
922-
if curFile.SubmoduleInfo == nil {
923-
curFile.SubmoduleInfo = &SubmoduleInfo{}
924-
}
925-
921+
if curFile.SubmoduleInfo != nil {
926922
if ref, found := bytes.CutPrefix(lineBytes, []byte("+Subproject commit ")); found {
927923
curFile.SubmoduleInfo.NewRefID = string(bytes.TrimSpace(ref))
928924
}
@@ -950,11 +946,7 @@ func parseHunks(ctx context.Context, curFile *DiffFile, maxLines, maxLineCharact
950946
curSection.Lines = append(curSection.Lines, diffLine)
951947

952948
// Parse submodule deletion
953-
if curFile.IsSubmodule {
954-
if curFile.SubmoduleInfo == nil {
955-
curFile.SubmoduleInfo = &SubmoduleInfo{}
956-
}
957-
949+
if curFile.SubmoduleInfo != nil {
958950
if ref, found := bytes.CutPrefix(lineBytes, []byte("-Subproject commit ")); found {
959951
curFile.SubmoduleInfo.PreviousRefID = string(bytes.TrimSpace(ref))
960952
}
@@ -1219,7 +1211,7 @@ func GetDiff(ctx context.Context, gitRepo *git.Repository, opts *DiffOptions, fi
12191211
}
12201212

12211213
// Populate Submodule URLs
1222-
if diffFile.IsSubmodule && diffFile.SubmoduleInfo != nil {
1214+
if diffFile.SubmoduleInfo != nil {
12231215
err := diffFile.SubmoduleInfo.PopulateURL(diffFile, beforeCommit, commit)
12241216
if err != nil {
12251217
return nil, err

templates/repo/diff/box.tmpl

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -161,23 +161,25 @@
161161
<input type="checkbox" name="{{$file.GetDiffFileName}}" autocomplete="off"{{if $file.IsViewed}} checked{{end}}> {{ctx.Locale.Tr "repo.pulls.has_viewed_file"}}
162162
</label>
163163
{{end}}
164-
<button class="btn diff-header-popup-btn tw-p-1">{{svg "octicon-kebab-horizontal" 18}}</button>
165-
<div class="tippy-target">
166-
{{if not (or $file.IsIncomplete $file.IsBin $file.IsSubmodule)}}
167-
<button class="unescape-button item" data-unicode-content-selector="#diff-{{$file.NameHash}}">{{ctx.Locale.Tr "repo.unescape_control_characters"}}</button>
168-
<button class="escape-button tw-hidden item" data-unicode-content-selector="#diff-{{$file.NameHash}}">{{ctx.Locale.Tr "repo.escape_control_characters"}}</button>
169-
{{end}}
170-
{{if and (not $file.IsSubmodule) (not $.PageIsWiki)}}
171-
{{if $file.IsDeleted}}
172-
<a class="item" rel="nofollow" href="{{$.BeforeSourcePath}}/{{PathEscapeSegments .Name}}">{{ctx.Locale.Tr "repo.diff.view_file"}}</a>
173-
{{else}}
174-
<a class="item" rel="nofollow" href="{{$.SourcePath}}/{{PathEscapeSegments .Name}}">{{ctx.Locale.Tr "repo.diff.view_file"}}</a>
175-
{{if and $.Repository.CanEnableEditor $.CanEditFile (not $file.IsLFSFile) (not $file.IsBin)}}
176-
<a class="item" rel="nofollow" href="{{$.HeadRepoLink}}/_edit/{{PathEscapeSegments $.HeadBranchName}}/{{PathEscapeSegments $file.Name}}?return_uri={{print $.BackToLink "#diff-" $file.NameHash | QueryEscape}}">{{ctx.Locale.Tr "repo.editor.edit_this_file"}}</a>
164+
{{if not $file.IsSubmodule}}
165+
<button class="btn diff-header-popup-btn tw-p-1">{{svg "octicon-kebab-horizontal" 18}}</button>
166+
<div class="tippy-target">
167+
{{if not (or $file.IsIncomplete $file.IsBin)}}
168+
<button class="unescape-button item" data-unicode-content-selector="#diff-{{$file.NameHash}}">{{ctx.Locale.Tr "repo.unescape_control_characters"}}</button>
169+
<button class="escape-button tw-hidden item" data-unicode-content-selector="#diff-{{$file.NameHash}}">{{ctx.Locale.Tr "repo.escape_control_characters"}}</button>
170+
{{end}}
171+
{{if not $.PageIsWiki}}
172+
{{if $file.IsDeleted}}
173+
<a class="item" rel="nofollow" href="{{$.BeforeSourcePath}}/{{PathEscapeSegments .Name}}">{{ctx.Locale.Tr "repo.diff.view_file"}}</a>
174+
{{else}}
175+
<a class="item" rel="nofollow" href="{{$.SourcePath}}/{{PathEscapeSegments .Name}}">{{ctx.Locale.Tr "repo.diff.view_file"}}</a>
176+
{{if and $.Repository.CanEnableEditor $.CanEditFile (not $file.IsLFSFile) (not $file.IsBin)}}
177+
<a class="item" rel="nofollow" href="{{$.HeadRepoLink}}/_edit/{{PathEscapeSegments $.HeadBranchName}}/{{PathEscapeSegments $file.Name}}?return_uri={{print $.BackToLink "#diff-" $file.NameHash | QueryEscape}}">{{ctx.Locale.Tr "repo.editor.edit_this_file"}}</a>
178+
{{end}}
177179
{{end}}
178180
{{end}}
179-
{{end}}
180-
</div>
181+
</div>
182+
{{end}}
181183
</div>
182184
</h4>
183185
<div class="diff-file-body ui attached unstackable table segment" {{if and $file.IsViewed $.IsShowingAllCommits}}data-folded="true"{{end}}>
@@ -195,26 +197,31 @@
195197
{{ctx.Locale.Tr "repo.diff.bin_not_shown"}}
196198
{{end}}
197199
</div>
198-
{{else if and $file.IsSubmodule $file.SubmoduleInfo}}
199-
<div class="ui message">
200-
{{$subModule := $file.SubmoduleInfo}}
201-
{{$refURL := $subModule.RefURL $.Repository.FullName}}
202-
{{svg "octicon-file-submodule"}}
203-
204-
{{if $file.IsDeleted}}
205-
{{ctx.Locale.Tr "repo.diff.submodule_deleted" $file.Name (ShortSha $subModule.RefID)}}
206-
{{else if $file.IsCreated}}
207-
{{if $refURL}}
208-
{{ctx.Locale.Tr "repo.diff.submodule_added_link" $refURL $file.Name (ShortSha $subModule.RefID) (PathEscape $subModule.RefID)}}
209-
{{else}}
210-
{{ctx.Locale.Tr "repo.diff.submodule_added" $file.Name (ShortSha $subModule.RefID)}}
211-
{{end}}
212-
{{else}}
213-
{{if $refURL}}
214-
{{ctx.Locale.Tr "repo.diff.submodule_updated_link" $refURL $file.Name (ShortSha $subModule.PreviousRefID) (PathEscape $subModule.PreviousRefID) (ShortSha $subModule.RefID) (PathEscape $subModule.RefID)}}
215-
{{else}}
216-
{{ctx.Locale.Tr "repo.diff.submodule_updated" $file.Name (ShortSha $subModule.PreviousRefID) (ShortSha $subModule.RefID)}}
217-
{{end}}
200+
{{else if and $file.SubmoduleInfo}}
201+
<div class="tw-p-3">{{svg "octicon-file-submodule"}} {{$submodule := $file.SubmoduleInfo -}}
202+
{{- $refURL := $submodule.RefURL $.Repository.FullName -}}
203+
{{- $submoduleName := $file.Name -}}
204+
{{- $refShortID := ShortSha $submodule.RefID -}}
205+
{{- if $file.IsDeleted -}}
206+
{{- ctx.Locale.Tr "repo.diff.submodule_deleted" $submoduleName $refShortID -}}
207+
{{- else if $file.IsCreated -}}
208+
{{- $refAddedSubModule := $submoduleName -}}
209+
{{- $refAddedAt := $refShortID -}}
210+
{{- if $refURL -}}
211+
{{- $refAddedSubModule = HTMLFormat `<a href="%s">%s</a>` $refURL $submoduleName -}}
212+
{{- $refAddedAt = HTMLFormat `<a href="%s/commit/%s">%s</a>` $refURL (PathEscape $submodule.RefID) $refShortID -}}
213+
{{- end -}}
214+
{{- ctx.Locale.Tr "repo.diff.submodule_added" $refAddedSubModule $refAddedAt -}}
215+
{{- else -}}
216+
{{- $refUpdatedSubModule := $submoduleName -}}
217+
{{- $refUpdatedFrom := ShortSha $submodule.PreviousRefID -}}
218+
{{- $refUpdatedTo := $refShortID -}}
219+
{{- if $refURL -}}
220+
{{- $refUpdatedSubModule = HTMLFormat `<a href="%s">%s</a>` $refURL $submoduleName -}}
221+
{{- $refUpdatedFrom = HTMLFormat `<a href="%s/commit/%s">%s</a>` $refURL (PathEscape $submodule.PreviousRefID) (ShortSha $submodule.PreviousRefID) -}}
222+
{{- $refUpdatedTo = HTMLFormat `<a href="%s/commit/%s">%s</a>` $refURL (PathEscape $submodule.RefID) (ShortSha $submodule.RefID) -}}
223+
{{- end -}}
224+
{{- ctx.Locale.Tr "repo.diff.submodule_updated" $refUpdatedSubModule $refUpdatedFrom $refUpdatedTo -}}
218225
{{end}}
219226
</div>
220227
{{else}}

0 commit comments

Comments
 (0)