v26 第 26 批(5 条):财务多选按集合取图 / 首页全天置顶与红线定位 / 任务复选框去提示与看板颜色 / 导航搜索引擎切换与站点复用 / 详情页去复选框

- 财务:勾选多个标签时上面那张「总金额」图按**选中集合**统计(新增
  ledger/total_chart 路由 + 单一容器 data-ck-total-host,按集合现取并缓存;
  Ledger::timeline 第二参数放宽为 string|array)
- 首页日程:全天日程移出滚动容器固定置顶;进场把当前时刻红线居中
  (scrollTop 计算,不用 scrollIntoView),触发条件不绑 $showNow
- 任务:复选框去除 title 提示;看板可设颜色(Task::boardColor/updateBoard),
  首页任务行用该颜色显示所属看板
- 导航:展示页补回 id=engine-tabs(切换搜索引擎无效的根因);补内置引擎;
  新增站点输 URL 可复用他人已加过的站点(sharedByUrl/copyIconFile/adoptSite)
- 任务详情页页头去掉复选框(已有「标记完成」按钮)
This commit is contained in:
2026-10-07 15:31:26 +08:00
parent a5e559b2b3
commit c8839fa728
15 changed files with 964 additions and 93 deletions
+7 -1
View File
@@ -195,7 +195,13 @@ $siteTile = static function (array $s) use ($openTarget): void {
<?php if ($engines): ?>
<div id="search" class="s-search">
<div class="search-type">
<?php /* 🔴 v24 第 26 批 用户第 4 条 修的真 bug:
`nav-show.js` 找的是 `#engine-tabs`(SimpleNav 原版的 id),
而这里搬过来时只写了 `class="search-type"` —— **id 丢了**。
后果:`querySelectorAll('#engine-tabs .s-engine')` 命中 0 个 →
点标签一个事件都没绑上 → 用户看到的正是「选不同的搜索引擎没用」。
修法:把 id 补回来(而不是去改 JS —— 那份 JS 要与 SimpleNav 原版对照维护)。 */ ?>
<div class="search-type" id="engine-tabs">
<?php foreach ($engines as $en): ?>
<label class="s-engine<?= $default && $en['slug'] === $default['slug'] ? ' active' : '' ?>"
data-search="<?= e((string)$en['search_url']) ?>"