Commit Graph

73 Commits

Author SHA1 Message Date
c06429e4d5 Add paginate helper (todo §1); page model with row window + ellipsis sequence for pagination.ejs, clamped/guarded inputs 2026-06-15 13:50:15 +02:00
20f49c1df7 Add parseListQuery helper (todo §1); read a list URL into { q, filters, sort, page, pageSize }, defaults+clamp, zero-throw 2026-06-15 13:38:34 +02:00
c2bcce9845 Add composeNav helper (todo §1); merge plugin nav fragments + central override (rename/group/order/hide), role-filter to a nav-tree model 2026-06-15 13:33:54 +02:00
bddc1f891d Add menu/popover + theme-switch partials (todo §1); data-driven .menu (items/check-groups/positioning), Light/Auto/Dark switch, shell reuses both 2026-06-15 13:27:44 +02:00
7716e38d84 Add field + auth-card partials (todo §1); data-driven .field (label/icon/hint/server error) and auth-card shell (head/SSO/body/alt) 2026-06-15 13:16:36 +02:00
fcf2abdf17 Add data-driven pagination partial (todo §1); rows-per-page GET form + page-number links, zero-JS, query-param driven 2026-06-15 13:10:24 +02:00
cf1b74f09d Add data-driven data-table partial (todo §1); sortable header links, row-select, typed cells/badges, kebab actions 2026-06-15 13:04:19 +02:00
637d5cf66d Add data-driven filter-bar partial (todo §1); GET form: search/segmented/select/chips/daterange + applied pills 2026-06-15 12:04:25 +02:00
67743cad23 Add recursive nav-tree partial (todo §1); header/leaf × clickable/static, counts + aria-current 2026-06-15 11:59:26 +02:00
672b831f8c Add app-shell partial (todo §1); sidebar + topbar + content/nav slots, reuses mockup classes + icon sprite 2026-06-15 11:51:44 +02:00
265704a7eb Add lucide icon sprite partial (todo §1); src/icons.ts generates only-used symbols from pinned lucide-static 2026-06-15 11:44:40 +02:00
30db8216e6 Move foundation CSS into public/css (todo §1); drop placeholder style.css, repoint views + mockups 2026-06-15 11:25:43 +02:00
a070362649 Drop NODE_ENV for explicit config toggles (todo §0.1); app is environment-agnostic 2026-06-15 10:53:33 +02:00
2d43430405 Consolidate related unit tests (todo §0): 59 → 42 cases, assertions preserved 2026-06-15 10:47:47 +02:00
1fb6f23805 Tighten code comments + README (todo §0): denser, drop redundant prose; no behavior change 2026-06-15 10:30:06 +02:00
17f4411518 Address architecture + stability review (todo §0): wire buildContext, graceful shutdown, prod template caching 2026-06-15 08:42:16 +02:00
0bc7998cfe Add env/config loader (todo §0); validate at boot, wire port into server 2026-06-14 19:46:26 +02:00
3b2ba76530 Add 403 + 500 error templates (todo §0); render 500 via app error handler 2026-06-14 19:41:19 +02:00
c544387d3a Add RequestContext primitive (todo §0); harden static serving (HEAD, control-char, stream-error logging) 2026-06-14 19:33:17 +02:00
b4c149db27 Add Cookie header parse + Set-Cookie build helpers (todo §0); destroy response on static mid-stream error 2026-06-14 18:41:31 +02:00
5020be592a Add node:crypto JWS signature verification primitive (todo §0) 2026-06-14 18:27:34 +02:00
d021fd701e Refine product description and roadmap per product-owner review; add lucide-static 2026-06-14 18:12:32 +02:00
638815af2e Project plan 2026-06-14 17:45:12 +02:00