Express + SQLite (node:sqlite, no native build step) family calendar: parent accounts with household invites, per-child calendars with save/duplicate/print, a token-gated read-only kiosk view for tablets, and polling to keep parent and kiosk views in sync. Defaults to port 3007.
45 lines
1.5 KiB
HTML
45 lines
1.5 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">
|
|
</head>
|
|
<body>
|
|
|
|
<nav class="crumbs"><a href="/dashboard.html">← 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>
|