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,40 @@
|
||||
<?php
|
||||
/**
|
||||
* 首页卡片 · 观影(v62 新增)。
|
||||
*
|
||||
* 数据来自 `HomeCards::moviesData()`(最近 8 条,只查卡片要用的那几列 ——
|
||||
* 不用 Movie::all():那个会顺带查同行人与影评统计,卡片上都不显示)。
|
||||
*
|
||||
* @var array $cardData['movies'] 每项含 id/title/starts_at/poster_key/cinema_name
|
||||
*/
|
||||
$mvRows = (array)($cardData['movies'] ?? []);
|
||||
?>
|
||||
<div class="hc-body">
|
||||
<?php if (!$mvRows): ?>
|
||||
<p class="empty-hint">还没有观影记录。</p>
|
||||
<?php else: ?>
|
||||
<ul class="hc-mv-list">
|
||||
<?php foreach ($mvRows as $m): ?>
|
||||
<li class="hc-mv">
|
||||
<a class="hc-mv-poster" href="<?= e(url('movies/show', ['id' => (int)$m['id']])) ?>">
|
||||
<?php if (!empty($m['poster_key'])): ?>
|
||||
<img src="<?= e(media_url((string)$m['poster_key'])) ?>" alt="" loading="lazy">
|
||||
<?php else: ?>
|
||||
<span class="hc-mv-ph" aria-hidden="true">🎬</span>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
<div class="hc-mv-main">
|
||||
<a class="hc-mv-t" href="<?= e(url('movies/show', ['id' => (int)$m['id']])) ?>"
|
||||
title="<?= e((string)$m['title']) ?>"><?= e((string)$m['title']) ?></a>
|
||||
<span class="small muted">
|
||||
<?= e(substr((string)($m['starts_at'] ?? ''), 0, 10)) ?>
|
||||
<?php if (trim((string)($m['cinema_name'] ?? '')) !== ''): ?>
|
||||
· <?= e((string)$m['cinema_name']) ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
Reference in New Issue
Block a user