Files
FamilyBook/templates/home/_card_contacts.php
T

44 lines
2.0 KiB
PHP
Raw Normal View History

<?php
/**
* 首页卡片 · 联系人(v62 新增)。
*
* 用户原话:「例如,联系人,可以有卡片,让用户选择显示几个联系人在首页上。」
* ⇒ 张数由卡片设置里的「显示 N 个」决定(`HomeCards::contactsData($familyId,$me,$n)`);
* 卡片高度不够时内部滚动 —— 不留一个"被截断但看不出来"的列表。
*
* ⚠️ 只列**我的名册**里的人(含别人分享给我的),不是全家所有人 —— 首页是"我的"。
*
* @var array $cardData['contacts'] ['rows'=>array,'total'=>int]
*/
$ctRows = (array)($cardData['contacts']['rows'] ?? []);
$ctTotal = (int)($cardData['contacts']['total'] ?? 0);
?>
<div class="hc-body">
<?php if (!$ctRows): ?>
<p class="empty-hint">名册里还没有人。</p>
<?php else: ?>
<div class="hc-people">
<?php foreach ($ctRows as $p): ?>
<?php /* 头像 + 称呼(`person_chip` 自带底色与"我该怎么叫他")。
⚠️ 这里用块级排列而不是一行一个 pill:卡片可能很窄(宽 2),
pill 会挤成一列文字。 */ ?>
<a class="hc-person" href="<?= e(url('people/show', ['id' => (int)$p['id']])) ?>"
title="<?= e(person_name($p)) ?>">
<?php if (!empty($p['avatar'])): ?>
<img class="hc-person-av" src="<?= e(media_url((string)$p['avatar'])) ?>" alt="">
<?php else: ?>
<span class="hc-person-av hc-person-tx"
style="background: <?= e(person_bg($p)) ?>; color: <?= e(person_fg($p)) ?>;">
<?= e(mb_substr(person_name($p), 0, 1, 'UTF-8')) ?>
</span>
<?php endif; ?>
<span class="hc-person-nm"><?= e(person_name($p)) ?></span>
</a>
<?php endforeach; ?>
</div>
<?php if ($ctTotal > count($ctRows)): ?>
<p class="small muted" style="margin:8px 0 0">共 <?= $ctTotal ?> 人,这里显示 <?= count($ctRows) ?> 位。</p>
<?php endif; ?>
<?php endif; ?>
</div>