Files
KCal/src/config.js
T
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

19 lines
737 B
JavaScript

const path = require('node:path');
const DATA_DIR = process.env.DATA_DIR || path.join(__dirname, '..', 'data');
module.exports = {
port: parseInt(process.env.PORT || '3007', 10),
dataDir: DATA_DIR,
dbPath: path.join(DATA_DIR, 'kids-calendar.sqlite'),
sessionSecret: process.env.SESSION_SECRET || 'dev-secret-change-me',
cookieSecure: process.env.COOKIE_SECURE === 'true',
disablePublicSignup: process.env.DISABLE_PUBLIC_SIGNUP === 'true',
vapidPublicKey: process.env.VAPID_PUBLIC_KEY || null,
vapidPrivateKey: process.env.VAPID_PRIVATE_KEY || null,
vapidSubject: process.env.VAPID_SUBJECT || null,
get pushConfigured() {
return Boolean(this.vapidPublicKey && this.vapidPrivateKey && this.vapidSubject);
},
};