Added Photo Collage to Calendar TV View

This commit is contained in:
2026-04-04 11:18:28 -04:00
parent dee4567f74
commit 44e6547a0a
14 changed files with 139 additions and 10 deletions
+35
View File
@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
if (empty($isCalendarTvView ?? null)) {
return;
}
$collageDir = dirname(__DIR__) . '/assets/images/calendar-tv-collage';
$files = glob($collageDir . '/collage-*.png') ?: [];
if ($files === []) {
$files = glob($collageDir . '/collage-*.{jpg,jpeg,webp}', GLOB_BRACE) ?: [];
}
natcasesort($files);
$files = array_values($files);
if ($files === []) {
return;
}
$mosaic = count($files) === 10;
$gridClass = $mosaic ? 'calendar-tv-collage-grid calendar-tv-collage-grid--mosaic' : 'calendar-tv-collage-grid calendar-tv-collage-grid--even';
$cols = 5;
$rows = (int) max(1, ceil(count($files) / $cols));
?>
<div class="calendar-tv-collage-bg" aria-hidden="true">
<div class="<?= htmlspecialchars($gridClass, ENT_QUOTES, 'UTF-8') ?>"<?= $mosaic ? '' : ' style="grid-template-columns: repeat(' . (int) $cols . ', 1fr); grid-template-rows: repeat(' . (int) $rows . ', 1fr);"' ?>>
<?php foreach ($files as $absPath): ?>
<?php
$base = basename((string) $absPath);
$url = 'assets/images/calendar-tv-collage/' . $base;
?>
<div class="calendar-tv-collage-tile" style="background-image: url('<?= htmlspecialchars($url, ENT_QUOTES, 'UTF-8') ?>')"></div>
<?php endforeach; ?>
</div>
<div class="calendar-tv-collage-scrim"></div>
</div>
+1
View File
@@ -73,6 +73,7 @@
$bodyStyle = implode('; ', $bodyStyleParts) . ';';
?>
<body class="family-hub-body <?= htmlspecialchars($headerThemeClass ?? 'header-tone-dark', ENT_QUOTES, 'UTF-8') ?><?= !empty($isCalendarTvView) ? ' calendar-tv-dark' : '' ?>" style="<?= htmlspecialchars($bodyStyle, ENT_QUOTES, 'UTF-8') ?>">
<?php include __DIR__ . '/calendar_tv_collage_bg.php'; ?>
<?php $hideTopHeader = !empty($isCalendarTvView); ?>
<?php if (!$hideTopHeader): ?>
<header class="app-header app-header-with-tabs text-white pt-3 px-3 pb-2 mb-0">