chore(cleanup): delete unrouted legacy pages, update docs

pages/category, pages/search, pages/item-detail, pages/info/**,
pages/legal/** (40+ files) were entirely unrouted dead code:
- category/:id, category/:id/items, search all redirect/route to
  CatalogContainerComponent
- product/:id routes to ProductDetailsContainerComponent, not item-detail
- cmsContentRoutes (meant to route info/legal) is a literal empty array;
  static/legal content is served by the CMS-driven :staticPath ->
  StaticPageComponent route instead

dynamic-renderer/ is unrelated and stays - confirmed active, it's the
live homepage rendering pipeline (HomeComponent -> WebsiteRuntimeFacade
-> PageRendererService/PageResolverService -> DynamicPageLayoutComponent).

Updated docs/TODO.md, docs/KNOWN-ISSUES.md, docs/FRONTEND-ROADMAP.md,
docs/PROJECT_INDEX.md to reflect the resolution.
This commit is contained in:
sdarbinyan
2026-07-25 23:56:13 +04:00
parent 1163bfd88a
commit a670ca994f
107 changed files with 252 additions and 11159 deletions

View File

@@ -32,16 +32,16 @@ Full detail in `docs/KNOWN-ISSUES.md`. Summary:
- Payment modal / bank-payment iframe on Cart still custom (own focus-trap, multi-step state — note: RC A11Y-01 added a real focus-trap to it, but it's still not `app-dialog` itself) — candidate for `app-dialog` migration.
- Cart's native `confirm()` on clear-cart — no existing confirm-dialog pattern to follow yet.
- Genuine brand-color contrast failures (`--border-color`, `--success/warning/error/info-color` as text) — flagged by RC A11Y-01, need theme-owner sign-off before changing.
- `stars.component` rating glyph color and a few legacy hex literals in `pages/category`/`pages/search` have no exact token match — needs a deliberate token-extension decision.
- `stars.component` rating glyph color has no exact token match — needs a deliberate token-extension decision (the `pages/category`/`pages/search` half of this was resolved by deleting those files, see below).
- Homepage hero-to-categories dead-space gap — traces to mock bootstrap config, not a code defect; needs real-tenant-data reproduction.
- Footer "Contacts" link has no static-page content in mock data — needs a content decision (found during RC walkthrough).
- Builder's static-page body editor is hidden inside a collapsed "Advanced" section, mislabeled "Source HTML (advanced)" — works, but needs a navigation/labeling decision (found during RC walkthrough).
- ~178 missing `adminXxx.*` i18n keys across admin backoffice.
- Theme Mode (dark/system) selector has no runtime CSS effect — real feature project, not a wiring fix.
- `dynamic-renderer/` pipeline exists but is unwired — needs a finish-or-delete decision.
- ~~`dynamic-renderer/` pipeline exists but is unwired~~verified 2026-07-25 (RC-02 task 6): it IS wired, it's the live homepage rendering engine (`HomeComponent``WebsiteRuntimeFacade``PageRendererService`/`PageResolverService``DynamicPageLayoutComponent`). Prior "unwired" note was stale.
- `primeng`/`primeicons` still in `package.json` despite the only consumer being deleted (RC PERF-01) — `npm uninstall` blocked by an unrelated broken `barry-cache` devDependency (`ETARGET`); fix that first.
- 2 large lazy chunks (`project-editor` 320 kB, `catalog-container` 126 kB) — no mechanical split found, needs a dedicated task.
- **CRITICAL**: `pages/category`, `pages/search`, `pages/item-detail`, `pages/info/**`, `pages/legal/**` (40+ files) are entirely unrouted dead code — `cmsContentRoutes` in `app.routes.ts` is a literal empty array. Several earlier fixes (see git history) were applied to this dead code with zero production effect. See `docs/KNOWN-ISSUES.md` item 13 — needs a wire-it-up-or-delete-it decision. Tracked in `docs/TODO.md`.
- **RESOLVED 2026-07-25 (RC-02 task 6)**: `pages/category`, `pages/search`, `pages/item-detail`, `pages/info/**`, `pages/legal/**` (40+ files) were entirely unrouted dead code — deleted. See `docs/KNOWN-ISSUES.md` item 13.
- Backend integration: still mostly PLANNED/mock — a "backend ready" sprint was attempted and explicitly deferred (2026-07-24) pending a real API contract (`docs/BACKEND_API.md` is the canonical spec — no live endpoint confirmation beyond what's already CURRENT).
## Not audited / out of scope

View File

@@ -91,10 +91,11 @@ don't fix inline unless asked.
introducing the first one is an architecture decision, not polish.
- Found: 2026-07-23, RC-Premium-01.
8. **`stars.component` rating glyph color and a few legacy hex literals in
`pages/category`/`pages/search` have no exact design-token match.**
Left as literals to avoid an unintended visual shift; needs a deliberate
token-extension decision before normalizing.
8. ~~`stars.component` rating glyph color and a few legacy hex literals in
`pages/category`/`pages/search` have no exact design-token match.`~~
**Resolved 2026-07-25 (RC-02 task 6):** `pages/category`/`pages/search`
deleted as unrouted dead code (see item 13). `stars.component` literals
remain, tracked separately if still relevant.
- Found: 2026-07-23, RC-Premium-01.
9. **Genuine brand-color contrast failures (WCAG AA).** `--border-color`
@@ -125,9 +126,11 @@ don't fix inline unless asked.
most of the remaining bundle-budget overage in one move).
- Found: 2026-07-24, RC PERF-01 (`PERFORMANCE_REPORT.md` (removed, see git history)).
13. **CRITICAL`pages/category/*`, `pages/search/*`, `pages/item-detail/*`,
`pages/info/**`, `pages/legal/**` (40+ files) are entirely unrouted dead
code, not live pages.** Verified directly against `src/app/app.routes.ts`:
13. **RESOLVED 2026-07-25 (RC-02 task 6) — `pages/category/*`, `pages/search/*`,
`pages/item-detail/*`, `pages/info/**`, `pages/legal/**` (40+ files) were
entirely unrouted dead code, not live pages.** Decision: delete (not
wire up) — each had a live replacement already serving its traffic.
Verified directly against `src/app/app.routes.ts`:
`category/:id` and `category/:id/items` `redirectTo: 'catalog/:id'`
(served by `CatalogContainerComponent`); `search` also routes to
`CatalogContainerComponent`; `product/:id` routes to
@@ -321,9 +324,9 @@ don't fix inline unless asked.
hardcoded hex colors, duplicating what `app-skeleton` already provides
and what `catalog-container`/`product-details-container` already use.
- Fixed: 2026-07-23, RC STORE-01 (`STORE_REVIEW.md` (removed, see git history)).
- **Correction (2026-07-25):** these files are unrouted dead code (Open
item 13) — the fix is real and harmless but currently has zero
production effect. Live category/search rendering goes through
- **Superseded 2026-07-25 (RC-02 task 6):** these files were confirmed
unrouted dead code (item 13) and deleted outright, making this fix
moot. Live category/search rendering goes through
`CatalogContainerComponent`, not these files.
8. **Cart's dead `.email-form` markup and CSS removed.** Post-payment

View File

@@ -2,10 +2,6 @@
This is the entry point. Read this first — it links to everything else and tells you what's actually true right now versus what's historical.
## ⚠️ Read before touching routing or storefront static pages
`pages/category/*`, `pages/search/*`, `pages/item-detail/*`, `pages/info/**`, and `pages/legal/**` (40+ files) look like live storefront pages but are **entirely unrouted dead code**. `src/app/app.routes.ts`'s `cmsContentRoutes` is a literal empty array. The real routes redirect `category/:id`/`search` to `CatalogContainerComponent`, `product/:id` to `ProductDetailsContainerComponent`, and every static/legal page (About, Contacts, FAQ, etc.) is served by the catch-all `:staticPath` route resolving `bootstrap.staticPages` — not by the hardcoded components under `pages/info`/`pages/legal`. Full detail: [KNOWN-ISSUES.md](KNOWN-ISSUES.md) item 13, tracked in [TODO.md](TODO.md). Several earlier polish passes (see git history) were applied to this dead code before this was caught.
## What this is
A configuration-driven, multi-tenant SaaS marketplace platform (Angular 21.1, standalone components). One frontend codebase serves unlimited tenants ("marketplaces"). Tenant identity, theme, navigation, page/section/widget composition, and static content all resolve from a per-tenant `bootstrap.json` fetched at runtime — no tenant-specific code paths exist in the frontend. New tenants are onboarded by domain + config + backend data, never by forking the frontend.

235
docs/SPRINTS.md Normal file
View File

@@ -0,0 +1,235 @@
# BACKEND READY
Backend APIs are now available.
Read
docs/BACKEND-API.md
Do NOT redesign.
Do NOT change models.
Replace ONLY gateway implementations.
Keep
Facades
Signals
Components
Pages
State
unchanged.
Implement
Authentication
JWT
Refresh
CRUD
Uploads
Errors
Retry
Offline
Maintenance
Feature Flags
Run build.
Run typecheck.
Generate
docs/BACKEND_INTEGRATION.md
Commit.
***************
# RELEASE CANDIDATE
Pretend this application ships tomorrow.
Walk through EVERY route.
Storefront
Builder
Backoffice
Verify
Console
Network
Performance
Loading
Errors
404
Raw i18n
Icons
Images
Animations
Overflow
Responsive
Dialogs
Buttons
Forms
Search
Checkout
Builder
Admin
Fix every P0/P1 issue.
Do not redesign.
Commit every milestone.
Generate
docs/RELEASE_REPORT.md
*****************
# DOCUMENTATION SYNC
Do NOT modify application code.
Update only documentation.
Refresh
Graphify graph
Obsidian
PROJECT_INDEX.md
FRONTEND-ROADMAP.md
KNOWN-ISSUES.md
ADRs if required
Synchronize all project knowledge.
Commit documentation separately.
********************
# CLEANUP
Inspect only for
Dead Components
Dead Services
Dead Routes
Dead CSS
Duplicate Models
Duplicate Interfaces
Unused Imports
Unused Variables
Unused Assets
Unused Icons
Unused SCSS
Unused Directories
Unused Modules
Do NOT touch business logic.
Produce
docs/CLEANUP_REPORT.md
Delete only confirmed dead code.
Commit.
***************
# ANGULAR UPGRADE
Inspect
Angular
TypeScript
RxJS
Builder
Compiler
Dependencies
Determine whether upgrading to Angular 22 is safe.
Do NOT upgrade automatically.
Produce
docs/ANGULAR22_PLAN.md
Include
Benefits
Risks
Breaking changes
Migration steps
Estimated effort
Stop.

View File

@@ -4,7 +4,7 @@ Checklist of everything documented as open/remaining across the docs, verified a
## Critical
- [ ] `pages/category`, `pages/search`, `pages/item-detail`, `pages/info/**`, `pages/legal/**` (40+ files) — unrouted dead code, `cmsContentRoutes` in `app.routes.ts` is a literal empty array (verified still empty). Needs wire-up-or-delete decision — deliberately not resolved, out of "mechanical fix" scope.
- [x] `pages/category`, `pages/search`, `pages/item-detail`, `pages/info/**`, `pages/legal/**` (40+ files) — unrouted dead code. Resolved 2026-07-25 (RC-02 task 6): deleted, decision was delete (routes already served by `catalog-container`/`product-details-container`; info/legal superseded by CMS-driven `static-page` component).
- [x] No `canDeactivate` guard on `admin/products/:id/edit` — fixed 2026-07-25 (`adminProductDirtyGuard`, mirrors categories).
## Backend — skipped, doing together