Implement Phase 8: Web UI with htmx templates

- HTML templates: layout, login, notebook list, notebook view, page viewer
- Web server with chi router, embedded templates via //go:embed
- Login/logout flow with session cookies
- Notebook list, page grid with SVG thumbnails, page viewer
- Share link views (same templates, no auth chrome)
- Server command wired to start gRPC + REST + web servers concurrently
- Graceful shutdown on SIGINT/SIGTERM

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 19:59:07 -07:00
parent fedb5e3301
commit 5c4575a67f
9 changed files with 447 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
{{define "title"}}{{.Title}} — Engineering Pad{{end}}
{{define "content"}}
<h1>{{.Title}}</h1>
<div class="actions">
<a href="{{.PDFLink}}" class="btn">Download PDF</a>
</div>
<div class="grid">
{{range .Pages}}
<div>
<a href="{{.ViewLink}}">
<div class="page-thumb">
<img src="{{.SVGLink}}" alt="Page {{.Number}}">
</div>
</a>
<div style="text-align:center; margin-top:0.25rem;">Page {{.Number}}</div>
</div>
{{end}}
</div>
{{end}}