Refine management terminal logs and command UX

This commit is contained in:
npc0-hue
2026-08-03 14:28:31 +08:00
parent a1bf3aa86a
commit cf4d0d0ba5
4 changed files with 295 additions and 58 deletions
+19 -20
View File
@@ -490,31 +490,29 @@ to{transform:translate(-50%,-50%) rotate(calc(var(--construct-drift) + 360deg))}
.live-operation-toolbar .icon-command{min-height:36px}
.live-log-list{max-height:min(58dvh,560px)}
.live-log-line{cursor:default}
.terminal-drawer-backdrop{align-items:flex-end;justify-content:center;padding:5dvh 0 0;background:rgba(2,6,10,.76);backdrop-filter:none}
.management-terminal-drawer{width:100%;max-width:none;height:90dvh;max-height:90dvh;align-content:stretch;grid-template-rows:auto minmax(0,1fr);padding:16px 18px;border:1px solid var(--line-strong);border-bottom:0;border-radius:8px 8px 0 0;background:#05090f;backdrop-filter:none;box-shadow:0 -18px 48px rgba(0,0,0,.56),inset 0 1px 0 color-mix(in srgb,var(--rim-light) 24%,transparent)}
.management-terminal-drawer>.panel-header{top:-16px;margin:-16px -18px 0;padding:14px 18px 12px;background:#07101a;-webkit-backdrop-filter:none;backdrop-filter:none}
.management-terminal-body{height:100%;grid-template-rows:minmax(0,1fr) auto;gap:12px}
.terminal-output-panel{display:grid;min-height:0}
.terminal-output{display:grid;gap:6px;min-height:260px;max-height:min(54dvh,520px);overflow:auto;padding:12px;border-radius:8px;background:radial-gradient(circle at 92% 0,rgba(255,255,255,.1),transparent 36%),var(--code-surface);font-family:var(--font-mono);font-size:12.5px;color:var(--code-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 32px rgba(255,255,255,.12)}
.terminal-drawer-backdrop{align-items:flex-end;justify-content:center;padding:10dvh 0 0;background:#000;backdrop-filter:none}
.management-terminal-drawer{width:100%;max-width:none;height:90dvh;max-height:90dvh;align-content:stretch;grid-template-rows:minmax(0,1fr);padding:12px 14px;border:1px solid #242424;border-bottom:0;border-radius:8px 8px 0 0;background:#000;backdrop-filter:none;box-shadow:none}
.management-terminal-body{height:100%;grid-template-rows:minmax(0,1fr) auto;gap:10px}
.terminal-output-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border:1px solid #222;border-radius:8px;background:#000;overflow:hidden}
.terminal-output-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 10px;border-bottom:1px solid #1f2933;background:#000;color:#dbeafe}
.terminal-output-topbar>div{display:flex;align-items:center;gap:8px;min-width:0}.terminal-output-topbar>div:first-child{display:grid;gap:2px}.terminal-output-topbar strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-output-topbar span{font-size:11px;color:#8b949e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.terminal-output-action{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#c9d1d9;cursor:pointer;font:inherit;font-size:12px}.terminal-output-action:hover,.terminal-output-action:focus-visible{border-color:#58a6ff;color:#fff;outline:0}
.terminal-output{display:grid;align-content:start;gap:2px;min-height:260px;max-height:min(54dvh,520px);overflow:auto;padding:10px;border-radius:0;background:#000;font-family:var(--font-mono);font-size:12.5px;color:#c9d1d9;box-shadow:none}
.management-terminal-body .terminal-output{height:100%;min-height:0;max-height:none}
.terminal-line{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start}
.terminal-line time{color:var(--code-muted)}
.terminal-line span{overflow-wrap:anywhere}
.terminal-line-input span{color:var(--accent)}
.terminal-line-success span{color:var(--teal)}
.terminal-line-error span{color:var(--danger)}
.terminal-command-dock{display:grid;gap:10px;padding:12px;border:1px solid var(--line-strong);border-radius:8px;background:#08111b;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 32px rgba(0,0,0,.28)}
.terminal-line{display:grid;grid-template-columns:76px 148px minmax(0,1fr);gap:10px;align-items:start;min-height:20px;padding:1px 0}
.terminal-line time{color:#6e7681}.terminal-stream{color:#8b949e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-text{overflow-wrap:anywhere;color:#c9d1d9}
.terminal-line-input .terminal-stream,.terminal-line-input .terminal-text{color:#79c0ff}.terminal-line-success .terminal-stream,.terminal-line-success .terminal-text{color:#7ee787}.terminal-line-warn .terminal-stream,.terminal-line-warn .terminal-text{color:#d29922}.terminal-line-error .terminal-stream,.terminal-line-error .terminal-text{color:#ff7b72}
.terminal-command-dock{display:grid;gap:10px;padding:10px;border:1px solid #222;border-radius:8px;background:#000;box-shadow:none}
.terminal-command-dock-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.terminal-command-dock-header>span{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:800}
.terminal-command-dock-header>span{display:inline-flex;align-items:center;gap:6px;color:#f0f6fc;font-weight:800}
.terminal-quick-command-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.terminal-quick-command{display:grid;gap:4px;min-height:52px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#0b1722;color:var(--ink-soft);cursor:pointer;text-align:left}
.terminal-quick-command:hover,.terminal-quick-command:focus-visible{border-color:var(--accent);outline:0;color:var(--ink)}
.terminal-quick-command{display:grid;gap:3px;min-height:56px;padding:8px 10px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#8b949e;cursor:pointer;text-align:left}
.terminal-quick-command:hover,.terminal-quick-command:focus-visible{border-color:#58a6ff;outline:0;color:#f0f6fc}
.terminal-quick-command:disabled{cursor:not-allowed;opacity:.56}
.terminal-quick-command strong{font-size:12px;color:var(--ink)}
.terminal-quick-command span{font-family:var(--font-mono);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.terminal-quick-command strong{font-size:12px;color:#f0f6fc}.terminal-quick-command span,.terminal-quick-command small{font-family:var(--font-mono);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-quick-command small{color:#6e7681}
.terminal-command-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.terminal-command-form label{display:grid;gap:6px;color:var(--ink-soft);font-size:12px}
.terminal-command-form input{min-height:38px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;background:var(--surface-solid);color:var(--ink);font:inherit}
.terminal-command-form label{display:grid;gap:4px;color:#c9d1d9;font-size:12px}.terminal-command-form label small{color:#6e7681}
.terminal-command-form input{min-height:38px;border:1px solid #30363d;border-radius:6px;padding:0 10px;background:#050505;color:#f0f6fc;font:inherit}.terminal-command-form input:focus{border-color:#58a6ff;outline:0}.terminal-command-form .primary-command{border-color:#30363d;background:#161b22;color:#f0f6fc;box-shadow:none}.terminal-command-form .primary-command:hover,.terminal-command-form .primary-command:focus-visible{border-color:#58a6ff;color:#fff}
.plugin-detail-panel{width:100%;height:auto;overflow:visible;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:8px;box-shadow:var(--panel-shadow)}
.management-dialog-panel{width:min(720px,calc(100vw - 32px));height:auto;max-height:min(760px,calc(100dvh - 32px));overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:8px;box-shadow:var(--jelly-inset),inset 0 0 0 1px var(--diamond-line),0 18px 48px var(--glass-shadow),0 0 34px var(--moonbeam)}
.management-dialog-wide{width:min(920px,calc(100vw - 32px))}
@@ -712,6 +710,7 @@ to{transform:translate(-50%,-50%) rotate(calc(var(--construct-drift) + 360deg))}
.provider-table,.resource-table{min-width:680px}
.log-line{grid-template-columns:minmax(0,1fr);gap:2px}
.terminal-quick-command-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.terminal-line{grid-template-columns:64px minmax(0,1fr);gap:5px 8px}.terminal-stream,.terminal-text{grid-column:2}.terminal-output-topbar{align-items:stretch}.terminal-output-topbar,.terminal-output-topbar>div{display:grid}.terminal-output-topbar>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}
.management-terminal-drawer{height:92dvh;max-height:92dvh}
.ai-provider-toolbar{align-items:stretch}
.icon-command,.segmented-button{flex:1 1 auto}