恢复并增强 Admin/Chat 专家配置与流式渲染体验,统一开关与布局规范。

将专家元数据接入后端和管理页面,并恢复合并模式选择与稳定流式增量显示,减少末尾闪烁与配置混乱。

Made-with: Cursor
This commit is contained in:
oliver 2026-04-26 21:16:14 +08:00
parent 8989dfea2f
commit ca354c0a71
5 changed files with 372 additions and 143 deletions

View file

@ -174,6 +174,21 @@ body {
.card { background: rgba(15,23,42,0.9); border: 1px solid rgba(148,163,184,0.18); border-radius: 14px; padding: 14px; margin-bottom: 12px; }
.card__title { font-weight: 650; margin-bottom: 10px; }
.row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.section-card .row {
width: 100%;
flex-wrap: nowrap;
align-items: center;
}
.section-card .row > label:first-child {
min-width: 170px;
}
.section-card .row > .input,
.section-card .row > textarea.input,
.section-card .row > select.input {
width: 100%;
max-width: 100%;
min-width: 0;
}
.chat-login-fields {
display: flex;
flex-direction: column;
@ -213,7 +228,60 @@ body {
flex: 0 0 auto;
}
.kv { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px; background: rgba(148,163,184,0.08); border: 1px solid rgba(148,163,184,0.14); padding: 6px 8px; border-radius: 10px; }
.section-card .kv {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
box-sizing: border-box;
}
.input { background: rgba(2,6,23,0.65); border: 1px solid rgba(148,163,184,0.25); color: #e2e8f0; border-radius: 10px; padding: 8px 10px; min-width: 240px; }
/* Unified switch style for admin/chat checkboxes */
input[type="checkbox"],
.switch-input {
appearance: none;
-webkit-appearance: none;
width: 40px;
height: 22px;
border-radius: 999px;
border: 1px solid rgba(148,163,184,0.35);
background: rgba(15,23,42,0.75);
position: relative;
cursor: pointer;
transition: background .18s ease, border-color .18s ease;
}
input[type="checkbox"]::before,
.switch-input::before {
content: "";
position: absolute;
width: 16px;
height: 16px;
left: 2px;
top: 2px;
border-radius: 50%;
background: #cbd5e1;
transition: transform .18s ease;
}
input[type="checkbox"]:checked,
.switch-input:checked {
background: rgba(34,197,94,0.45);
border-color: rgba(34,197,94,0.85);
}
input[type="checkbox"]:checked::before,
.switch-input:checked::before {
transform: translateX(18px);
background: #ffffff;
}
.switch-wrap {
display: inline-flex;
align-items: center;
gap: 8px;
cursor: pointer;
}
.switch-slider {
display: none;
}
.input--compact {
min-width: 0;
padding: 6px 8px;