refactor(web): dedup tỷ/triệu compact formatters (GOO-206)
- Add `formatCompact` as an exported alias for `formatPrice` in lib/currency.ts - Replace 5 inline copies of the tỷ/triệu compact formatter: - components/map/listing-map.tsx (local `formatPrice` fn) - components/agents/agent-profile-client.tsx (local `fmtVND` fn) - app/(dashboard)/dashboard/saved-searches/page.tsx (local `formatPrice` fn) - app/(public)/page.tsx (local `formatVnd` fn + `vndFmt` Intl instance) - components/listings/price-history-chart.tsx (local `formatMillions` + `priceToMillions`) All call sites now import from the canonical lib/currency module. PriceHistoryChart now stores raw VND in chart data (was: millions) so formatCompact emits correct tỷ/triệu labels using canonical thresholds. Pre-existing test failures in inquiry/lead/AVM specs are unrelated to this change. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -97,6 +97,18 @@ export function formatPricePerM2(price: string | number): string {
|
||||
return `${num.toLocaleString('vi-VN')} \u0111/m\u00b2`;
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Alias: formatCompact
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Alias for {@link formatPrice}.
|
||||
* Use this name when the call-site intent is compact/abbreviated display
|
||||
* rather than a full price string (e.g. chart tick labels, map markers).
|
||||
*/
|
||||
export const formatCompact = formatPrice;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Parser (reverse direction)
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user