diff options
author | silverwind <me@silverwind.io> | 2023-03-30 14:06:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-30 20:06:10 +0800 |
commit | aa4d1d94f79e8edd9fa9ff2813fea12b085b2cae (patch) | |
tree | 2197145a72c7e8efecb101acc176a9cb7da274c5 /web_src/css/repository.css | |
parent | 35cb786ca1dd6d12963ac7067945065b271f36ad (diff) | |
download | gitea-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 'web_src/css/repository.css')
-rw-r--r-- | web_src/css/repository.css | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/web_src/css/repository.css b/web_src/css/repository.css index e2f2075946..27d6a51cdd 100644 --- a/web_src/css/repository.css +++ b/web_src/css/repository.css @@ -1616,14 +1616,12 @@ padding: 7px 0; background: var(--color-body); line-height: 30px; - height: 47px; /* match .ui.attached.header.diff-file-header.sticky-2nd-row */ } @media (max-width: 991px) { .repository .diff-detail-box { flex-direction: column; align-items: flex-start; - height: 77px; /* match .ui.attached.header.diff-file-header.sticky-2nd-row */ } } @@ -1679,6 +1677,13 @@ } } +.diff-detail-actions { + /* prevent font-size from increasing element height so that .diff-detail-box comes + out with height of 47px (one line) and 77px (two lines), which is important for + position: sticky */ + height: 33px; +} + .repository .diff-detail-box .diff-detail-actions > * { margin-right: 0; } @@ -1853,10 +1858,24 @@ padding-bottom: 5px; } +.diff-file-box { + border: 1px solid transparent; + border-radius: var(--border-radius); +} + +/* TODO: this can potentially be made "global" by removing the class prefix */ +.diff-file-box .ui.attached.header, +.diff-file-box .ui.attached.table { + margin: 0; /* remove fomantic negative margins */; + width: initial; /* remove fomantic over 100% width */; + max-width: initial; /* remove fomantic over 100% width */; +} + .repository .diff-stats { clear: both; margin-bottom: 5px; - max-height: 400px; + max-height: 200px; + height: fit-content; overflow: auto; padding-left: 0; } @@ -2652,7 +2671,8 @@ filter: drop-shadow(-3px 0 0 var(--color-primary-alpha-30)) !important; } -.code-comment:target { +.code-comment:target, +.diff-file-box:target { border-color: var(--color-primary) !important; border-radius: var(--border-radius) !important; box-shadow: 0 0 0 3px var(--color-primary-alpha-30) !important; @@ -3226,17 +3246,28 @@ td.blob-excerpt { } #diff-file-tree { - width: 20%; + flex: 0 0 20%; max-width: 380px; line-height: inherit; position: sticky; padding-top: 0; top: 47px; - max-height: calc(100vh - 50px); + max-height: calc(100vh - 47px); height: 100%; overflow-y: auto; } +.diff-toggle-file-tree-button { + background: none; + border: none; + user-select: none; + color: inherit; +} + +.diff-toggle-file-tree-button:hover { + color: var(--color-primary); +} + @media (max-width: 991px) { #diff-file-tree { display: none !important; |