From 82208177ecb862e56797ce1acc0163f0d2f99eb7 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Sat, 19 Jul 2025 14:37:45 +0000 Subject: [PATCH] appview/pages: add diff opts selector Signed-off-by: oppiliappan --- appview/pages/templates/repo/commit.html | 5 ++++- appview/pages/templates/repo/compare/compare.html | 7 +++++-- appview/pages/templates/repo/fragments/diffChangedFiles.html | 18 ++++++++---------- appview/pages/templates/repo/fragments/diffOpts.html | 28 ++++++++++++++++++++++++++++ appview/pages/templates/repo/pulls/interdiff.html | 5 ++++- appview/pages/templates/repo/pulls/patch.html | 5 ++++- types/split.go | 2 +- 7 file(s) changed, 54 insertion(s)(+), 16 deletion(s)(-) diff --git a/appview/pages/templates/repo/commit.html b/appview/pages/templates/repo/commit.html --- a/appview/pages/templates/repo/commit.html +++ b/appview/pages/templates/repo/commit.html @@ -123,7 +123,10 @@ {{ template "repo/fragments/diff" (list .RepoInfo.FullName .Diff .DiffOpts) }} {{end}} {{ define "contentAfterLeft" }} -
+
+ {{ template "repo/fragments/diffOpts" .DiffOpts }} +
+
{{ template "repo/fragments/diffChangedFiles" .Diff }}
{{end}} diff --git a/appview/pages/templates/repo/compare/compare.html b/appview/pages/templates/repo/compare/compare.html --- a/appview/pages/templates/repo/compare/compare.html +++ b/appview/pages/templates/repo/compare/compare.html @@ -54,7 +54,10 @@ {{ template "repo/fragments/diff" (list .RepoInfo.FullName .Diff .DiffOpts) }} {{end}} {{ define "contentAfterLeft" }} -
- {{ template "repo/fragments/diffChangedFiles" .Diff }} +
+ {{ template "repo/fragments/diffOpts" .DiffOpts }} +
+
+ {{ template "repo/fragments/diffChangedFiles" .Diff }}
{{end}} diff --git a/appview/pages/templates/repo/fragments/diffChangedFiles.html b/appview/pages/templates/repo/fragments/diffChangedFiles.html --- a/appview/pages/templates/repo/fragments/diffChangedFiles.html +++ b/appview/pages/templates/repo/fragments/diffChangedFiles.html @@ -1,15 +1,13 @@ {{ define "repo/fragments/diffChangedFiles" }} {{ $stat := .Stat }} {{ $fileTree := fileTree .ChangedFiles }} -
-
-
-
- Changed files - {{ template "repo/fragments/diffStatPill" $stat }} -
- {{ template "repo/fragments/fileTree" $fileTree }} +
+
+
+ Changed files + {{ template "repo/fragments/diffStatPill" $stat }}
-
-
+ {{ template "repo/fragments/fileTree" $fileTree }} +
+ {{ end }} diff --git a/appview/pages/templates/repo/fragments/diffOpts.html b/appview/pages/templates/repo/fragments/diffOpts.html new file mode 100644 --- /dev/null +++ b/appview/pages/templates/repo/fragments/diffOpts.html @@ -0,0 +1,28 @@ +{{ define "repo/fragments/diffOpts" }} +
+ options + {{ $active := "unified" }} + {{ if .Split }} + {{ $active = "split" }} + {{ end }} + {{ $values := list "unified" "split" }} + {{ block "tabSelector" (dict "Name" "diff" "Values" $values "Active" $active) }} {{ end }} +
+{{ end }} + +{{ define "tabSelector" }} + {{ $name := .Name }} + {{ $all := .Values }} + {{ $active := .Active }} +
+ {{ $activeTab := "bg-white dark:bg-gray-700 shadow-sm" }} + {{ $inactiveTab := "bg-gray-100 dark:bg-gray-800 shadow-inner" }} + {{ range $index, $value := $all }} + {{ $isActive := eq $value $active }} + + {{ $value }} + + {{ end }} +
+{{ end }} diff --git a/appview/pages/templates/repo/pulls/interdiff.html b/appview/pages/templates/repo/pulls/interdiff.html --- a/appview/pages/templates/repo/pulls/interdiff.html +++ b/appview/pages/templates/repo/pulls/interdiff.html @@ -72,7 +72,10 @@ {{ template "repo/fragments/interdiff" (list .RepoInfo.FullName .Interdiff .DiffOpts) }} {{end}} {{ define "contentAfterLeft" }} -
+
+ {{ template "repo/fragments/diffOpts" .DiffOpts }} +
+
{{ template "repo/fragments/interdiffFiles" .Interdiff }}
{{end}} diff --git a/appview/pages/templates/repo/pulls/patch.html b/appview/pages/templates/repo/pulls/patch.html --- a/appview/pages/templates/repo/pulls/patch.html +++ b/appview/pages/templates/repo/pulls/patch.html @@ -78,7 +78,10 @@ {{ template "repo/fragments/diff" (list .RepoInfo.FullName .Diff .DiffOpts) }} {{end}} {{ define "contentAfterLeft" }} -
+
+ {{ template "repo/fragments/diffOpts" .DiffOpts }} +
+
{{ template "repo/fragments/diffChangedFiles" .Diff }}
{{end}} diff --git a/types/split.go b/types/split.go --- a/types/split.go +++ b/types/split.go @@ -36,7 +36,7 @@ func SeparateLines(fragment *gitdiff.TextFragment) ([]SplitLine, []SplitLine) { lines := fragment.Lines var leftLines, rightLines []SplitLine oldLineNum := fragment.OldPosition - newLineNum := fragment.OldPosition + newLineNum := fragment.NewPosition // process deletions and additions in groups for better alignment i := 0 -- tangled.sh