aboutsummaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2023-03-30 14:06:10 +0200
committerGitHub <noreply@github.com>2023-03-30 20:06:10 +0800
commitaa4d1d94f79e8edd9fa9ff2813fea12b085b2cae (patch)
tree2197145a72c7e8efecb101acc176a9cb7da274c5 /templates
parent35cb786ca1dd6d12963ac7067945065b271f36ad (diff)
downloadgitea-aa4d1d94f79e8edd9fa9ff2813fea12b085b2cae.tar.gz
gitea-aa4d1d94f79e8edd9fa9ff2813fea12b085b2cae.zip
Diff improvements (#23553)
- Avoid flash of wrong tree toggle icon on page load by setting icon based on sync state - Avoid "pop-in" of tree on page load by leaving space based on sync state - Use the same border/box-shadow combo used on comment `:target` also for file `:target`. - Refactor `DiffFileTree.vue` to use `toggleElem` instead of hardcoded class name. - Left-align inline comment boxes and make them fit the same amount of markup content on a line as GitHub. - Fix height of `diff-file-list` Fixes: https://github.com/go-gitea/gitea/issues/23593 <img width="1250" alt="Screenshot 2023-03-18 at 00 52 04" src="https://user-images.githubusercontent.com/115237/226071392-6789a644-aead-4756-a77e-aba3642150a0.png"> <img width="1246" alt="Screenshot 2023-03-18 at 00 59 43" src="https://user-images.githubusercontent.com/115237/226071443-8bcba924-458b-48bd-b2f0-0de59cb180ac.png"> <img width="1250" alt="Screenshot 2023-03-18 at 01 27 14" src="https://user-images.githubusercontent.com/115237/226073121-ccb99f9a-d3ac-40b7-9589-43580c4a01c9.png"> <img width="1231" alt="Screenshot 2023-03-19 at 21 44 16" src="https://user-images.githubusercontent.com/115237/226207951-81bcae1b-6b41-4e39-83a7-0f37951df6be.png"> (Yes I'm aware the border-radius in bottom corners is suboptimal, but this would be notorously hard to fix without relying on `overflow: hidden`).
Diffstat (limited to 'templates')
-rw-r--r--templates/repo/diff/box.tmpl18
1 files changed, 14 insertions, 4 deletions
diff --git a/templates/repo/diff/box.tmpl b/templates/repo/diff/box.tmpl
index 4a5fc4b7cf..36e669276e 100644
--- a/templates/repo/diff/box.tmpl
+++ b/templates/repo/diff/box.tmpl
@@ -15,11 +15,18 @@
<div>
<div class="diff-detail-box diff-box sticky gt-df gt-sb gt-ac gt-fw">
<div class="gt-df gt-ac gt-fw">
- <a class="diff-toggle-file-tree-button muted gt-df gt-ac">
+ <button class="diff-toggle-file-tree-button gt-df gt-ac" data-show-text="{{.locale.Tr "repo.diff.show_file_tree"}}" data-hide-text="{{.locale.Tr "repo.diff.hide_file_tree"}}">
{{/* the icon meaning is reversed here, "octicon-sidebar-collapse" means show the file tree */}}
- {{svg "octicon-sidebar-collapse" 20 "icon hide"}}
- {{svg "octicon-sidebar-expand" 20 "icon"}}
- </a>
+ {{svg "octicon-sidebar-collapse" 20 "icon gt-hidden"}}
+ {{svg "octicon-sidebar-expand" 20 "icon gt-hidden"}}
+ </button>
+ <script>
+ const diffTreeVisible = localStorage?.getItem('diff_file_tree_visible') === 'true';
+ const diffTreeBtn = document.querySelector('.diff-toggle-file-tree-button');
+ const diffTreeIcon = `.octicon-sidebar-${diffTreeVisible ? 'expand' : 'collapse'}`;
+ diffTreeBtn.querySelector(diffTreeIcon).classList.remove('gt-hidden');
+ diffTreeBtn.setAttribute('data-tooltip-content', diffTreeBtn.getAttribute(diffTreeVisible ? 'data-hide-text' : 'data-show-text'));
+ </script>
<div class="diff-detail-stats gt-df gt-ac gt-ml-3">
{{svg "octicon-diff" 16 "gt-mr-2"}}{{.locale.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}}
</div>
@@ -68,6 +75,9 @@
<div id="diff-file-list"></div>
<div id="diff-container">
<div id="diff-file-tree" class="gt-hidden"></div>
+ <script>
+ if (diffTreeVisible) document.getElementById('diff-file-tree').classList.remove('gt-hidden');
+ </script>
<div id="diff-file-boxes" class="sixteen wide column">
{{range $i, $file := .Diff.Files}}
{{/*notice: the index of Diff.Files should not be used for element ID, because the index will be restarted from 0 when doing load-more for PRs with a lot of files*/}}