fix: guard non-published listings for non-owners, locale-aware number format, accept all currencies as default

This commit is contained in:
2026-02-08 10:46:29 +01:00
parent 727ec17abd
commit 088db52258
3 changed files with 15 additions and 7 deletions

View File

@@ -265,13 +265,21 @@ export function formatXmr(amount) {
*/
export function formatFiat(amount, currency) {
const symbol = CURRENCY_SYMBOLS[currency] || currency
const formatted = new Intl.NumberFormat('de-DE', {
let locale = 'en-US'
try {
const stored = localStorage.getItem('locale')
const localeMap = { de: 'de-DE', en: 'en-US', fr: 'fr-FR', it: 'it-IT', es: 'es-ES', pt: 'pt-BR', ru: 'ru-RU' }
locale = localeMap[stored] || 'en-US'
} catch (e) {
// Fallback
}
const formatted = new Intl.NumberFormat(locale, {
minimumFractionDigits: 2,
maximumFractionDigits: 2
}).format(amount)
// Symbol before or after amount
if (['EUR', 'GBP', 'USD', 'BRL'].includes(currency)) {
return `${symbol} ${formatted}`
}