工作台左侧客户端支持折叠,带鱼屏两侧留边。

折叠状态本地记住;总览/工作台内容限宽居中。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-01 12:01:36 +08:00
parent 1ddd941511
commit ad6eef3873
2 changed files with 130 additions and 12 deletions
+91 -5
View File
@@ -28,11 +28,13 @@ a { color: #9ec1ff; text-decoration: none; }
.topbar nav a.active { color: #fff; }
.brand { font-weight: 700; }
.main { padding: 16px; max-width: 1200px; margin: 0 auto; }
/* 总览/工作台:带鱼屏两侧留边,内容区限宽居中 */
body.page-desk .main,
body.page-dashboard .main {
max-width: none;
max-width: 1680px;
width: 100%;
padding: 12px 16px 20px;
margin: 0 auto;
padding: 12px clamp(16px, 3vw, 48px) 20px;
}
.page-head { display: flex; align-items: center; gap: 12px; }
.muted { color: var(--muted); font-size: 0.9rem; }
@@ -139,16 +141,88 @@ button, .btn {
.card .status-off { color: var(--bad); }
.card table { width: 100%; font-size: 0.8rem; border-collapse: collapse; }
.card td, .card th { border-bottom: 1px solid var(--line); padding: 4px 2px; text-align: left; }
.desk { display: grid; grid-template-columns: 200px 1fr; gap: 12px; min-height: calc(100vh - 70px); max-width: none; }
.desk {
display: grid;
grid-template-columns: 220px minmax(0, 1fr);
gap: 12px;
min-height: calc(100vh - 70px);
max-width: none;
transition: grid-template-columns 0.18s ease;
}
.desk.is-side-collapsed {
grid-template-columns: 48px minmax(0, 1fr);
}
.desk-side {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 12px;
padding: 10px;
min-width: 0;
overflow: hidden;
}
.desk-side-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 6px;
margin-bottom: 8px;
}
.desk-side-title {
margin: 0;
font-size: 1rem;
white-space: nowrap;
}
.desk-side-toggle {
flex: 0 0 auto;
margin-top: 0;
width: 28px;
height: 28px;
padding: 0;
border-radius: 8px;
border: 1px solid var(--line);
background: #12161f;
color: var(--text);
font-size: 1.1rem;
line-height: 1;
cursor: pointer;
}
.desk-side-toggle:hover { border-color: var(--accent); }
.desk-side-toggle--bar {
display: none;
}
.desk.is-side-collapsed .desk-side-title,
.desk.is-side-collapsed .desk-list-name,
.desk.is-side-collapsed .desk-list-empty {
display: none;
}
.desk.is-side-collapsed .desk-side {
padding: 8px 6px;
}
.desk.is-side-collapsed .desk-side-head {
justify-content: center;
margin-bottom: 0;
}
.desk.is-side-collapsed .desk-side-toggle {
transform: rotate(180deg);
}
.desk.is-side-collapsed .desk-list {
display: none;
}
.desk.is-side-collapsed .desk-side-toggle--bar {
display: inline-flex;
align-items: center;
justify-content: center;
}
.desk-list { list-style: none; padding: 0; margin: 0; }
.desk-list li { margin: 6px 0; }
.desk-list li.active a { color: #fff; font-weight: 600; }
.desk-list li a {
display: block;
padding: 6px 8px;
border-radius: 8px;
color: var(--muted);
}
.desk-list li a:hover { background: rgba(108, 92, 231, 0.12); color: #fff; }
.desk-list li.active a { color: #fff; font-weight: 600; background: rgba(108, 92, 231, 0.22); }
.desk-main { display: flex; flex-direction: column; min-height: calc(100vh - 70px); min-width: 0; }
.desk-toolbar {
display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
@@ -170,5 +244,17 @@ input.readonly {
cursor: default;
}
@media (max-width: 800px) {
.desk { grid-template-columns: 1fr; }
.desk,
.desk.is-side-collapsed {
grid-template-columns: 1fr;
}
.desk-side-toggle--bar { display: none !important; }
}
@media (min-width: 2000px) {
body.page-desk .main,
body.page-dashboard .main {
max-width: 1760px;
padding-left: clamp(32px, 6vw, 96px);
padding-right: clamp(32px, 6vw, 96px);
}
}