Add instance nav prefs, env config UI, and PM2 restart.
P1-P4: configurable nav/section visibility in system settings, full .env editor with restart badges, password change, runtime hot overrides, and single-instance pm2 restart. Works in hub embed iframe. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2181,6 +2181,153 @@ html[data-theme="light"] .journal-detail-img-thumb {
|
||||
background: #eef2f7;
|
||||
}
|
||||
|
||||
.nav-hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* ── env 配置页(三列卡片) ── */
|
||||
.env-config-page {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.env-config-head {
|
||||
padding: 12px 14px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.env-config-toolbar {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.env-config-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: 12px;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.env-group-card {
|
||||
padding: 10px 12px;
|
||||
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-label {
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
color: #a8b0cc;
|
||||
}
|
||||
|
||||
.env-field-note {
|
||||
font-size: 0.68rem;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.env-field-input {
|
||||
width: 100%;
|
||||
font-size: 0.78rem;
|
||||
}
|
||||
|
||||
.env-field-badge {
|
||||
font-size: 0.65rem;
|
||||
align-self: flex-start;
|
||||
padding: 1px 6px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.env-badge-hot {
|
||||
background: rgba(56, 178, 120, 0.15);
|
||||
color: #6ee7a8;
|
||||
}
|
||||
|
||||
.env-badge-restart {
|
||||
background: rgba(251, 191, 36, 0.12);
|
||||
color: #fbbf24;
|
||||
}
|
||||
|
||||
.display-prefs-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.display-prefs-checks {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px 16px;
|
||||
}
|
||||
|
||||
.display-prefs-checks .chk-label {
|
||||
font-size: 0.82rem;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.settings-password-form {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 8px 12px;
|
||||
margin: 8px 0;
|
||||
}
|
||||
|
||||
.settings-password-form label {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
font-size: 0.78rem;
|
||||
color: var(--muted, #8892b0);
|
||||
}
|
||||
|
||||
.settings-actions-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.settings-status-line.err {
|
||||
color: var(--danger, #f87171);
|
||||
}
|
||||
|
||||
@media (max-width: 1100px) {
|
||||
.env-config-grid {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.env-config-grid {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
.settings-password-form {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
/* ── 风控说明页 ── */
|
||||
.risk-policy-page {
|
||||
margin-top: 12px;
|
||||
|
||||
Reference in New Issue
Block a user