feat: добавлены компоненты для управления конфигурацией и логами
Добавлены новые компоненты для отображения и управления конфигурацией, логами и правилами маршрутизации. Реализована логика для работы с API, включая запросы на получение и сохранение данных. Также добавлены шаблоны правил и утилиты для валидации. Refs: None
This commit is contained in:
@@ -438,3 +438,93 @@ dd {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
/* Дополнения для новых компонентов */
|
||||
.primary-block { display: flex; flex-direction: column; gap: 12px; }
|
||||
.masked-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
|
||||
.masked-row .masked {
|
||||
flex: 1;
|
||||
padding: 8px 12px;
|
||||
border-radius: 10px;
|
||||
background: rgba(255,255,255,0.04);
|
||||
font-family: 'Space Grotesk', monospace;
|
||||
color: var(--muted);
|
||||
}
|
||||
.runtime-actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
margin: 12px 0;
|
||||
}
|
||||
.runtime-actions button { flex: 1 1 auto; }
|
||||
|
||||
.rule-card.invalid { border-color: rgba(255, 107, 107, 0.55); }
|
||||
.field.has-error textarea, .field.has-error input { border-color: var(--red); }
|
||||
.field small.error { color: var(--red); margin-top: 4px; display: block; }
|
||||
.drag-handle {
|
||||
cursor: grab;
|
||||
user-select: none;
|
||||
padding: 4px 8px;
|
||||
border-radius: 6px;
|
||||
background: rgba(255,255,255,0.05);
|
||||
color: var(--muted);
|
||||
font-family: 'Space Grotesk', monospace;
|
||||
font-size: 12px;
|
||||
}
|
||||
.drag-handle:active { cursor: grabbing; }
|
||||
|
||||
.logs-panel .logs-stream {
|
||||
max-height: 360px;
|
||||
overflow-y: auto;
|
||||
background: rgba(0,0,0,0.35);
|
||||
border-radius: 14px;
|
||||
padding: 12px;
|
||||
font-family: 'Space Grotesk', monospace;
|
||||
font-size: 12px;
|
||||
line-height: 1.55;
|
||||
}
|
||||
.log-line { display: flex; gap: 10px; margin: 0 0 2px; }
|
||||
.log-time { color: var(--muted); flex: 0 0 auto; }
|
||||
.log-level { color: var(--amber); flex: 0 0 50px; text-transform: uppercase; font-size: 10px; padding-top: 2px; }
|
||||
.log-error .log-level { color: var(--red); }
|
||||
.log-text { flex: 1; word-break: break-all; }
|
||||
|
||||
.modal-backdrop {
|
||||
position: fixed; inset: 0;
|
||||
background: rgba(3, 8, 6, 0.7);
|
||||
backdrop-filter: blur(6px);
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
z-index: 100;
|
||||
padding: 24px;
|
||||
}
|
||||
.modal {
|
||||
background: var(--panel-strong);
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 24px;
|
||||
box-shadow: var(--shadow);
|
||||
width: min(900px, 100%);
|
||||
max-height: 90vh;
|
||||
display: flex; flex-direction: column;
|
||||
padding: 24px;
|
||||
gap: 16px;
|
||||
}
|
||||
.modal-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.modal-header h3 { margin: 0; font-family: 'Space Grotesk', sans-serif; }
|
||||
.config-view {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
background: rgba(0,0,0,0.4);
|
||||
padding: 16px;
|
||||
border-radius: 14px;
|
||||
font-family: 'Space Grotesk', monospace;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user