jbrechtel
1d5ecd0829
chore: cleanup TypeScript, update docs, scripts, Dockerfile
...
- Delete all frontend TypeScript source (src/, index.html, package.json, etc.)
- Move static assets to frontend/static/ (style.css, manifest.json)
- Update scripts/build and scripts/test (no npm steps)
- Update Dockerfile (no frontend build step)
- Update README.md and AGENTS.md for Hyperbole stack
2026-07-16 06:51:11 -04:00
jbrechtel
194df4d2fe
feat: use .nb-button.default styling for nav buttons
2026-07-15 21:45:12 -04:00
jbrechtel
b4e47b652f
WIP: backend auth/chores/households work and frontend styling
2026-07-15 21:20:57 -04:00
jbrechtel
08987d7c49
fix: convert login/signup forms to Mithril components
...
The login and signup forms used factory-function patterns (plain
functions returning vnodes with let-bindings for state). Mithril calls
these on every redraw, creating fresh let-bindings each time, so any
state set by oninput handlers was immediately discarded. This broke
text input in all form fields.
Fix: convert to proper Mithril components using vnode.state for
persistent state across redraws. Mithril auto-redraws after event
handlers, so explicit m.redraw() calls in oninput are unnecessary.
2026-07-15 21:17:46 -04:00
jbrechtel
72b1ee1d3d
Add SPA static file serving from backend
...
Backend (Server.hs):
- serveStaticOrSpa: serves static files from --static-dir
- SPA fallback: extensionless paths serve index.html
- MIME type mapping for html/css/js/png/svg/ico/woff2
Frontend:
- ES module imports with import map for Mithril CDN
- Build script: tsc + copy index.html + static assets
CLI:
- --static-dir flag (default: frontend/dist)
- scripts/run passes through extra args
- Dockerfile CMD points at /usr/local/share/sis/static
2026-07-15 14:59:31 -04:00
jbrechtel
5075ef2718
Add neo-brutalist landing page
...
Title 'Sis' in nb-font-heading1, tagline 'For chores and stuff'
Warm cream background, centered nb-box layout
2026-07-15 14:52:49 -04:00
jbrechtel
72d94170b4
Initial project skeleton
...
Haskell backend: Orb HTTP framework, JSON-only API
Frontend: Mithril.js SPA with TypeScript, Neo Brutalism CSS
Dockerized build via flipstone/haskell-tools image
Routes:
GET /api/health — health check
Build: ./hs stack build
Test: ./hs stack test
Run: ./scripts/run
2026-07-15 14:51:27 -04:00