Lilleman auf Larv lilleman
lilleman pushed to main at larvit/plainpages 2026-06-16 11:53:16 +02:00
09d616ddd3 Loosen plugin id rule (todo §2); allow digits and dashes anywhere (^[a-z0-9-]+$)
lilleman pushed to main at larvit/plainpages 2026-06-16 10:58:30 +02:00
1623a81ddc Refine plugin contract (todo §2); derive id/mount from folder (isValidPluginId), apiVersion literal not HOST_API_VERSION, nav icon = Lucide, drop redundant basePath
lilleman pushed to main at larvit/plainpages 2026-06-16 10:46:05 +02:00
a0d39ef624 Make checkApiVersion semver-based (todo §2); strict parseSemver via official semver regex (no dep), major/minor compatibility rules
lilleman pushed to main at larvit/plainpages 2026-06-15 17:07:57 +02:00
3be67ff8e4 Specify the plugin contract (todo §2); typed manifest + version/conflict rules in src/plugin.ts, authoritative docs/plugin-contract.md
lilleman pushed to main at larvit/plainpages 2026-06-15 16:58:28 +02:00
f91e08c2a6 Add Full, parallel E2E principle (todo §1.1); AGENTS §6 + README, 404 E2E coverage, --build the runner so spec edits apply
lilleman pushed to main at larvit/plainpages 2026-06-15 16:53:10 +02:00
645a316419 Make markup semantic + add semantic DOM principle (todo §1); page <h1>, skip link, row-header <th scope=row>, descriptive error pages
lilleman pushed to main at larvit/plainpages 2026-06-15 16:37:23 +02:00
6f590148af Add dockerized Playwright E2E (todo §1); screenshot live pages + foundation mockups, assert shared design-system styles match
lilleman pushed to main at larvit/plainpages 2026-06-15 15:57:43 +02:00
947851b4ff Replace placeholder index with the app-shell People dashboard (todo §1); wire parseListQuery/paginate/composeNav + partials into a real zero-JS list page
lilleman pushed to main at larvit/plainpages 2026-06-15 13:50:17 +02:00
c06429e4d5 Add paginate helper (todo §1); page model with row window + ellipsis sequence for pagination.ejs, clamped/guarded inputs
lilleman pushed to main at larvit/plainpages 2026-06-15 13:38:36 +02:00
20f49c1df7 Add parseListQuery helper (todo §1); read a list URL into { q, filters, sort, page, pageSize }, defaults+clamp, zero-throw
lilleman pushed to main at larvit/plainpages 2026-06-15 13:33:57 +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
lilleman pushed to main at larvit/plainpages 2026-06-15 13:27:45 +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
lilleman pushed to main at larvit/plainpages 2026-06-15 13:16:38 +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)
lilleman pushed to main at larvit/plainpages 2026-06-15 13:10:25 +02:00
fcf2abdf17 Add data-driven pagination partial (todo §1); rows-per-page GET form + page-number links, zero-JS, query-param driven
lilleman pushed to main at larvit/plainpages 2026-06-15 13:04:22 +02:00
cf1b74f09d Add data-driven data-table partial (todo §1); sortable header links, row-select, typed cells/badges, kebab actions
lilleman pushed to main at larvit/plainpages 2026-06-15 12:04:27 +02:00
637d5cf66d Add data-driven filter-bar partial (todo §1); GET form: search/segmented/select/chips/daterange + applied pills
lilleman pushed to main at larvit/plainpages 2026-06-15 11:59:28 +02:00
67743cad23 Add recursive nav-tree partial (todo §1); header/leaf × clickable/static, counts + aria-current
lilleman pushed to main at larvit/plainpages 2026-06-15 11:51:47 +02:00
672b831f8c Add app-shell partial (todo §1); sidebar + topbar + content/nav slots, reuses mockup classes + icon sprite
lilleman pushed to main at larvit/plainpages 2026-06-15 11:44:43 +02:00
265704a7eb Add lucide icon sprite partial (todo §1); src/icons.ts generates only-used symbols from pinned lucide-static
lilleman pushed to main at larvit/plainpages 2026-06-15 11:25:46 +02:00
30db8216e6 Move foundation CSS into public/css (todo §1); drop placeholder style.css, repoint views + mockups