ginnoirandClaude Sonnet 4.6 8aab25e0ac Implement PWA shell (task 50)
Add web manifest, placeholder icons, app-shell service worker, and
install prompt so famapp is installable on iOS and Android home screens.

- public/manifest.webmanifest — name, short_name, standalone display,
  start_url /, all four icon sizes (192/384/512 + maskable)
- public/icon-{180,192,384,512,512-maskable}.png — indigo placeholder
  squares generated by scripts/generate-icons.mjs (pnpm gen:icons)
- public/icon.svg — house-icon SVG source for future branded export
- public/sw.js — hand-rolled app-shell SW: precaches offline.html,
  cache-first for /_next/static/, network-first navigation with offline
  fallback, network-only for /api/*
- public/offline.html — branded offline fallback page
- src/components/pwa-register.tsx — client SW registration
- src/components/install-prompt.tsx — dismissible install banner:
  beforeinstallprompt on Android, "Add to Home Screen" hint on iOS
- Root layout: viewport themeColor, manifest/appleWebApp metadata,
  apple-touch-icon, mounts PwaRegister + InstallPrompt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 16:00:02 -05:00
2026-05-06 16:00:02 -05:00
2026-05-06 16:00:02 -05:00
2026-05-06 16:00:02 -05:00
2026-05-06 04:10:50 -05:00
2026-05-06 04:10:50 -05:00
2026-05-06 16:00:02 -05:00
2026-05-06 03:10:28 -05:00
2026-05-06 16:00:02 -05:00

famapp

Self-hosted family coordination: shared calendar, lists, notes.

S
Description
Mirror of ginnoir/famapp (primary on GitHub).
Readme
1.3 MiB
Languages
TypeScript 94.1%
CSS 4.2%
JavaScript 0.9%
Shell 0.4%
Dockerfile 0.2%
Other 0.2%