advanceSlide now sets src and waits for onload on the next slot directly — no preloading, no transitionend, no setTimeout. Local files load in milliseconds so preloading is unnecessary complexity that was causing the slideshow to stall. Also adds ?v=<mtime> cache-busting to the app.js script tag so Chromium always picks up new JS after a deploy. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
1.4 KiB
HTML
38 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Family Calendar</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
|
|
</head>
|
|
<body>
|
|
<div class="app">
|
|
<!-- Top bar: date/time, week navigation, filter, weather -->
|
|
<header class="topbar">
|
|
<span class="pill view-pill">5 Days</span>
|
|
<span id="date-range" class="pill date-range-label">--</span>
|
|
<select id="member-filter" class="pill filter-select">
|
|
<option value="all">Filter: All</option>
|
|
</select>
|
|
</header>
|
|
|
|
<!-- Week grid: Sunday - Saturday + Next Week preview -->
|
|
<main id="week-grid" class="week-grid">
|
|
<div class="event-placeholder">Loading calendar...</div>
|
|
</main>
|
|
|
|
<button id="add-btn" class="add-fab" title="Add events from Google Calendar" aria-label="Add event">+</button>
|
|
</div>
|
|
|
|
<!-- Fullscreen photo slideshow screensaver -->
|
|
<div id="slideshow-overlay" class="slideshow-overlay hidden">
|
|
<img id="slide-a" class="slide-img" src="" alt="">
|
|
<img id="slide-b" class="slide-img" src="" alt="">
|
|
<div class="slideshow-hint">Touch to return to calendar</div>
|
|
</div>
|
|
|
|
<script src="{{ url_for('static', filename='js/app.js') }}?v={{ cache_bust }}"></script>
|
|
</body>
|
|
</html>
|