feat(machine): add markdown-driven support pages

Add support/help pages accessible via a ? button on the idle screen.
Pages are driven by .md files in /var/lib/lamassu-atm/support/ —
operators can customize content without rebuilding the app.

Features:
- Tabbed view with markdown rendering (via marked)
- Standalone URLs auto-render as QR codes (scannable from phone)
- Table URLs: click-to-reveal QR codes (prevents accidental scans)
- Yes/No rendered as green checkmarks / red X marks
- Wallet comparison table with download QR codes
- FAQ with Lightning-only clarification
- Support page with operator Nostr QR placeholder
- Custodial vs non-custodial footnote
- Large text for touchscreen accessibility
- Centered layout for short-content pages

Closes #36

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Patrick Mulligan 2026-03-28 14:11:54 -04:00
commit d71815a15d
26 changed files with 825 additions and 2 deletions

View file

@ -27,11 +27,13 @@
"@lamassu/nostr-client": "workspace:*",
"@lamassu/state-machine": "workspace:*",
"@scure/base": "^1.2.0",
"@tanstack/vue-table": "^8.21.3",
"@vueuse/core": "^14.1.0",
"better-sqlite3": "^11.0.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-vue-next": "^0.563.0",
"marked": "^17.0.5",
"nostr-tools": "^2.10.0",
"pinia": "^2.2.0",
"qrcode.vue": "^3.6.0",