Commit 5a7632a3c401ea28cda620ec737c14088c0e04c9

Authored by yibo
1 parent ce4f6b20

h3-console: "新建任务"固定在筛选框上面,不再跟着任务列表滚动

之前塞在 #job-list 第一行,列表一滚就跟着跑没了;挪到 #sidebar-filters
外面单独一行,选中态(新建视图时高亮)用 renderSidebar() 里同步 class
的方式保留,回收站视图沿用原来的隐藏逻辑。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JDWoVwpqrsyzv9LRszTw9d
Showing 1 changed file with 8 additions and 6 deletions
h3-console/static/index.html
... ... @@ -92,6 +92,9 @@
92 92 <div id="sidebar-header">
93 93 <h1>H3 Console</h1>
94 94 </div>
  95 + <div id="new-task-row" class="job-row new-row" onclick="showCreate()">
  96 + <span>+</span><span>新建任务</span>
  97 + </div>
95 98 <div id="sidebar-filters">
96 99 <input id="job-search" type="text" placeholder="搜索 prompt / id…">
97 100 <div class="sf-row">
... ... @@ -751,6 +754,11 @@ function fmtTime(ts) {
751 754 function renderSidebar() {
752 755 const box = document.getElementById('job-list'); box.innerHTML = '';
753 756 document.getElementById('sidebar-filters').style.display = viewingTrash ? 'none' : 'flex';
  757 + // "+新建任务" 固定在筛选框上面、列表外面,不随 #job-list 滚动——之前是塞进 job-list 第一
  758 + // 行的,列表一滚就跟着跑没了,2026-08-28 用户反馈要求固定住。
  759 + const newTaskRow = document.getElementById('new-task-row');
  760 + newTaskRow.style.display = viewingTrash ? 'none' : 'flex';
  761 + newTaskRow.classList.toggle('selected', !viewingTrash && selectedId === null);
754 762  
755 763 if (viewingTrash) {
756 764 const backRow = document.createElement('div');
... ... @@ -779,12 +787,6 @@ function renderSidebar() {
779 787 return;
780 788 }
781 789  
782   - const newRow = document.createElement('div');
783   - newRow.className = 'job-row new-row' + (selectedId === null ? ' selected' : '');
784   - newRow.onclick = () => showCreate();
785   - newRow.innerHTML = `<span>+</span><span>新建任务</span>`;
786   - box.appendChild(newRow);
787   -
788 790 jobsCache.forEach(j => {
789 791 const row = document.createElement('div');
790 792 row.className = 'job-row' + (j.id === selectedId ? ' selected' : '');
... ...