feat(F-104): completed feature

This commit is contained in:
chattie
2026-08-21 08:01:18 +02:00
parent c07776822d
commit 9b42c506f3
14 changed files with 286 additions and 39 deletions

View File

@@ -0,0 +1,5 @@
# F-104 — CMS templates for main routes (in progress)
Adding CMS templates for /home /products /categories /brands:
- Admin CMS page: templates section with per-route create/edit.
- Frontend: CmsBlock renders published CMS content on home, products, categories, brands.

View File

@@ -0,0 +1,8 @@
{
"feature_id": "F-104",
"agent": "leader",
"verdict": "APPROVED",
"summary": "F-104 adds CMS templates for home/products/categories/brands editable from admin and rendered in the storefront.",
"evidence": ["reviewer.json APPROVED", "security.json APPROVED", "qa.json APPROVED"],
"timestamp": "2026-08-21T06:11:30Z"
}

View File

@@ -0,0 +1,12 @@
{
"feature_id": "F-104",
"agent": "qa",
"verdict": "APPROVED",
"summary": "Admin and frontend typecheck and build green with the new templates wired in.",
"evidence": [
"apps/admin npx tsc --noEmit exit 0; npm run build ok",
"frontend npx tsc --noEmit exit 0; npm run build ok",
"verify.sh green"
],
"timestamp": "2026-08-21T06:11:00Z"
}

View File

@@ -0,0 +1,12 @@
{
"feature_id": "F-104",
"agent": "reviewer",
"verdict": "APPROVED",
"summary": "CMS now covers the main storefront routes via editable templates rendered by a shared CmsBlock component.",
"evidence": [
"Admin CMS page shows 'Plantillas de la tienda' cards for home/products/categories/brands with create-or-edit flow and publish status",
"Frontend CmsBlock renders published CMS body (sanitized via formatRichText) on /, /products, /categories, /brands; returns null when no page exists",
"Public endpoint /cms/pages/:slug already enforces published status"
],
"timestamp": "2026-08-21T06:10:00Z"
}

View File

@@ -0,0 +1,12 @@
{
"feature_id": "F-104",
"agent": "security",
"verdict": "APPROVED",
"summary": "No new input surface; rendering path reuses the sanitized formatRichText helper and admin-only CMS write endpoints.",
"evidence": [
"CMS create/update/publish endpoints remain authenticate + requireRole(admin)",
"CmsBlock output passes through formatRichText which strips scripts/handlers/javascript: URLs",
"No secrets involved"
],
"timestamp": "2026-08-21T06:10:30Z"
}