mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	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`).
This commit is contained in:
		| @@ -238,6 +238,10 @@ table { | ||||
|   border-collapse: collapse; | ||||
| } | ||||
|  | ||||
| button { | ||||
|   cursor: pointer; | ||||
| } | ||||
|  | ||||
| details summary { | ||||
|   cursor: pointer; | ||||
| } | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -67,8 +67,7 @@ | ||||
| .comment-code-cloud { | ||||
|   padding: 0.5rem 1rem !important; | ||||
|   position: relative; | ||||
|   margin: 0 auto; | ||||
|   max-width: 1000px; | ||||
|   max-width: 820px; | ||||
| } | ||||
|  | ||||
| @media (max-width: 767px) { | ||||
| @@ -308,11 +307,3 @@ a.blob-excerpt:hover { | ||||
|   width: 72px; | ||||
|   height: 10px; | ||||
| } | ||||
|  | ||||
| .diff-file-box { | ||||
|   border-radius: 0.285rem; /* Just like ui.top.attached.header */ | ||||
| } | ||||
|  | ||||
| .diff-file-box:target { | ||||
|   box-shadow: 0 0 0 3px var(--color-accent); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user