mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-02-18 23:12:54 +01:00
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   ### After       --------- 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;
|
|
}
|
|
}
|
|
}
|