Files
Salon/frontend
mohd 2305c3dc9d feat: add Arabic translations and fix frontend i18n gaps
- Add backend/locale/ar_SA/LC_MESSAGES/django.po with Arabic (ar-sa) translations
  for all 62 user-facing error/validation strings across accounts, bookings,
  payments, and notifications apps; compile to django.mo
- Add common.loading and salon.unknownStaff keys to both ar-sa.json and en.json
- ProtectedRoute: replace hardcoded "Loading..." with t("common.loading")
- BookPage, SalonDetailPage: replace `Staff ${s.id}` fallback with
  t("salon.unknownStaff", { id: s.id })
- BookingsPage: pass getActiveLocale() to toLocaleString so date/time
  format matches the active app language

All 35 backend tests and 7 frontend tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 00:53:24 +03:00
..
2026-02-28 15:33:18 +03:00

Frontend Notes (MVP Readiness)

High-Level Takeaways

  • App.jsx is monolithic and mixes search, payments, and locale controls; no routing exists yet.
  • Domain logic (API payloads, validation, error handling) lives in UI components instead of hooks/services.
  • Tests only cover hero copy and RTL behavior; search and payment flows are untested.
  • Global styles are fragile (likely ::root typo instead of :root).
  • Auth token handling is ad hoc and should be replaced with a proper auth flow/context.

Near-Term Focus

  • Introduce routing and split into pages (home/search, auth, booking, payment, profile).
  • Extract API logic into hooks/services to make testing and reuse easier.
  • Add Vitest coverage for search, booking, and payment flows.
  • Fix global CSS root selector and stabilize base layout styles.