Commit Graph

4 Commits

Author SHA1 Message Date
Ho Ngoc Hai
0fc23b7ebd feat(web): add missing error boundaries across all route groups
- Add global-error.tsx at app root (inline styles, wraps html/body)
- Add group-level error.tsx for (public) — catches all unguarded public routes
- Add per-route error.tsx for high-traffic public segments:
  listings, listings/[id], du-an, du-an/[slug],
  khu-cong-nghiep, khu-cong-nghiep/[slug], agents, agents/[id], payment
- Add auth/callback/error.tsx for OAuth callback failures
- Commit coverage table to apps/web/docs/error-boundary-coverage.md

Pre-existing API test failures unrelated to this change (broker-cert,
update-listing-status, mcp.module) were already failing on master.

Closes GOO-115

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 10:49:15 +07:00
Ho Ngoc Hai
62485fee98 feat(agents): add public agent profile page at /agents/[id]
Implements a public-facing agent profile page with:
- Backend: new GET /agents/:agentId/profile public API endpoint with
  agent info, active listings, quality score, and review stats
- Frontend: server-rendered profile page with generateMetadata for SEO,
  JSON-LD structured data (RealEstateAgent schema), breadcrumbs
- Agent profile displays bio, service areas, quality score gauge,
  active listing cards, reviews with star ratings, and contact CTA
- Mobile responsive layout with sticky contact sidebar on desktop
- Vietnamese UI text throughout, consistent with existing patterns

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-11 00:16:19 +07:00
Ho Ngoc Hai
68b65cb848 test(web): increase frontend test coverage to ~70% page coverage
- Fix vitest config to include [locale] directory tests (was excluded)
- Fix register.spec.tsx: use getByRole('heading') to avoid duplicate text match
- Fix search.spec.tsx: add QueryClientProvider wrapper and mock saved searches hook
- Add 12 new page test files covering dashboard, admin, public, and OAuth pages:
  - dashboard (main, profile, payments, subscription, KYC)
  - admin (dashboard, users)
  - public (landing, pricing)
  - analytics
  - OAuth callbacks (Google, Zalo)
- 29 test files, 174 tests, 16/23 pages covered (69.6%)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-10 23:14:16 +07:00
Ho Ngoc Hai
7195064f12 feat(web): add i18n locale routes and language switcher component
Add locale-prefixed routes for admin, auth, dashboard, and public pages.
Add error, loading, and not-found pages for locale context. Add language
switcher UI component for Vietnamese/English toggle.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-09 09:44:18 +07:00