From 82b4a7849a1b3c5bc5073e818fc3e8c6d8f2fec1 Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Fri, 17 Jul 2026 10:24:18 +0400 Subject: [PATCH] docs(static-pages): backoffice redirect + StaticPages.md Milestone 7 of the Static Pages Module sprint. - app.routes.ts: /backoffice/static-pages now redirects to /edit/static-pages (absolute redirectTo) instead of rendering BackofficeComingSoonPageComponent - Static Pages is a first-class Project Editor module, not a second CRUD surface over the same bootstrap.staticPages data. - New docs/StaticPages.md: full field reference (General/Localization/SEO/ Media/Publishing), the enabled+status storefront-gating story and its backward-compat default (existing/legacy data normalizes to enabled+published so nothing gets silently un-published; only new pages default to draft), CRUD/search/filter/bulk, the "mutate from the unfiltered list" implementation note, rich-text/HTML-mode contract (pointer to EDITOR.md), nav integration, and the export/import/draft/ publish compatibility statement. - docs/EDITOR.md: Static Pages row in the Sections table (was previously absent - the row lived implicitly in Footer's description), HTML editor section updated with the Sprint X+2 toolbar additions + validation contract, redirect noted near the route line. `docs/Project-Editor.md` (named in the original brief) no longer exists - superseded by EDITOR.md per that file's own header; documentation went there + the new file instead. - docs/PROJECT.md: doc index entry for StaticPages.md. Gate: tsc --noEmit, npm test (57/57), arch:check, build all green. Co-Authored-By: Claude Opus 4.8 --- docs/EDITOR.md | 9 +++-- docs/PROJECT.md | 1 + docs/StaticPages.md | 84 +++++++++++++++++++++++++++++++++++++++++++ src/app/app.routes.ts | 7 ++-- 4 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 docs/StaticPages.md diff --git a/docs/EDITOR.md b/docs/EDITOR.md index 330d599..4980237 100644 --- a/docs/EDITOR.md +++ b/docs/EDITOR.md @@ -15,7 +15,7 @@ src/app/features/project-editor/ facade/ ProjectEditorFacade ``` -Route: `/edit/:section` or `/{lang}/edit/:section`. +Route: `/edit/:section` or `/{lang}/edit/:section`. `/backoffice/static-pages` (the Admin dashboard) redirects here (`/edit/static-pages`) rather than hosting a second CRUD surface over the same `bootstrap.staticPages` data (Sprint X+2 — see `docs/StaticPages.md`). ## Facade @@ -32,6 +32,7 @@ Route: `/edit/:section` or `/{lang}/edit/:section`. | Footer | `footer-section` | company info, address, phone, email, copyright, payment icons, social links, static pages list | | Homepage | `homepage-section` | homepage section list: visibility, order (drag-and-drop), layout strategy, columns | | Widgets | `widgets-section` | homepage widget configuration — typed editors for hero/categories/product-collection, JSON fallback for everything else | +| Static Pages | `static-pages-editor` (`features/content-management/`) | Full CRUD, media, SEO, per-page draft/publish, device preview, nav integration — see `docs/StaticPages.md` (Sprint X+2) | | Marketplace Features | `features-section` | feature flags, catalog navigation mode, search suggestions/history, recently viewed, reviews/questions/recommendations | | Languages | `languages-section` | add/remove supported locale, set default locale; syncs translation keys across static pages and nav labels via `LocaleSyncService` | | Navigation | `navigation-section` | header nav: add/remove/reorder/edit label/URL/visibility, per-locale via `app-locale-tabs`. Flat footer nav: same. Grouped (column-based) footer nav is read-only here — edit via Footer tab. | @@ -118,7 +119,11 @@ Interaction feedback + motion applied consistently, all gated behind `prefers-re **Status: working.** Verified live 2026-07-16 — typing captured, toolbar commands functional (bold toggles, `insertUnorderedList` wraps `