initial commit
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
26
src/admin/utils/formatters.ts
Normal file
26
src/admin/utils/formatters.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
export function formatCurrency(amount: number | string, currency: string): string {
|
||||
const num = Number(amount) || 0
|
||||
switch (currency) {
|
||||
case 'EUR': return `${num.toLocaleString('cs-CZ', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} €`
|
||||
case 'USD': return `$${num.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
|
||||
case 'CZK': return `${num.toLocaleString('cs-CZ', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} Kč`
|
||||
case 'GBP': return `£${num.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
|
||||
default: return `${num.toFixed(2)} ${currency}`
|
||||
}
|
||||
}
|
||||
|
||||
export function formatDate(dateStr: string | null | undefined): string {
|
||||
if (!dateStr) return '—'
|
||||
const d = new Date(dateStr)
|
||||
return d.toLocaleDateString('cs-CZ')
|
||||
}
|
||||
|
||||
export function formatKm(km: number | string): string {
|
||||
return new Intl.NumberFormat('cs-CZ').format(Number(km) || 0)
|
||||
}
|
||||
|
||||
export function czechPlural(n: number, one: string, few: string, many: string): string {
|
||||
if (n === 1) return one
|
||||
if (n >= 2 && n <= 4) return few
|
||||
return many
|
||||
}
|
||||
Reference in New Issue
Block a user