Add embedded web chat client with C2S HTTP API

- New DB schema: users, channel_members, messages tables (migration 003)
- Full C2S HTTP API: register, channels, messages, DMs, polling
- Preact SPA embedded via embed.FS, served at GET /
- IRC-style UI: tab bar, channel messages, user list, DM tabs, /commands
- Dark theme, responsive, esbuild-bundled (~19KB)
- Polling-based message delivery (1.5s interval)
- Commands: /join, /part, /msg, /nick
This commit is contained in:
user
2026-02-10 09:22:22 -08:00
parent 03cbc3cd1a
commit ac933d07d2
16 changed files with 2271 additions and 0 deletions

1
.gitignore vendored
View File

@@ -10,3 +10,4 @@ data.db
*.out
vendor/
debug.log
web/node_modules/