Initial commit: Bocken theme for webtrees
Nord-themed dark/light mode family tree theme with: - Floating glass-morphism header bar - Auto/light/dark theme toggle with Lucide icons - Smart SVG logo with theme-aware fill colors - Active page highlighting with per-menu Nord icon colors - Language button showing 2-letter abbreviation - Start page search form - Mobile responsive icon-only nav - Custom views inherited from ArgonLight
This commit is contained in:
55
resources/views/modules/lifespans-chart/chart.phtml
Normal file
55
resources/views/modules/lifespans-chart/chart.phtml
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Fisharebest\Webtrees\Gedcom;
|
||||
use Fisharebest\Webtrees\Individual;
|
||||
|
||||
/**
|
||||
* @var string $dir
|
||||
* @var int $end_year
|
||||
* @var array<object{
|
||||
* background: string,
|
||||
* birth_year: int,
|
||||
* death_year: int,
|
||||
* id: string,
|
||||
* individual: Individual,
|
||||
* row: int
|
||||
* }> $lifespans
|
||||
* @var int $max_rows
|
||||
* @var int $start_year
|
||||
* @var string $subtitle
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<p class="wt-lifespans-subtitle">
|
||||
<?= $subtitle ?>
|
||||
</p>
|
||||
|
||||
<div class="wt-lifespans-scale">
|
||||
<?php for ($year = $start_year; $year < $end_year; $year += 10) :
|
||||
?><div class="wt-lifespans-decade"><?= $year ?></div><?php
|
||||
endfor ?>
|
||||
</div>
|
||||
|
||||
<div class="wt-lifespans-individuals position-relative" style="height: <?= (5 + $max_rows) * 1.5 ?>rem; width: <?= ($end_year - $start_year) * 7 ?>px;">
|
||||
<?php foreach ($lifespans as $lifespan) : ?>
|
||||
<a href="#" data-bs-toggle="collapse" data-bs-target="#<?= e($lifespan->id) ?>" aria-expanded="false" aria-controls="<?= e($lifespan->id) ?>">
|
||||
<div class="wt-lifespans-individual position-absolute text-nowrap text-truncate <?= 'wt-sex-'.strtolower($lifespan->individual->sex() ?? 'u') ?>" dir="auto" style="<?= $dir === 'ltr' ? 'left' : 'right' ?>:<?= ($lifespan->birth_year - $start_year) * 7 ?>px; top:<?= $lifespan->row * 2.5 ?>rem; width:<?= ($lifespan->death_year - $lifespan->birth_year) * 7 + 5 ?>px;">
|
||||
<?= $lifespan->individual->fullName() ?>
|
||||
<?= strip_tags($lifespan->individual->lifespan()) ?>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="wt-lifespans-summary collapse position-absolute" id="<?= e($lifespan->id) ?>" style="<?= $dir === 'ltr' ? 'left' : 'right' ?>:<?= (min($lifespan->birth_year, $end_year - 50) - $start_year) * 7 ?>px; top:<?= ($lifespan->row + 1.2) * 2.5 ?>rem; width:350px;">
|
||||
<a class="wt-lifespans-summary-link" href="<?= e($lifespan->individual->url()) ?>">
|
||||
<?= $lifespan->individual->fullName() ?>
|
||||
</a>
|
||||
|
||||
<?php foreach ($lifespan->individual->facts(array_merge(Gedcom::BIRTH_EVENTS, Gedcom::DEATH_EVENTS), true) as $fact) : ?>
|
||||
<?= $fact->summary() ?>
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
Reference in New Issue
Block a user