/** * rFunds demo page — group expense tracking for "Alpine Explorer 2026". * * Renders server-side HTML skeleton with budget overview, expense list, * balances, settlements, category breakdown, and per-person stats. * The client-side funds-demo.ts hydrates via WebSocket (DemoSync). */ /* ─── Constants ─────────────────────────────────────────────── */ const MEMBERS = [ { name: "Maya", initial: "M", color: "#10b981", bgClass: "rd-bg-emerald" }, { name: "Liam", initial: "L", color: "#06b6d4", bgClass: "rd-bg-cyan" }, { name: "Priya", initial: "P", color: "#8b5cf6", bgClass: "rd-bg-violet" }, { name: "Omar", initial: "O", color: "#f59e0b", bgClass: "rd-bg-amber" }, ]; const CATEGORIES = [ { key: "transport", icon: "\u{1F682}", label: "Transport", colorClass: "rd-progress__fill--cyan", badgeClass: "rd-badge--sky", textClass: "rd-cyan" }, { key: "accommodation", icon: "\u{1F3E8}", label: "Accommodation", colorClass: "rd-progress__fill--violet", badgeClass: "rd-badge--teal", textClass: "rd-violet" }, { key: "activity", icon: "\u26F7", label: "Activities", colorClass: "rd-progress__fill--amber", badgeClass: "rd-badge--amber", textClass: "rd-amber" }, { key: "food", icon: "\u{1F372}", label: "Food & Drink", colorClass: "rd-progress__fill--rose", badgeClass: "rd-badge--rose", textClass: "rd-rose" }, ]; /* ─── Render ─────────────────────────────────────────────── */ export function renderDemo(): string { return `

Alpine Explorer 2026

Group Expenses

\u{1F4C5} Jul 6-20, 2026 | \u{1F465} ${MEMBERS.length} travelers | \u{1F3D4} Chamonix \u2192 Zermatt \u2192 Dolomites
${MEMBERS.map( (m) => `
${m.initial}
`, ).join("\n ")} ${MEMBERS.length} members
Disconnected Live — synced across all r* demos

Track Your Group Expenses

rFunds makes it easy to manage shared costs, track budgets, and settle up. Design custom funding flows with threshold-based mechanisms.

Create Your Space
`; }