Files
ort 2826a3819c Add Web Push notifications, PWA support, and full-screen tablet kiosk
Parents get a real push notification when a kid checks off a task
(false->true transitions only, fire-and-forget, degrades gracefully with
no VAPID keys configured). Dashboard is a fully installable iOS/Android
PWA; each child's kiosk link gets its own dynamic per-token manifest so
"Add to Home Screen" opens straight into their board in standalone mode.

Kiosk view is reworked for tablets: safe-area-aware full-bleed layout,
the whole task row is now tappable (previously only the 24px checkbox
was, well under Apple's touch-target minimum), and app icons are
generated by a small dependency-free PNG encoder (no image tooling
available in this environment).

Push requires real HTTPS (iOS Safari won't allow it otherwise) - README
and UNRAID.md cover VAPID setup and the HTTPS prerequisite.
2026-08-15 16:14:56 -04:00

52 lines
1.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Week</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Nunito:wght@500;700;800&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/shared.css">
<link rel="manifest" href="/manifest.webmanifest">
<link rel="apple-touch-icon" href="/icons/apple-touch-icon-180.png">
<meta name="theme-color" content="#F1F5FB">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-title" content="Calendar">
</head>
<body>
<nav class="crumbs"><a href="/dashboard.html">&larr; Dashboard</a></nav>
<header>
<div>
<h1><span id="childName" contenteditable="true"></span>'s <span id="calTitle" contenteditable="true">Week</span></h1>
<div class="subtitle">Tap a box to check it off. Click any word to edit it.</div>
</div>
<div class="toolbar">
<button class="tool" id="toggleWeekend">Show weekend</button>
<button class="tool" id="resetChecks">Reset checkboxes</button>
<button class="tool primary" id="printBtn">Print this week</button>
</div>
</header>
<div class="period-toggles" id="periodToggles">
<span class="label">Show / print:</span>
</div>
<div class="board" id="weekdayBoard"></div>
<div class="weekend-toggle-wrap hidden" id="weekendWrap"></div>
<div class="legend" id="legend"></div>
<div class="hint">Tip: the colors stay the same every day on purpose — same color always means same kind of task, so she can recognize it at a glance.</div>
<div class="toast" id="toast"></div>
<script src="/js/api.js"></script>
<script src="/js/calendarRender.js"></script>
<script src="/js/calendar.js"></script>
</body>
</html>