v62:纪念日列表修正 / 分类图标与设置菜单 / 首页卡片体系
- 纪念日列表:display:flex 从 td 移到内层 div(写在 td 上会破坏表格列算法, 表现为关联人列与其它列高度不一致);行内列序按表头对齐; 改完再点「新建」不再带出上次修改的数据;文案改为「与我相关」「来自名册」; 别人记的、把我挂成关联人的条目一并显示(split() 返回 hiddenIds, 路由层据此过滤「接下来的日子」,与两张表同一套可见性) - 分类图标:新增 app/AnnivIcon.php(17 个行内 SVG 图标 + 同 key 的 emoji 供日历纯文本处使用,内网无 CDN 不用 FontAwesome);去掉「看日历」按钮; 设置按钮改为菜单,第一项进 days/settings 独立页;分类可自选图标, 列表徽标与日历条目都按分类显示 - 首页卡片:新增 app/HomeCards.php 与 templates/home_cards.php; 8 格宽 × 高 2/4/6/8;首页拆成 templates/home/_card_*.php 共 8 个片段; home/cards 可改尺寸、调顺序、开关
This commit is contained in:
+8
-1
@@ -1487,11 +1487,18 @@ final class Calendar
|
||||
// 数据是**实时派生**的(生日读 persons、农历逐年换算),所以这里不查表、直接算。
|
||||
// ⚠️ 农历那一路必须按"这一年"换算 —— 同一条农历生日在不同年份落在不同公历日期。
|
||||
foreach (Anniversary::between($familyId, $personId, $from, $to) as $a) {
|
||||
/* 🔴 v62(用户 2026-10-18 第 2 条):「在列表中、**日历中**,都要根据分类,
|
||||
显示不同的图标。」
|
||||
⇒ 日历里的条目是**纯文本**(月格 / 周视图 / 日视图共用一个 title 字符串),
|
||||
塞不进行内 SVG,所以这里用同一套图标的 emoji 形态(`AnnivIcon::emo`)。
|
||||
图标 key 由 `Anniversary::occurrences()` 按分类算好带出来 ——
|
||||
不要在日历里再判一次"这是生日还是忌日"(两处判据迟早分叉)。 */
|
||||
$annIcon = AnnivIcon::emo((string)($a['icon'] ?? ''));
|
||||
$out[] = [
|
||||
'cal' => 0,
|
||||
'color' => '#B4633C',
|
||||
'calname' => '纪念日',
|
||||
'title' => '🎂 ' . (string)$a['title'],
|
||||
'title' => $annIcon . ' ' . (string)$a['title'],
|
||||
'date' => (string)$a['date'],
|
||||
'time' => '',
|
||||
'end_time'=> '',
|
||||
|
||||
Reference in New Issue
Block a user