feat(seo): tenant-driven meta tags, sitemap/robots, reduced-motion, docs
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
Completes the rest of Sprint 28 on top of the earlier admin-scoped
a11y/skeleton pass (576f260):
- SeoService.resetToDefaults() now reads real bootstrap.seo.default /
branding instead of hardcoded placeholder text + a broken
/og-image.jpg reference; auto-reapplies via an effect() whenever
bootstrap (re)loads, same pattern as UiRuntimeFacade.
- New public/sitemap.xml (static baseline, documented per-tenant-dynamic
limitation) + public/robots.txt Sitemap directive and admin/editor
Disallow rules.
- Global prefers-reduced-motion override in styles.scss covering every
existing hover-transform/fade-in/shimmer animation in one place.
- New adminProducts/adminUsers/adminMonitoring/adminAnalytics
empty-state i18n keys (en/ru/hy) for this sprint's skeleton/empty-state
consistency fixes.
- docs/KNOWN-ISSUES.md: logged a newly-found, much larger pre-existing
gap (~178 missing adminXxx.* i18n keys across the whole admin
backoffice) - deferred to Sprint 29's translation validation, not
fixed here.
- docs/BACKEND.md: new item 17 (sitemap generation gap).
- docs/ADMIN.md, docs/SPRINT-PLAN.md: rewritten Sprint 28 sections to
describe the full, combined scope (both commits) instead of the
earlier admin-only framing.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -69,11 +69,17 @@ 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 ✅ 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 28 — Marketplace Polish ✅ done
|
||||
- [x] Skeleton/empty-state consistency: `admin/products`, `admin/users`, `admin/monitoring`, `admin/analytics` had a `loading` signal but no loading/empty UI - wired `app-skeleton`/`app-empty-state`; `admin/categories`/`admin/orders`/`admin/transactions`/media library got the missing loading skeleton (already had empty-state); `admin/dashboard`'s card component migrated its pre-primitive shimmer `<div>` to `app-skeleton`
|
||||
- [x] A11y: aria-label on every previously-unlabeled `<select>` across admin/*; manual audit confirmed `DialogComponent` focus trap/Escape/aria-modal already correct and no missing `<img>` alt text anywhere in `src/app`
|
||||
- [x] Animations: global `prefers-reduced-motion` override added in `src/styles.scss` (neutralizes all animation/transition durations + smooth-scroll)
|
||||
- [x] SEO: `SeoService.resetToDefaults()` now reads real `bootstrap.seo.default`/`branding` instead of hardcoded placeholder text + a broken `/og-image.jpg` reference; re-applies automatically on bootstrap (re)load
|
||||
- [x] Sitemap/robots: new `public/sitemap.xml` (static baseline, documented per-tenant-dynamic limitation) + `public/robots.txt` `Sitemap:` directive and admin/editor `Disallow` rules
|
||||
- [x] Responsive: confirmed `shared/ui/table`'s existing `overflow-x: auto` wrapper covers all admin tables; admin list pages already had per-feature breakpoints, extended consistently
|
||||
- [x] `docs/ADMIN.md` new Sprint 28 section (combined result of both commits below)
|
||||
- [x] Found and logged (not fixed - Sprint 29 scope): ~178 missing `adminXxx.*` i18n keys across the whole admin backoffice, see `docs/KNOWN-ISSUES.md`
|
||||
- Commits: `refactor: marketplace release polish` (admin a11y/skeleton pass), plus this session's follow-up completing SEO/sitemap/animations/dashboard-card/KNOWN-ISSUES
|
||||
- Known trade-off: no live Lighthouse/browser run available in this environment (same guarded-admin-route constraint noted in prior sprints) - SEO/a11y/animation fixes above are the manual-audit equivalent of what it would have flagged.
|
||||
|
||||
## 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