resources/views/lists/anniversaries-list.phtml
<?php
declare(strict_types=1);
use Fisharebest\Webtrees\Fact;
use Fisharebest\Webtrees\I18N;
use Fisharebest\Webtrees\Individual;
use Fisharebest\Webtrees\Registry;
use Fisharebest\Webtrees\View;
use Illuminate\Support\Collection;
/**
* @var Collection<int,Fact> $facts
* @var int $id
* @var int $limit_low
* @var int $limit_high
*/
?>
<?php foreach ($facts as $n => $fact) : ?>
<?php if ($n === $limit_low && $facts->count() > $limit_high) : ?>
<div>
<button class="btn btn-sm btn-secondary" id="show-more-<?= e($id) ?>">
<?= view('icons/add') ?>
<?= /* I18N: button label */ I18N::translate('show more') ?>
</button>
</div>
<?php View::push('javascript') ?>
<script>
document.getElementById("show-more-<?= e($id) ?>").addEventListener("click", function (ev) {
document.querySelectorAll("#block-<?= e($id) ?> .d-none").forEach(function (el) {
el.classList.remove("d-none");
});
ev.target.parentNode.removeChild(ev.target);
});
</script>
<?php View::endpush() ?>
<?php endif ?>
<div class="<?= $n >= $limit_low && $facts->count() > $limit_high ? 'd-none' : '' ?>">
<?php $record = $fact->record(); ?>
<a href="<?= e($record->url()) ?>" class="list_item">
<?= $record->fullName() ?>
</a>
<?php if ($record instanceof Individual) : ?>
<?= view('icons/sex', ['sex' => $record->sex()]) ?>
<?php endif ?>
<div class="indent">
<?= $fact->label() . ' — ' . $fact->date()->display($record->tree(), null, true) ?>
(<?= Registry::timestampFactory()->now()->subtractYears($fact->anniv)->diffForHumans() ?>)
<?php if ($fact->place()->gedcomName() !== '') : ?>
— <a href="<?= e($fact->place()->url()) ?>" title="<?= strip_tags($fact->place()->fullName()) ?>">
<?= $fact->place()->shortName() ?>
</a>
<?php endif ?>
</div>
</div>
<?php endforeach ?>