Integrate backend APIs and move review to center editor tab

This commit is contained in:
2026-02-24 14:22:39 +03:00
parent fe67753f74
commit 91a0a50b04
13 changed files with 1010 additions and 152 deletions

View File

@@ -318,6 +318,9 @@ textarea {
.md-toggle {
position: static;
z-index: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--top-control-btn-h);
min-width: var(--top-control-btn-h);
height: var(--top-control-btn-h);
@@ -327,6 +330,7 @@ textarea {
line-height: 1;
background: #163057;
flex-shrink: 0;
text-align: center;
}
.md-toggle.active {
@@ -409,6 +413,21 @@ textarea {
color: #81b9ff;
}
.md-preview .mermaid {
margin: 10px 0;
padding: 8px;
border: 1px solid var(--line);
border-radius: 6px;
background: #081427;
overflow: auto;
}
.md-preview .mermaid-error {
color: #ffd7d7;
font-family: "IBM Plex Mono", "Consolas", monospace;
white-space: pre-wrap;
}
.editor-footer {
margin-top: 8px;
border: 1px solid var(--line);
@@ -432,12 +451,55 @@ textarea {
white-space: nowrap;
}
.rag-status {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--muted);
font-size: 12px;
flex-shrink: 0;
white-space: nowrap;
}
.rag-dot {
width: 10px;
height: 10px;
border-radius: 999px;
border: 1px solid #315685;
box-shadow: 0 0 0 1px #0f2343 inset;
}
.rag-red {
background: #cf4b57;
}
.rag-yellow {
background: #d7b84d;
}
.rag-green {
background: #49c47c;
}
.editor-actions {
display: flex;
gap: 8px;
flex-shrink: 0;
}
.tree-footer {
display: grid;
grid-template-rows: 1fr 1fr;
align-items: center;
justify-items: start;
row-gap: 0;
}
.tree-footer-line {
width: 100%;
min-width: 0;
}
.chat-wrap,
.review-wrap {
display: flex;
@@ -451,7 +513,12 @@ textarea {
.review-wrap {
flex: 1;
margin-top: 8px;
margin-top: 0;
}
.editor-review {
flex: 1;
min-height: 0;
}
.chat-log,
@@ -466,6 +533,9 @@ textarea {
flex: 1;
min-height: 0;
overflow: auto;
display: flex;
flex-direction: column;
justify-content: flex-end;
}
.chat-entry {
@@ -475,6 +545,12 @@ textarea {
white-space: pre-wrap;
}
.chat-entry:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.chat-form {
margin-top: 8px;
display: grid;
@@ -521,6 +597,7 @@ textarea {
.diff-view {
overflow: auto;
min-height: 120px;
flex: 1;
}
.diff-line {
@@ -543,12 +620,81 @@ textarea {
.tree-item {
padding: 2px 4px;
cursor: pointer;
user-select: none;
}
.tree-item:hover {
background: #133056;
}
.tree-item-dir {
color: var(--muted);
}
.indexing-modal {
position: fixed;
inset: 0;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
background: rgba(4, 10, 20, 0.78);
backdrop-filter: blur(2px);
}
.indexing-card {
width: min(640px, calc(100vw - 40px));
border: 1px solid var(--line);
border-radius: 10px;
padding: 16px;
background: linear-gradient(180deg, #112648 0%, #0c1a33 100%);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}
.indexing-card h3 {
margin: 0 0 12px;
font-size: 18px;
color: var(--text);
}
.indexing-row {
display: grid;
grid-template-columns: 130px 1fr;
gap: 8px;
margin-bottom: 8px;
min-height: 20px;
}
.indexing-label {
color: var(--muted);
font-size: 13px;
}
.indexing-value {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--text);
font-size: 13px;
}
.indexing-progress {
margin-top: 8px;
height: 8px;
border: 1px solid var(--line);
border-radius: 999px;
background: #0b1830;
overflow: hidden;
}
.indexing-progress-bar {
height: 100%;
width: 0%;
background: linear-gradient(90deg, #2f5f99 0%, #4fa0ff 100%);
transition: width 0.2s ease;
}
@media (max-width: 1100px) {
.layout {
grid-template-columns: 1fr;