From 9d1cf988c108ff93ccf27852bfea771f549b592c Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Sat, 19 Jul 2025 15:37:45 +0100 Subject: [PATCH] appview/pages: add diff opts selector Change-Id: snmrpszpzuqzqylnlrotxlmrvtqkxtsz Signed-off-by: oppiliappan --- appview/pages/templates/repo/commit.html | 5 +++- .../pages/templates/repo/compare/compare.html | 7 +++-- .../repo/fragments/diffChangedFiles.html | 18 ++++++------ .../templates/repo/fragments/diffOpts.html | 28 +++++++++++++++++++ .../pages/templates/repo/pulls/interdiff.html | 5 +++- appview/pages/templates/repo/pulls/patch.html | 5 +++- types/split.go | 2 +- 7 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 appview/pages/templates/repo/fragments/diffOpts.html diff --git a/appview/pages/templates/repo/commit.html b/appview/pages/templates/repo/commit.html index e71bd1d..4186316 100644 --- a/appview/pages/templates/repo/commit.html +++ b/appview/pages/templates/repo/commit.html @@ -123,7 +123,10 @@ {{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 index 08c2319..3ac29ca 100644 --- a/appview/pages/templates/repo/compare/compare.html +++ b/appview/pages/templates/repo/compare/compare.html @@ -54,7 +54,10 @@ {{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 index 081bb62..b713204 100644 --- 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 index 0000000..d6d0db0 --- /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 index da4cb52..9576968 100644 --- a/appview/pages/templates/repo/pulls/interdiff.html +++ b/appview/pages/templates/repo/pulls/interdiff.html @@ -72,7 +72,10 @@ {{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 index ce28da4..a92b8c7 100644 --- a/appview/pages/templates/repo/pulls/patch.html +++ b/appview/pages/templates/repo/pulls/patch.html @@ -78,7 +78,10 @@ {{end}} {{ define "contentAfterLeft" }} -
+
+ {{ template "repo/fragments/diffOpts" .DiffOpts }} +
+
{{ template "repo/fragments/diffChangedFiles" .Diff }}
{{end}} diff --git a/types/split.go b/types/split.go index d2ad0c6..095c36e 100644 --- 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 -- 2.43.0