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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
235
docs/SPRINTS.md
Normal 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.
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user