Area: frontend · Effort: M
What: Allow users to select their preferred display currency (USD, EUR, NGN, GBP) and locale, with all monetary values converted and formatted accordingly.
Why: A platform targeting the Nigerian market must display values in NGN to be relevant to local users. Currency preference is a basic internationalisation requirement.
Acceptance Criteria:
- Currency preference is persisted in user settings
- All monetary values throughout the UI are displayed in the selected currency
- Exchange rates are fetched hourly from a public FX API
- Number formatting respects the selected locale (commas vs periods, currency placement)
Hints:
- Use
Intl.NumberFormat for currency formatting
frontend/src/hooks/useCurrency.ts
- Fetch FX rates from Open Exchange Rates or fxratesapi
Area: frontend · Effort: M
What: Allow users to select their preferred display currency (USD, EUR, NGN, GBP) and locale, with all monetary values converted and formatted accordingly.
Why: A platform targeting the Nigerian market must display values in NGN to be relevant to local users. Currency preference is a basic internationalisation requirement.
Acceptance Criteria:
Hints:
Intl.NumberFormatfor currency formattingfrontend/src/hooks/useCurrency.ts