seed.js moved the v1.2 static content into SQLite. Its chapter
source, src/pages/chapters.js, was deleted in the same commit that
added it, and the default path pointed at src/data/chapters, which
is the API hook and has none of GROUPS/SPLITS/CHAPTERS. Given the
old file, it still fails on today's schema (events.host_org_id went
with co-hosting), and a working run would wipe everything entered
through the admin since.
The database is the source of truth now. Removes seed.js, the
seed-only src/data/events.ts, and the seed command from CLAUDE.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Renames every .js module under src/ to .ts (api, useResource,
adminSchema, navConfig, adminNav and src/data/*) and points imports,
comments and the seed script's module paths at the new names. Their
types now come from inference; no .d.ts files and no shape
interfaces.
tsc stays strict (noImplicitAny off). The errors inference leaves
behind get the lightest fix that clears them: `any` on empty state,
contexts and list defaults, `: any` on components with optional or
spread props, class fields on ApiError, and option shapes on
get/useResource.
Kept as real types, since they belong to modules that were already
TypeScript and later features import them: PageShell's ShellSection
and props, useContent's corrected record types (website/email/
instagram are bare strings) and EventListItem, and TimelineRef's
orgKind.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>