Commit Graph
5 Commits
Author SHA1 Message Date
arnefandCopilot e4fe39ecc5 Fix book grid layout with long titles
- static/styles.css: use CSS grid instead of inline-block for .book-list
  so rows align consistently regardless of card content height; add
  overflow-wrap/word-break to titles/authors
- views/pages.templ: truncate long titles/authors server-side
  (truncateTitle helper) instead of relying on CSS line-clamp, which
  behaved inconsistently across browsers (esp. Firefox with flex);
  full title kept in title attribute and on the book detail page
- views/pages_templ.go regenerated via templ generate

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-15 11:12:48 +02:00
arnefandCopilot a66c370de4 feat: add authentication and book upload
- Session-based login (username/password, 30-day cookie)
- SQLite user store with bcrypt password hashing (modernc.org/sqlite)
- Per-user upload permission (can_upload flag)
- Admin CLI (cmd/admin) for user management:
  user add/list/delete/set-upload
- Upload handler for EPUB/PDF with path-traversal protection
- All routes protected by requireAuth middleware;
  /upload additionally requires requireUpload
- Login/logout UI, upload form, logout button in header
- New env var: USERS_DB (default: users.db, gitignored)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-11 19:11:40 +02:00
arnef a936c61ba3 update pages_templ 2026-08-08 13:36:19 +02:00
arnef 060d822654 use latest templ and ignore content of books dir 2026-08-06 17:18:23 +02:00
Arne 8d499c28a7 Initial MVP: Go + templ Tolino-optimized ebook library scaffold 2026-08-06 06:52:41 +02:00