forked from NYANDEV/forgejo
10df304b2f
Backport #23312 Replace #23310, Close #19733 And fix various UI problems, including regressions from #22959 #22950 and more. ## SVG Detection The old regexp may mismatch non-SVG files. This PR adds new tests for those cases. ## UI Changes ### Before ![image](https://user-images.githubusercontent.com/2114189/222967716-f6ad8721-f46a-4a3f-9eb0-a89e488d3436.png) ![image](https://user-images.githubusercontent.com/2114189/222967780-8af8981a-e69d-4304-9dc4-0235582fa4f4.png) ### After ![image](https://user-images.githubusercontent.com/2114189/222967575-c21c23d4-0200-4e09-aac3-57895e853000.png) ![image](https://user-images.githubusercontent.com/2114189/222967585-8b8da262-bc96-441a-9851-8d3845f2659d.png) ![image](https://user-images.githubusercontent.com/2114189/222967595-58d9bea5-6df4-41fa-bf8a-86704117959d.png) ![image](https://user-images.githubusercontent.com/2114189/222967608-38757c1a-b8bd-4ebf-b7a8-3b30edb7f303.png) ![image](https://user-images.githubusercontent.com/2114189/222967623-9849a339-6fae-4484-8fa5-939e2fdacbf5.png) ![image](https://user-images.githubusercontent.com/2114189/222967633-4383d7dd-62ba-47a3-8c10-86f7ca7757ae.png) Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
105 lines
2 KiB
Text
105 lines
2 KiB
Text
.image-diff-container {
|
|
text-align: center;
|
|
padding: 1em 0;
|
|
|
|
img {
|
|
border: 1px solid var(--color-primary-light-7);
|
|
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAG0lEQVQYlWN4+vTpf3SMDTAMBYXYBLFpHgoKAeiOf0SGE9kbAAAAAElFTkSuQmCC") right bottom var(--color-primary-light-7);
|
|
}
|
|
|
|
.before-container {
|
|
border: 1px solid var(--color-red);
|
|
display: block;
|
|
}
|
|
|
|
.after-container {
|
|
border: 1px solid var(--color-green);
|
|
display: block;
|
|
}
|
|
|
|
.diff-side-by-side {
|
|
.side {
|
|
display: inline-block;
|
|
line-height: 0;
|
|
vertical-align: top;
|
|
margin: 0 1em;
|
|
|
|
.side-header {
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
}
|
|
|
|
.diff-swipe {
|
|
margin: auto;
|
|
|
|
.swipe-frame {
|
|
position: absolute;
|
|
|
|
.before-container {
|
|
position: absolute;
|
|
}
|
|
|
|
.swipe-container {
|
|
position: absolute;
|
|
right: 0;
|
|
display: block;
|
|
border-left: 2px solid var(--color-secondary-dark-8);
|
|
height: 100%;
|
|
overflow: hidden;
|
|
|
|
.after-container {
|
|
position: absolute;
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
.swipe-bar {
|
|
position: absolute;
|
|
height: 100%;
|
|
top: 0;
|
|
left: 0;
|
|
|
|
.handle {
|
|
background: var(--color-secondary-dark-8);
|
|
left: -5px;
|
|
height: 12px;
|
|
width: 12px;
|
|
position: absolute;
|
|
transform: rotate(45deg);
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.top-handle {
|
|
top: -12px;
|
|
}
|
|
|
|
.bottom-handle {
|
|
bottom: -14px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.diff-overlay {
|
|
margin: 0 auto;
|
|
|
|
.overlay-frame {
|
|
margin: 0 auto;
|
|
position: relative;
|
|
}
|
|
|
|
.before-container,
|
|
.after-container {
|
|
position: absolute;
|
|
}
|
|
|
|
input {
|
|
max-width: 300px;
|
|
}
|
|
}
|
|
}
|