feat(web): complete portfolio public filter and sort integration

This commit is contained in:
2026-02-12 23:08:25 +01:00
parent 60c9035743
commit a2bea6326e
7 changed files with 169 additions and 18 deletions

17
TODO.md
View File

@@ -120,7 +120,7 @@ This file is the single source of truth for roadmap and delivery progress.
commission request intake + admin CRUD + kanban + customer entity/linking
- [x] [P1] `todo/mvp1-announcements-news`:
announcement management/rendering + news/blog CRUD and public rendering
- [~] [P1] `todo/mvp1-public-rendering-integration`:
- [x] [P1] `todo/mvp1-public-rendering-integration`:
public rendering for pages/navigation/media/portfolio/announcements and commissioning entrypoints
- [~] [P1] `todo/mvp1-e2e-happy-paths`:
end-to-end scenarios for page publish, media flow, announcement display, commission flow
@@ -158,14 +158,14 @@ This file is the single source of truth for roadmap and delivery progress.
### Public App
- [~] [P1] Dynamic page rendering from CMS page entities
- [~] [P1] Navigation rendering from managed menu structure
- [~] [P1] Media entity rendering with enrichment data
- [~] [P1] Portfolio views (gallery/album/category/tag) for artworks with filter and sort controls
- [~] [P1] Rendition-aware media delivery (thumbnail/card/full) per template slot
- [~] [P1] Translation-ready content model for public entities (pages/news/navigation labels)
- [x] [P1] Dynamic page rendering from CMS page entities
- [x] [P1] Navigation rendering from managed menu structure
- [x] [P1] Media entity rendering with enrichment data
- [x] [P1] Portfolio views (gallery/album/category/tag) for artworks with filter and sort controls
- [x] [P1] Rendition-aware media delivery (thumbnail/card/full) per template slot
- [x] [P1] Translation-ready content model for public entities (pages/news/navigation labels)
- [ ] [P2] Artwork views and listing filters
- [~] [P1] Commission request submission flow
- [x] [P1] Commission request submission flow
- [x] [P1] Header banner render logic and fallbacks
- [x] [P1] Announcement render slots (homepage + optional global/top banner position)
@@ -370,6 +370,7 @@ This file is the single source of truth for roadmap and delivery progress.
- [2026-02-12] Users management baseline completed: admin `/users` now supports managed user creation, role changes (`admin/editor/manager`), status changes (ban/unban), and protected/system guardrails for role-change/delete/ban actions.
- [2026-02-12] Commissions management completed: admin kanban cards now include inline detail editing (assignee/customer/budget/due date/notes), linked-artwork references via `linkedArtworkIds`, and creation/edit flows use assignable users instead of raw ID entry.
- [2026-02-12] Announcements/news completed: announcements now support locale audience targeting (`targetLocales`) with public locale-aware rendering, and homepage news list now uses locale-aware published posts only.
- [2026-02-12] Public rendering integration completed: portfolio now supports locale-aware tag filters and explicit sort controls, while db/service sorting and rendition selection align public listing/detail media delivery.
- [2026-02-12] Public UX pass: commission request flow now reports explicit invalid budget range errors, and header navigation now falls back to localized defaults (`home`, `portfolio`, `news`, `commissions`) when no CMS menu exists; seed data now creates those default menu entries.
- [2026-02-12] Added `e2e/public-rendering.pw.ts` web coverage for fallback navigation visibility, portfolio routes, and commission submission validation (invalid budget range + successful submission path).
- [2026-02-12] Testing execution is temporarily paused for delivery velocity: root test scripts are stubbed and CI test steps are disabled; all testing backlog is consolidated under `MVP 3: Testing and Quality`.