add more features

This commit is contained in:
Christoph Brandau
2026-06-27 13:49:56 +02:00
parent 3b9d636fdb
commit 6a78e768bc
7 changed files with 989 additions and 18 deletions
+271 -4
View File
@@ -181,7 +181,8 @@ textarea {
.status-panel,
.commit-panel,
.file-history-panel,
.history-panel {
.history-panel,
.compare-panel {
min-height: 0;
border: 1px solid #d2d8de;
border-radius: 8px;
@@ -408,8 +409,8 @@ textarea {
.main-panel {
display: grid;
grid-template-rows: auto 1fr;
overflow: hidden;
grid-template-rows: auto minmax(0, 1fr) auto;
overflow: auto;
}
.repo-summary {
@@ -745,6 +746,257 @@ textarea {
font-size: 12px;
}
.commit-action-buttons {
display: flex;
align-items: center;
gap: 6px;
}
.compare-panel {
display: grid;
grid-template-rows: auto auto;
margin: 0 10px 10px;
}
.compare-form {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
align-items: end;
gap: 10px;
padding: 12px;
border-bottom: 1px solid #dce1e5;
}
.compare-field {
display: grid;
gap: 5px;
min-width: 0;
}
.compare-field span {
color: #596670;
font-size: 12px;
font-weight: 800;
}
.compare-field select {
width: 100%;
min-height: 36px;
padding: 0 8px;
border: 1px solid #c4ccd3;
border-radius: 6px;
background: #ffffff;
color: #202326;
font-size: 13px;
}
.compare-arrow {
margin-bottom: 8px;
color: #4f7d96;
}
.compare-summary {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 10px;
padding: 12px;
}
.compare-range {
display: flex;
align-items: center;
gap: 8px;
color: #4f7d96;
}
.compare-range .hash {
padding: 3px 8px;
border-radius: 999px;
background: #e7f1fb;
color: #255b8b;
font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
font-size: 12px;
font-weight: 700;
}
.compare-count {
color: #596670;
font-size: 13px;
font-weight: 700;
}
.dialog-backdrop {
position: fixed;
inset: 0;
z-index: 50;
display: grid;
place-items: center;
padding: 24px;
background: rgba(20, 26, 31, 0.45);
}
.dialog {
display: grid;
grid-template-rows: auto minmax(0, 1fr);
width: min(1100px, 100%);
height: min(760px, 100%);
border: 1px solid #c4ccd3;
border-radius: 12px;
background: #fbfcfd;
box-shadow: 0 18px 48px rgba(20, 26, 31, 0.32);
overflow: hidden;
}
.dialog-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 14px 16px;
border-bottom: 1px solid #dce1e5;
}
.dialog-range {
display: flex;
align-items: center;
gap: 8px;
margin: 2px 0 0;
color: #4f7d96;
font-size: 16px;
}
.dialog-range .hash {
padding: 3px 8px;
border-radius: 999px;
background: #e7f1fb;
color: #255b8b;
font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
font-size: 13px;
font-weight: 700;
}
.dialog-close {
min-height: 34px;
min-width: 34px;
padding: 0;
justify-content: center;
}
.dialog-body {
display: grid;
grid-template-columns: 300px minmax(0, 1fr);
min-height: 0;
}
.dialog-files {
display: grid;
align-content: start;
gap: 5px;
padding: 10px;
overflow: auto;
border-right: 1px solid #dce1e5;
background: #f4f6f8;
}
.dialog-file-row {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 8px;
padding: 7px 8px;
border: 1px solid #dce1e5;
border-radius: 6px;
background: #ffffff;
text-align: left;
}
.dialog-file-row.active {
border-color: #9cc2e6;
background: #e7f1fb;
}
.dialog-file-row strong {
overflow: hidden;
color: #202326;
font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
font-size: 12px;
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.dialog-diff {
display: grid;
min-height: 0;
padding: 10px;
}
.dialog-diff .diff-view {
max-height: none;
}
.diff-counts {
display: flex;
gap: 8px;
font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
font-size: 12px;
font-weight: 700;
}
.diff-counts .adds {
color: #176239;
}
.diff-counts .dels {
color: #9b2e29;
}
.diff-view {
min-height: 0;
max-height: 420px;
margin: 0;
padding: 10px;
overflow: auto;
border: 1px solid #dce1e5;
border-radius: 6px;
background: #ffffff;
font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
font-size: 12px;
line-height: 1.5;
tab-size: 2;
}
.diff-line {
display: block;
white-space: pre-wrap;
word-break: break-word;
}
.diff-line.meta {
color: #6c7882;
}
.diff-line.hunk {
color: #255b8b;
background: #eef4fb;
}
.diff-line.add {
color: #176239;
background: #e6f5ec;
}
.diff-line.del {
color: #9b2e29;
background: #fdeceb;
}
.diff-line.context {
color: #3a444c;
}
.blank-state,
.empty-note {
display: grid;
@@ -802,10 +1054,25 @@ textarea {
.repo-form,
.workspace,
.repo-summary,
.change-lanes {
.change-lanes,
.compare-form {
grid-template-columns: 1fr;
}
.compare-arrow {
display: none;
}
.dialog-body {
grid-template-columns: 1fr;
grid-template-rows: minmax(120px, 0.4fr) minmax(0, 1fr);
}
.dialog-files {
border-right: none;
border-bottom: 1px solid #dce1e5;
}
.toolbar,
.sync-stats {
justify-content: flex-start;