
- Ubah model StokBantuanModel dari 'jenis bantuan' menjadi 'kategori bantuan' - Perbarui metode loadJenisBantuanData() menjadi loadKategoriBantuanData() - Tambahkan metode baru untuk menghitung stok hampir habis dan segera kadaluarsa - Update tampilan dan form untuk menggunakan kategori bantuan - Perbaiki logika navigasi dan binding pada berbagai modul terkait
57 lines
1.6 KiB
Dart
57 lines
1.6 KiB
Dart
import 'package:intl/intl.dart';
|
|
|
|
class DateFormatter {
|
|
static String formatDate(DateTime? date,
|
|
{String format = 'dd MMMM yyyy',
|
|
String locale = 'id_ID',
|
|
String defaultValue = '-'}) {
|
|
if (date == null) return defaultValue;
|
|
try {
|
|
return DateFormat(format, locale).format(date);
|
|
} catch (e) {
|
|
print('Error formatting date: $e');
|
|
return date.toString().split(' ')[0]; // Fallback to basic format
|
|
}
|
|
}
|
|
|
|
static String formatTime(DateTime? time,
|
|
{String format = 'HH:mm',
|
|
String locale = 'id_ID',
|
|
String defaultValue = '-'}) {
|
|
if (time == null) return defaultValue;
|
|
try {
|
|
return DateFormat(format, locale).format(time);
|
|
} catch (e) {
|
|
print('Error formatting time: $e');
|
|
return time
|
|
.toString()
|
|
.split(' ')[1]
|
|
.substring(0, 5); // Fallback to basic format
|
|
}
|
|
}
|
|
|
|
static String formatDateTime(DateTime? dateTime,
|
|
{String format = 'dd MMMM yyyy HH:mm',
|
|
String locale = 'id_ID',
|
|
String defaultValue = '-'}) {
|
|
if (dateTime == null) return defaultValue;
|
|
try {
|
|
return DateFormat(format, locale).format(dateTime);
|
|
} catch (e) {
|
|
print('Error formatting date time: $e');
|
|
return dateTime.toString().split('.')[0]; // Fallback to basic format
|
|
}
|
|
}
|
|
|
|
static String formatNumber(num? number,
|
|
{String locale = 'id_ID', String defaultValue = '0'}) {
|
|
if (number == null) return defaultValue;
|
|
try {
|
|
return NumberFormat("#,##0.##", locale).format(number);
|
|
} catch (e) {
|
|
print('Error formatting number: $e');
|
|
return number.toString(); // Fallback to basic format
|
|
}
|
|
}
|
|
}
|