Redesign env config UI: tabs, 2-col form, remove per-field badges

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-08 21:10:54 +08:00
parent 0d2ce9c126
commit 576f6fbcfc
6 changed files with 312 additions and 136 deletions
+127 -40
View File
@@ -2185,85 +2185,172 @@ html[data-theme="light"] .journal-detail-img-thumb {
display: none !important;
}
/* ── env 配置页(三列卡片 ── */
/* ── env 配置页(Tab + 双列表单 ── */
.env-config-page {
margin-top: 12px;
}
.env-config-head {
padding: 12px 14px;
padding: 14px 16px;
margin-bottom: 12px;
}
.env-config-head-row {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
gap: 12px 16px;
}
.env-config-head h2 {
margin: 0 0 4px;
font-size: 1rem;
}
.env-config-head-hint {
margin: 0;
font-size: 0.78rem;
max-width: 42rem;
}
.env-config-toolbar {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
margin-top: 10px;
flex-shrink: 0;
}
.env-config-grid {
.env-config-body {
padding: 0;
overflow: hidden;
}
.env-config-tabs {
display: flex;
flex-wrap: nowrap;
gap: 0;
overflow-x: auto;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
padding: 0 8px;
scrollbar-width: thin;
}
.env-tab-btn {
flex: 0 0 auto;
border: none;
background: transparent;
color: var(--muted, #8892b0);
font-size: 0.8rem;
padding: 10px 14px;
cursor: pointer;
border-bottom: 2px solid transparent;
margin-bottom: -1px;
white-space: nowrap;
transition: color 0.15s, border-color 0.15s;
}
.env-tab-btn:hover {
color: #c5cae0;
}
.env-tab-btn.is-active {
color: #e8ecff;
border-bottom-color: var(--accent, #7c6cf0);
font-weight: 600;
}
.env-config-panels {
padding: 14px 16px 16px;
}
.env-panel-hint {
margin: 0 0 12px;
padding: 8px 10px;
font-size: 0.75rem;
border-radius: 6px;
background: rgba(251, 191, 36, 0.08);
color: #e8c468;
border: 1px solid rgba(251, 191, 36, 0.15);
}
.env-form-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px 20px;
align-items: start;
}
.env-group-card {
padding: 10px 12px;
.env-field-row {
display: flex;
flex-direction: column;
gap: 5px;
min-width: 0;
}
.env-group-title {
margin: 0 0 8px;
font-size: 0.88rem;
font-weight: 600;
}
.env-group-fields {
display: flex;
flex-direction: column;
gap: 8px;
}
.env-field-card {
display: flex;
flex-direction: column;
gap: 4px;
.env-field-row--restart .env-field-label {
color: #d4c4a0;
}
.env-field-label {
font-size: 0.72rem;
font-size: 0.8rem;
font-weight: 600;
color: #a8b0cc;
color: #c5cae0;
line-height: 1.3;
}
.env-restart-mark {
color: #fbbf24;
font-weight: 700;
margin-left: 2px;
}
.env-field-note {
font-size: 0.68rem;
font-size: 0.72rem;
line-height: 1.35;
margin-top: -2px;
}
.env-field-input {
width: 100%;
font-size: 0.78rem;
font-size: 0.82rem;
padding: 7px 10px;
border-radius: 6px;
box-sizing: border-box;
}
.env-field-badge {
font-size: 0.65rem;
align-self: flex-start;
padding: 1px 6px;
border-radius: 4px;
.env-config-loading-wrap {
padding: 24px;
text-align: center;
}
.env-badge-hot {
background: rgba(56, 178, 120, 0.15);
color: #6ee7a8;
/* 兼容旧结构 */
.env-config-grid {
display: block;
}
.env-group-card,
.env-field-card,
.env-field-badge,
.env-badge-hot,
.env-badge-restart {
background: rgba(251, 191, 36, 0.12);
color: #fbbf24;
display: none;
}
@media (max-width: 900px) {
.env-form-grid {
grid-template-columns: minmax(0, 1fr);
}
}
@media (max-width: 720px) {
.env-config-head-row {
flex-direction: column;
}
.env-config-toolbar {
width: 100%;
}
}
.display-prefs-form {
@@ -2314,13 +2401,13 @@ html[data-theme="light"] .journal-detail-img-thumb {
}
@media (max-width: 1100px) {
.env-config-grid {
.env-form-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 720px) {
.env-config-grid {
.env-form-grid {
grid-template-columns: minmax(0, 1fr);
}
.settings-password-form {