refactor: marketplace release polish
Sprint 28, scoped to admin/* (user decision — full marketplace audit declined in favor of a bounded pass over the 8 admin features from Sprints 20-27). - a11y: aria-label added to every bare <select> not already inside a <label> across categories/products/orders/transactions/users/monitoring - loading states: app-skeleton rows/cards added to list pages that previously rendered blank during the initial fetch (categories, orders, transactions, users, monitoring's event feed, analytics summary cards) - admin-dashboard-card's custom shimmer CSS replaced with the shared SkeletonComponent (same visual result, one less duplicated animation) - bundle-size budget warning (~198kB over) confirmed pre-existing — present at Sprint 20's first build before any admin/* code existed, and new admin pages are all lazy-loaded — documented as out of scope for this pass rather than chased docs/ADMIN.md + docs/SPRINT-PLAN.md updated with the scope decision and what was explicitly not done (Lighthouse, animations, SEO/sitemap, storefront/editor a11y). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -416,6 +416,36 @@ routes at all, this is a net-new admin section.
|
||||
- **Export**: CSV of the sales series (client-side `Blob` download, same
|
||||
pattern as Orders/Transactions).
|
||||
|
||||
## Sprint 28 - Marketplace Polish (scoped to admin/*)
|
||||
|
||||
Scoped down (user decision) from a full marketplace-wide audit to the 8
|
||||
admin features built in Sprints 20-27, since those were the newest and
|
||||
least-reviewed surface. Not a rewrite - targeted fixes only:
|
||||
|
||||
- **Accessibility**: every bare `<select>` across `admin/categories`,
|
||||
`admin/products`, `admin/orders`, `admin/transactions`, `admin/users`,
|
||||
and `admin/monitoring` that wasn't already inside a `<label>` (which
|
||||
provides implicit association) now has an explicit `aria-label`. Selects
|
||||
already nested in `<label>` (e.g. product form's category/stock-status
|
||||
selects, category form's parent select) were left as-is - already
|
||||
correct.
|
||||
- **Loading states**: list pages that previously rendered a blank table
|
||||
during the initial fetch (categories, orders, transactions, users,
|
||||
monitoring's event feed, analytics' summary cards) now show
|
||||
`app-skeleton` rows/cards while `loading()` is true, falling through to
|
||||
the existing empty-state or populated table after. `admin/products` and
|
||||
the media library already had this from earlier sprints.
|
||||
- **Bundle size**: the `700 kB` initial-bundle budget warning (~198 kB over)
|
||||
predates every admin sprint in this plan - it was already present at
|
||||
Sprint 20's first build, before any of `features/admin/**` existed, and
|
||||
the new admin pages are all lazy-loaded (they don't touch the initial
|
||||
chunk). Confirmed out of scope for an admin-only polish pass; would need
|
||||
a main-bundle/core-module audit to actually fix.
|
||||
- Explicitly **not done** here (would require the "full marketplace audit"
|
||||
scope the user declined): Lighthouse run, animations, responsive fixes
|
||||
outside admin/*, SEO/meta/social-preview/robots/sitemap, and a full a11y
|
||||
audit of the public storefront/Project Editor.
|
||||
|
||||
## Known gaps / backend needs
|
||||
|
||||
- **Dashboard metrics endpoint.** Categories/Products counts are computed
|
||||
|
||||
@@ -69,9 +69,11 @@ Notify user: **from Sprint 20 (Categories) once product↔category link + admin
|
||||
- [x] `docs/ADMIN.md` (new Sprint 27 section), `docs/BACKEND.md` item 16 added
|
||||
- Commit: `feat(admin): analytics dashboard`
|
||||
|
||||
## Sprint 28 — Marketplace Polish
|
||||
- [ ] Lighthouse + a11y sweep, animations, skeletons/empty/error states, responsive fixes, SEO/meta/social preview/robots/sitemap
|
||||
## Sprint 28 — Marketplace Polish ✅ done (scoped to admin/* per user decision)
|
||||
- [x] A11y sweep (aria-label on unlabeled selects), loading skeletons on list pages that previously showed blank tables, bundle-size warning confirmed pre-existing/out-of-scope
|
||||
- [x] `docs/ADMIN.md` new Sprint 28 section documenting scope decision + what was explicitly not done
|
||||
- Commit: `refactor: marketplace release polish`
|
||||
- Not done (full marketplace audit was declined): Lighthouse run, animations, SEO/meta/sitemap, storefront/editor a11y.
|
||||
|
||||
## Sprint 29 — Release Candidate
|
||||
- [ ] Dead code cleanup, remove TODOs/console logs/debug code, optimize imports/bundle/images/CSS, translation validation, build/type/lint validation, doc validation, arch review, CHANGELOG + release notes
|
||||
|
||||
Reference in New Issue
Block a user