export const formatCurrency = (amount: number) => { return new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }).format(amount) } export const formatShortCurrency = (num: number): string => { const formatNumber = (value: number, suffix: string) => { const str = value.toFixed(2).replace(/\.00$/, '') return str + suffix } const absNum = Math.abs(num) let result: string if (absNum >= 1_000_000) { result = formatNumber(absNum / 1_000_000, 'M') } else if (absNum >= 1_000) { result = formatNumber(absNum / 1_000, 'k') } else { result = absNum.toString() } return num < 0 ? '-' + 'Rp ' + result : 'Rp ' + result } export const formatDate = (dateString: any) => { return new Date(dateString).toLocaleDateString('id-ID', { day: 'numeric', month: 'short', year: 'numeric' }) } export const formatDateDDMMYYYY = (date: Date) => { const day = String(date.getDate()).padStart(2, '0') const month = String(date.getMonth() + 1).padStart(2, '0') const year = date.getFullYear() return `${day}-${month}-${year}` }