Files
marketplaces/docs/archive/ADMIN_REVIEW.md
sdarbinyan 5374401257 docs: consolidate documentation and archive temporary reports
Step 1-2 (audit + plan): classified 35 project markdown files into
Core/Architecture/ADR/Temporary-audit/Sprint-report/Generated-review/
Duplicate/Obsolete/Historical. Agent-tooling files (.agents/skills/**,
.superpowers/**, docs/context/**, CLAUDE.md/GEMINI.md/AGENTS.md/
.github/copilot-instructions.md) explicitly out of scope — intentional
per-tool duplication, not documentation debt.

Step 3 (merge, no information lost):
- docs/PROJECT.md -> docs/PROJECT_INDEX.md, rewritten as the single
  entry point: system overview, living-doc index, archive pointer,
  current status, and a critical-finding callout up top.
- docs/backend/BACKEND-INTEGRATION.md -> docs/BACKEND_API.md,
  docs/backend/REMAINING-BACKEND-WORK.md ->
  docs/BACKEND_API_REMAINING_WORK.md (also folded in a legitimate
  uncommitted status update that had been sitting unstaged all
  session: categories marked DONE, order-creation endpoint noted done).
- RELEASE-NOTES.md merged into CHANGELOG.md (was a near-duplicate of
  the same release content in friendlier prose), then deleted.
- KNOWN-ISSUES.md: added item 13 (see below) and item 14 (missing
  canDeactivate on admin/products edit, from the archived PROJECT-STATE
  audit, re-verified still true); added a correction note to Fixed
  item 7.
- All cross-references to renamed/moved files fixed across every
  kept doc (grep+sed pass, then verified with a link-existence check
  across all 58 in-scope markdown files -> 0 broken links).

Step 4 (archive, nothing deleted without merging first): created
docs/archive/, moved 19 files there (3 root sprint reports, 1 platform
report, SPRINT-PLAN.md, and 14 one-off audit/review/report docs).
Added correction headers to the 3 archived docs whose conclusions were
affected by the finding below, rather than silently leaving them
misleading.

Step 5: docs/PROJECT_INDEX.md rewritten per the mission brief -
someone opening the repo should understand the whole system from it.

IMPORTANT FINDING (surfaced during this audit, not the mission's
primary goal but too significant to bury): pages/category/*,
pages/search/*, pages/item-detail/*, pages/info/**, pages/legal/**
(40+ files) are entirely unrouted dead code - app.routes.ts's
cmsContentRoutes is a literal empty array, and category/search/product
routes redirect to CatalogContainerComponent/
ProductDetailsContainerComponent, not these files. Confirmed against
app.routes.ts directly and cross-checked against FRONTEND.md's own
routing description. This means several fixes from earlier this cycle
(RC-Premium-01, RC STORE-01) and the dead-code cleanup sprint's
conclusion that these files were live were all wrong - documented as
KNOWN-ISSUES.md item 13, flagged at the top of PROJECT_INDEX.md, and
noted on the 3 archived docs whose conclusions it affects. No
application code was changed to fix this (out of scope per this
session's 'documentation only' constraint) - it needs a wire-it-up-or-
delete-it decision first.

Verification: tsc --noEmit clean, npm run build green, all markdown
links across 58 in-scope files resolve (checked programmatically).
No application/Angular/backend code modified.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 19:10:49 +04:00

4.1 KiB

Admin UI Polish — RC1 Review

Scope: production-ready UI/UX polish pass across the admin area, one page at a time. Architecture, routing, facades, providers, APIs, and data models were left unchanged per instructions. No docs/DESIGN.md exists in this repo (confirmed during the storefront pass), so no page could be checked against it literally; polish decisions here follow the shared component library (app-button, app-table, app-empty-state, app-skeleton, app-badge, app-card, app-toggle) and existing conventions instead.

Pages reviewed

Page Commit Status
Dashboard reviewed, no changes needed
Marketplace Builder fix(admin): polish marketplace-builder done
Products fix(admin): polish products done
Categories fix(admin): polish categories done
Orders fix(admin): polish orders done
Customers reviewed, no changes needed
Reviews (moderation) fix(admin): polish reviews done
Reports reviewed, no changes needed
Transactions reviewed, no changes needed
Analytics reviewed, no changes needed
Monitoring reviewed, no changes needed
Media reviewed, no changes needed
Settings no implementation exists (see backlog)
Diagnostics reviewed, no changes needed (dev-only, excluded from production)

Fixes

Dead code:

  • Marketplace Builder: removed an unused ButtonComponent import/registration from ProjectEditorHomepageSectionComponent — it was never referenced in the template and had been silently flagged by every single build (NG8113 warning) until now.

Accessibility — recurring pattern across list pages:

The admin list pages (Products, Categories, Orders, Reviews) share a common table-view layout: a "select all" checkbox in the header and a per-row checkbox in each <tr>. In every one of these tables, the table view's checkboxes had no accessible name — a screen reader announced only "checkbox, not checked" with no indication of what it selects. Notably, the grid-view equivalent on the same pages already had aria-label (e.g. product name, category title, customer name), so this was an inconsistency introduced when the table view was built, not a project-wide gap.

Fixed identically across all four:

  • Products: adminProducts.selectAllRows / selectRow
  • Categories: adminCategories.selectAllRows / selectRow — plus the per-row visibility-toggle checkbox, whose <label> wrapped only the input with no text content at all (empty accessible name), got adminCategories.toggleVisibility
  • Orders: adminOrders.selectAllRows / selectRow (row label includes order number)
  • Reviews: adminModeration.selectAllRows (row checkbox already had a label via review.customerName, only select-all was missing)

All new keys added across en/ru/hy.

Remaining backlog

  • Settings: src/app/features/backoffice/settings/ contains only a .gitkeep — no component, no route. Nothing to polish until the feature is built. (Same situation as Checkout in the storefront pass.)
  • Dashboard, Customers, Reports, Transactions, Analytics, Monitoring, Media, and Diagnostics were already in good shape at review time — consistent use of shared components, existing :focus-visible coverage on their buttons, empty/loading states already using app-empty-state/app-skeleton. No action items logged for these; re-review if they're touched again after backend integration lands new UI.
  • The select-all/row-checkbox accessible-name gap was fixed everywhere it was found in this pass (Products/Categories/Orders/Reviews). If any future admin list page is built from the same table pattern, carry the aria-label over from day one rather than relying on a follow-up audit to catch it.
  • No docs/DESIGN.md exists for either the storefront or admin area. If literal design-system enforcement (type ramp, radius scale, color palette) is wanted going forward, author that file — impeccable hook findings are currently checked against a document that doesn't exist.