hic-et-nunc/site/templates/home.php
isUnknown 9670680802
All checks were successful
Deploy / Deploy to Production (push) Successful in 2s
home > slideshow fix sorting
2026-05-26 17:20:22 +02:00

52 lines
1.8 KiB
PHP

<?php snippet('header') ?>
<div id="home-slideshow">
<?php
$files = $site->slideshow()->toFiles();
$count = $files->count();
$slides = [];
$i = 0;
while ($i < $count) {
$file = $files->nth($i);
$nextFile = $files->nth($i + 1);
$isPortrait = $file->type() === 'image' && $file->orientation() === 'portrait';
$nextIsPortrait = $nextFile && $nextFile->type() === 'image' && $nextFile->orientation() === 'portrait';
if ($isPortrait && $nextIsPortrait) {
$slides[] = ['pair' => true, 'a' => $file, 'b' => $nextFile];
$i += 2;
} else {
$slides[] = ['pair' => false, 'file' => $file];
$i++;
}
}
?>
<?php foreach ($slides as $slide): ?>
<?php if ($slide['pair']): ?>
<div class="slide portrait-pair">
<?php snippet('picture', ['file' => $slide['a'], 'srcsetName' => 'home-slideshow', 'sizes' => '50vw', 'lazy' => false]) ?>
<?php snippet('picture', ['file' => $slide['b'], 'srcsetName' => 'home-slideshow', 'sizes' => '50vw', 'lazy' => false]) ?>
</div>
<?php elseif ($slide['file']->type() === 'video'): ?>
<div class="slide">
<video autoplay muted loop playsinline data-id="<?= $slide['file']->uuid() ?>">
<source src="<?= $slide['file']->url() ?>" type="<?= $slide['file']->mime() ?>">
</video>
</div>
<?php else: ?>
<div class="slide">
<?php snippet('picture', ['file' => $slide['file'], 'srcsetName' => 'home-slideshow', 'sizes' => '100vw', 'lazy' => false]) ?>
</div>
<?php endif ?>
<?php endforeach ?>
<button class="prev"></button>
<button class="next"></button>
</div>
<script src="/assets/js/home-slideshow.js"></script>
<?php snippet('footer') ?>