Plain-PHP fleet platform with id.andmore.pt SSO. Wires shared/platform-tools as a submodule (platform_update, backups, git/migration tools) like the other platforms. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
47 lines
1.7 KiB
PHP
47 lines
1.7 KiB
PHP
<?php
|
|
// Gallery partial — Splide CSS/JS is loaded centrally by include.php / footer.php.
|
|
// Slides use Splide's native lazy loading (data-splide-lazy + cover), so only
|
|
// the visible/nearby images are downloaded instead of the whole gallery.
|
|
$files = glob(rtrim($gallery_path, '/') . '/*.jpg');
|
|
if (!$files || !is_array($files)) $files = [];
|
|
?>
|
|
<div class="row justify-content-md-center" style="margin-top: 58px">
|
|
<div class="col-lg-8">
|
|
<div class="section-title text-center deco">
|
|
<span class="section-eyebrow">Galeria</span>
|
|
<h2><?= htmlspecialchars($gallery_h2 ?? 'Galeria') ?></h2>
|
|
<p class="section-subtitle">Espaço amplo, equipamento moderno e um ambiente feito para treinar.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="primary-slider" class="splide" style="padding:0;">
|
|
<div class="splide__track">
|
|
<ul class="splide__list">
|
|
<?php foreach($files as $f): ?>
|
|
<li class="splide__slide"><img src="<?= base_url($f) ?>" alt="Instalações FitMe 3070"></li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
var isMobile = window.innerWidth < 768;
|
|
// Single auto-playing slider (no thumbnail strip). Real <img src> + cover
|
|
// paints the first big image on mount; autoplay cross-fades through the
|
|
// rest and rewinds at the end. Pauses on hover/focus for accessibility.
|
|
new Splide('#primary-slider', {
|
|
type: 'fade',
|
|
rewind: true,
|
|
heightRatio: isMobile ? 0.7 : 0.5,
|
|
cover: true,
|
|
arrows: !isMobile,
|
|
pagination: true,
|
|
autoplay: true,
|
|
interval: 4500,
|
|
speed: 800,
|
|
pauseOnHover: true,
|
|
pauseOnFocus: true
|
|
}).mount();
|
|
});
|
|
</script>
|