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