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:
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* 首页卡片 · 读书(v62 新增)。
|
||||
*
|
||||
* 数据来自 `HomeCards::booksData()`:**在读优先**,其余按新加进来的顺序排(最多 6 本)。
|
||||
*
|
||||
* @var array $cardData['books'] 每项含 id/title/author/status/progress/chapter_count/cover_key
|
||||
*/
|
||||
$bkRows = (array)($cardData['books'] ?? []);
|
||||
?>
|
||||
<div class="hc-body">
|
||||
<?php if (!$bkRows): ?>
|
||||
<p class="empty-hint">书架还是空的。</p>
|
||||
<?php else: ?>
|
||||
<ul class="hc-bk-list">
|
||||
<?php foreach ($bkRows as $b): ?>
|
||||
<?php
|
||||
$bkStatus = \App\Book::normalizeStatus((string)($b['status'] ?? 'wish'));
|
||||
$bkCh = (int)($b['chapter_count'] ?? 0);
|
||||
$bkPr = (int)($b['progress'] ?? 0);
|
||||
$bkPct = $bkCh > 0 ? min(100, (int)round($bkPr / $bkCh * 100)) : 0;
|
||||
?>
|
||||
<li class="hc-bk">
|
||||
<a class="hc-bk-cover" href="<?= e(url('books/show', ['id' => (int)$b['id']])) ?>">
|
||||
<?php if (!empty($b['cover_key'])): ?>
|
||||
<img src="<?= e(media_url((string)$b['cover_key'])) ?>" alt="" loading="lazy">
|
||||
<?php else: ?>
|
||||
<span class="hc-bk-ph" aria-hidden="true">📖</span>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
<div class="hc-bk-main">
|
||||
<a class="hc-bk-t" href="<?= e(url('books/show', ['id' => (int)$b['id']])) ?>"
|
||||
title="<?= e((string)$b['title']) ?>"><?= e((string)$b['title']) ?></a>
|
||||
<span class="small muted">
|
||||
<?= e((string)($b['author'] ?? '')) ?>
|
||||
<?php if ($bkCh > 0): ?>
|
||||
· <?= $bkPr ?>/<?= $bkCh ?> 章
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
<span class="hc-bk-bar" aria-hidden="true"><i style="width: <?= (int)$bkPct ?>%"></i></span>
|
||||
</div>
|
||||
<span class="hc-bk-st is-<?= e($bkStatus) ?>"><?= e(\App\Book::statusWord($bkStatus)) ?></span>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
Reference in New Issue
Block a user