String formatRupiah(double number) { final rounded = number.round(); final formatted = rounded .toString() .replaceAllMapped(RegExp(r'\B(?=(\d{3})+(?!\d))'), (m) => '.'); return 'Rp $formatted'; } String formatTanggal(DateTime date) { const bulan = [ 'Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agu', 'Sep', 'Okt', 'Nov', 'Des' ]; return '${date.day} ${bulan[date.month - 1]} ${date.year}'; } String formatWaktu(DateTime date) { final j = date.hour.toString().padLeft(2, '0'); final m = date.minute.toString().padLeft(2, '0'); return '$j:$m'; } String uid() { return DateTime.now().microsecondsSinceEpoch.toRadixString(36) + (DateTime.now().millisecond).toRadixString(36); }