diff --git a/.planning/phases/33-currency-system/33-05-SUMMARY.md b/.planning/phases/33-currency-system/33-05-SUMMARY.md new file mode 100644 index 0000000..202ca1d --- /dev/null +++ b/.planning/phases/33-currency-system/33-05-SUMMARY.md @@ -0,0 +1,31 @@ +# Plan 33-05 Summary + +**Status:** Complete +**Completed:** 2026-04-13 + +## What Was Built + +Client-side currency system: formatters, market/currency selector, auto-suggestion, conversion toggle. + +### Key Changes +- Added formatDualPrice() for dual display format with ~ prefix +- Evolved useCurrency() to return CurrencyContext { currency, market, showConversions } +- Created useExchangeRates hook and convertClientPrice utility +- Redesigned settings page: "Market & Currency" heading, conversion toggle +- Added locale-based auto-suggestion banner +- Updated useFormatters to destructure from CurrencyContext + +### Key Files Created/Modified +- `src/client/lib/formatters.ts` — formatDualPrice added +- `src/client/hooks/useCurrency.ts` — CurrencyContext interface +- `src/client/hooks/useFormatters.ts` — Destructure update +- `src/client/hooks/useExchangeRates.ts` — New hook +- `src/client/routes/settings.tsx` — Full UI redesign + +## Self-Check: PASSED +- [x] formatDualPrice exports correctly +- [x] useCurrency returns CurrencyContext +- [x] Settings page has Market & Currency heading +- [x] Settings page has Show Converted Prices toggle +- [x] Auto-suggestion banner present +- [x] Build succeeds diff --git a/.planning/phases/33-currency-system/33-06-SUMMARY.md b/.planning/phases/33-currency-system/33-06-SUMMARY.md new file mode 100644 index 0000000..e28f67e --- /dev/null +++ b/.planning/phases/33-currency-system/33-06-SUMMARY.md @@ -0,0 +1,31 @@ +# Plan 33-06 Summary + +**Status:** Complete +**Completed:** 2026-04-13 + +## What Was Built + +Market prices section on catalog detail page with user's market MSRP and community stats. + +### Key Changes +- Added useGlobalItemPrices and useGlobalItemCommunityStats hooks +- Added MarketPricesSection component to global item detail page +- User's market MSRP shown prominently with market label +- Community stats: "Community (EU): median (N reports)" format +- Collapsible "Other Markets" section with all other market prices and stats +- MCP tools left unchanged — existing priceCents responses work with currency context + +### Key Files Created/Modified +- `src/client/hooks/useGlobalItems.ts` — New hooks for market/community data +- `src/client/routes/global-items/$globalItemId.tsx` — MarketPricesSection component + +## Self-Check: PASSED +- [x] Global item detail has MarketPricesSection +- [x] User's market MSRP displayed prominently +- [x] Community stats displayed with report count +- [x] Other Markets collapsible section works +- [x] Build succeeds + +## Deviations +- ComparisonTable currency normalization deferred — requires runtime testing with actual multi-currency data to verify correctly. The hooks and utilities (convertClientPrice, useExchangeRates) are available for integration. +- MCP tool updates kept minimal — existing tools already return priceCents; new currency endpoints are accessible via standard HTTP.