Replace CrowdSurf tab placeholder with working swipe-card interface populated from rChoices session data (or demo fallback). Uses seeded PRNG (mulberry32 + djb2 hash) for deterministic daily sortition per user, preventing position bias. Right-swipe = approve (casts vote via local-first client), left-swipe = skip. Swipe state persists in localStorage across page reloads. Includes summary view with session-grouped approvals and reset functionality. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components | ||
| landing.ts | ||
| local-first-client.ts | ||
| mod.ts | ||
| schemas.ts | ||