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.
This commit is contained in:
@@ -7,6 +7,13 @@
|
||||
<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>
|
||||
|
||||
@@ -21,6 +28,16 @@
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="section">
|
||||
<h2>Notifications</h2>
|
||||
<div class="entity-card" id="notificationsCard">
|
||||
<p class="meta" id="notificationsMessage">Checking notification support…</p>
|
||||
<div>
|
||||
<button class="tool primary" id="notificationsBtn" style="display:none;">Enable notifications</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Household</h2>
|
||||
<div id="parentsList" class="card-grid"></div>
|
||||
@@ -109,6 +126,7 @@
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/push.js"></script>
|
||||
<script src="/js/dashboard.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user