feat(vcs): resizable Push dialog with collapsible repository groups (#407)

The Push dialog had a fixed size and listed every repository's outgoing commits flat. Dialog gains a resizable option (corner grip, clamped to the viewport, numeric width as the minimum), both Push dialogs use it with the commit list filling the body, and the multi-repository Push dialog shows each repository as a collapsible group (clicking the row still toggles its checkbox).

Fixes #397

Co-authored-by: a-rookie-of-C-language <[email protected]>
Цей коміт міститься в:
arookieofcтаa-rookie-of-C-language authored and GitHub committed 2026-10-30 19:37:56 +08:00
1 джерело 552a43a0a1
коміт f87d153caf
5 files changed
+146 -31

No files matched your search

+27
Переглянути файл
@@ -16,6 +16,7 @@
.dialog {
display: flex;
flex-direction: column;
position: relative;
max-width: 100%;
max-height: 100%;
background: var(--bg-dialog, var(--bg-elev));
@@ -36,6 +37,32 @@
box-shadow: var(--shadow-popup);
}
/* Corner grip for `resizable` dialogs (over the footer's right padding). */
.resizeGrip {
position: absolute;
right: 0;
bottom: 0;
width: 16px;
height: 16px;
cursor: nwse-resize;
touch-action: none;
background: linear-gradient(
135deg,
transparent 55%,
var(--fg-faint) 55%,
var(--fg-faint) 62%,
transparent 62%,
transparent 72%,
var(--fg-faint) 72%,
var(--fg-faint) 79%,
transparent 79%
);
opacity: 0.55;
}
.resizeGrip:hover {
opacity: 1;
}
/* Title bar (drag handle). macOS: traffic lights then the title; else title + close. */
.titleBar {
height: var(--h-dialog-titlebar, 32px);