feat(web): Homepage + Category Pages (Phase 4 M4) (#5)
* feat(web): add homepage and category pages (Phase 4 M4)
Implement the first real forum pages with full component library:
- API client with TypeScript types matching barazo-api schemas
- MSW mock handlers for testing (Tier 3 hand-written)
- ForumLayout with header, sidebar, footer, skip links
- Pagination component (WCAG 2.2 AA, aria-current)
- Breadcrumbs with JSON-LD BreadcrumbList structured data
- TopicCard/TopicList components with reply/reaction counts
- CategoryNav with hierarchical tree display
- Homepage (/) with recent topics, category sidebar, JSON-LD WebSite
- Category page (/c/[slug]) with filtered topics, breadcrumbs
- FocusOnNavigate hook for client-side route transitions
- Switch from static export to standalone SSR output
- 62 tests passing across 10 test files with axe a11y checks
* fix(ci): update accessibility audit for standalone output
- Add try-catch error handling to homepage for API unavailability
- Update CI workflow to use standalone server instead of static serve
- Fix build artifact paths for standalone output
- Use polling wait instead of fixed sleep for server readiness
* fix(a11y): add underline to footer link for link-in-text-block rule
Links within text blocks must be visually distinguished from
surrounding text using more than just color (WCAG 2.2 AA).
authored by