Дизайн: /admin приведён к тёмной теме ВЕКТОРа

- Табы, кнопки «Пользователи·Аудит»/«Обновить»/«Открыть анализ», фильтр
  операций — dark (#161b22/#21262d/#30363d/#e6edf3), без белых инлайнов.
- ClosedCases.css: светлая форма и чипы → dark-палитра (акцент #238636).
- Аудит: РУ-лейблы case_closed/operation_complete.
This commit is contained in:
2026-09-09 22:49:21 +03:00
parent 57f0f62d42
commit d65e171788
3 changed files with 29 additions and 26 deletions
+7 -6
View File
@@ -83,7 +83,7 @@ function OperationsTab() {
<option value="">Все статусы</option> <option value="">Все статусы</option>
{Object.entries(OP_STATUS_LABEL).map(([k, v]) => <option key={k} value={k}>{v}</option>)} {Object.entries(OP_STATUS_LABEL).map(([k, v]) => <option key={k} value={k}>{v}</option>)}
</select> </select>
<button type="button" onClick={load} style={{ padding: '6px 12px', fontSize: 13, cursor: 'pointer', fontFamily: 'inherit' }}>Обновить</button> <button type="button" onClick={load} style={{ padding: '6px 12px', fontSize: 13, cursor: 'pointer', fontFamily: 'inherit', background: '#21262d', color: '#e6edf3', border: '1px solid #30363d', borderRadius: 6 }}>Обновить</button>
<span style={{ fontSize: 12, color: '#8b949e' }}>всего: {ops.length}</span> <span style={{ fontSize: 12, color: '#8b949e' }}>всего: {ops.length}</span>
</div> </div>
@@ -118,7 +118,7 @@ function OperationsTab() {
<button <button
type="button" type="button"
onClick={() => { window.location.href = `/analysis/${op.case_id}`; }} onClick={() => { window.location.href = `/analysis/${op.case_id}`; }}
style={{ padding: '4px 10px', fontSize: 12, cursor: 'pointer', fontFamily: 'inherit' }} style={{ padding: '4px 10px', fontSize: 12, cursor: 'pointer', fontFamily: 'inherit', background: '#21262d', color: '#58a6ff', border: '1px solid #30363d', borderRadius: 6 }}
> >
Открыть анализ Открыть анализ
</button> </button>
@@ -442,7 +442,7 @@ function AdminDashboard() {
<button <button
type="button" type="button"
onClick={() => { window.location.href = '/users'; }} onClick={() => { window.location.href = '/users'; }}
style={{ padding: '8px 14px', fontSize: 13, cursor: 'pointer', fontFamily: 'inherit' }} style={{ padding: '8px 14px', fontSize: 13, cursor: 'pointer', fontFamily: 'inherit', background: '#21262d', color: '#e6edf3', border: '1px solid #30363d', borderRadius: 6 }}
> >
Пользователи · Аудит Пользователи · Аудит
</button> </button>
@@ -463,9 +463,10 @@ function AdminDashboard() {
padding: '6px 16px', padding: '6px 16px',
fontSize: 13, fontSize: 13,
cursor: 'pointer', cursor: 'pointer',
border: '1px solid #c2cad4', border: '1px solid #30363d',
borderBottom: activeTab === t.id ? 'none' : '1px solid #c2cad4', borderBottom: activeTab === t.id ? 'none' : '1px solid #30363d',
background: activeTab === t.id ? '#fff' : '#eef2f7', background: activeTab === t.id ? '#161b22' : 'transparent',
color: activeTab === t.id ? '#e6edf3' : '#8b949e',
fontWeight: activeTab === t.id ? 600 : 400, fontWeight: activeTab === t.id ? 600 : 400,
fontFamily: 'inherit', fontFamily: 'inherit',
}} }}
+20 -20
View File
@@ -7,7 +7,7 @@
} }
.cc-panel { .cc-panel {
background: #fff; background: #161b22;
border: 1px solid #d5dbe3; border: 1px solid #d5dbe3;
padding: 16px; padding: 16px;
} }
@@ -20,7 +20,7 @@
.cc-panel-header p { .cc-panel-header p {
margin: 0; margin: 0;
font-size: 12px; font-size: 12px;
color: #667; color: #8b949e;
} }
.cc-form { .cc-form {
@@ -32,7 +32,7 @@
margin: 14px 0 8px; margin: 14px 0 8px;
padding-bottom: 4px; padding-bottom: 4px;
border-bottom: 1px solid #e3e8ee; border-bottom: 1px solid #e3e8ee;
color: #234; color: #e6edf3;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.5px; letter-spacing: 0.5px;
} }
@@ -56,7 +56,7 @@
} }
.cc-field span { .cc-field span {
color: #456; color: #8b949e;
font-weight: 600; font-weight: 600;
} }
@@ -64,7 +64,7 @@
.cc-field select, .cc-field select,
.cc-field textarea { .cc-field textarea {
border: 1px solid #c2cad4; border: 1px solid #c2cad4;
background: #fff; background: #161b22;
padding: 5px 7px; padding: 5px 7px;
font-size: 13px; font-size: 13px;
font-family: inherit; font-family: inherit;
@@ -86,7 +86,7 @@
.cc-chip { .cc-chip {
border: 1px solid #b8c2ce; border: 1px solid #b8c2ce;
background: #f4f6f9; background: #0d1117;
padding: 3px 10px; padding: 3px 10px;
font-size: 12px; font-size: 12px;
cursor: pointer; cursor: pointer;
@@ -94,9 +94,9 @@
} }
.cc-chip-on { .cc-chip-on {
background: #2b6cb0; background: #238636;
color: #fff; color: #fff;
border-color: #2b6cb0; border-color: #238636;
} }
.cc-actions { .cc-actions {
@@ -104,7 +104,7 @@
} }
.cc-primary-btn { .cc-primary-btn {
background: #2b6cb0; background: #238636;
color: #fff; color: #fff;
border: none; border: none;
padding: 8px 18px; padding: 8px 18px;
@@ -126,9 +126,9 @@
} }
.cc-alert-error { .cc-alert-error {
background: #fde8e8; background: rgba(248, 81, 73, 0.12);
border: 1px solid #e53e3e; border: 1px solid #e53e3e;
color: #9b2c2c; color: #ffb4b4;
} }
/* Прогноз vs факт */ /* Прогноз vs факт */
@@ -147,20 +147,20 @@
.cc-pred-item span { .cc-pred-item span {
font-size: 11px; font-size: 11px;
color: #567; color: #8b949e;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.4px; letter-spacing: 0.4px;
} }
.cc-pred-item strong { .cc-pred-item strong {
font-size: 20px; font-size: 20px;
color: #1a365d; color: #e6edf3;
} }
.cc-accuracy { .cc-accuracy {
margin-top: 10px; margin-top: 10px;
padding: 8px 10px; padding: 8px 10px;
background: #f0f5fb; background: #0d1117;
border: 1px solid #b8d0ea; border: 1px solid #b8d0ea;
font-size: 13px; font-size: 13px;
} }
@@ -181,35 +181,35 @@
} }
.cc-table th { .cc-table th {
background: #eef2f7; background: #0d1117;
font-size: 11px; font-size: 11px;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.4px; letter-spacing: 0.4px;
} }
.cc-table tbody tr:hover { .cc-table tbody tr:hover {
background: #f7fafd; background: #0d1117;
} }
.cc-hit { .cc-hit {
color: #276749; color: #3fb950;
font-weight: 600; font-weight: 600;
} }
.cc-miss { .cc-miss {
color: #c53030; color: #f85149;
font-weight: 600; font-weight: 600;
} }
.cc-link-btn { .cc-link-btn {
border: none; border: none;
background: none; background: none;
color: #c53030; color: #f85149;
cursor: pointer; cursor: pointer;
font-size: 13px; font-size: 13px;
} }
.cc-empty { .cc-empty {
color: #678; color: #8b949e;
font-size: 13px; font-size: 13px;
} }
+2
View File
@@ -22,6 +22,8 @@ const STATUS_CLASS = {
}; };
const EVENT_LABEL = { const EVENT_LABEL = {
case_closed: 'Кейс закрыт',
operation_complete: 'Поиск завершён',
login: 'Вход', login: 'Вход',
login_failed: 'Неудачный вход', login_failed: 'Неудачный вход',
logout: 'Выход', logout: 'Выход',