fix(mobile): format waktu proses laundry - 72 jam menjadi 3 hari, 10 jam tetap 10 jam

This commit is contained in:
micko samawa 2026-06-29 09:40:18 +07:00
parent d9f70573f6
commit be58c556c0
3 changed files with 23 additions and 4 deletions

View File

@ -291,7 +291,26 @@ class Laundry {
double get jarak => jarakKampus; // alias for jarak field double get jarak => jarakKampus; // alias for jarak field
double get rating => avgRating ?? 0.0; double get rating => avgRating ?? 0.0;
String get estimasiSelesai => '$waktuProses jam'; // Format jam secara umum menjadi format ramah pengguna (contoh: "3 hari", "10 jam")
static String formatJam(int jam) {
if (jam >= 24) {
final hari = jam ~/ 24;
final sisaJam = jam % 24;
if (sisaJam == 0) {
return '$hari hari';
} else {
return '$hari hari $sisaJam jam';
}
}
return '$jam jam';
}
// Format waktu proses sesuai jenis layanan
String formattedWaktuProsesFor(String? jenisLayanan) {
return formatJam(waktuProsesFor(jenisLayanan));
}
String get estimasiSelesai => formatJam(waktuProses);
// Check if currently open // Check if currently open
bool get isOpen { bool get isOpen {

View File

@ -295,7 +295,7 @@ class _LaundryDetailScreenState extends State<LaundryDetailScreen> {
), ),
_buildHeaderChip( _buildHeaderChip(
icon: Icons.schedule_rounded, icon: Icons.schedule_rounded,
label: '${widget.laundry.waktuProsesFor(widget.selectedJenisLayanan)} jam', label: widget.laundry.formattedWaktuProsesFor(widget.selectedJenisLayanan),
), ),
], ],
), ),
@ -347,7 +347,7 @@ class _LaundryDetailScreenState extends State<LaundryDetailScreen> {
_buildInfoRow( _buildInfoRow(
Icons.schedule, Icons.schedule,
'Kecepatan Layanan', 'Kecepatan Layanan',
'${widget.laundry.waktuProsesFor(widget.selectedJenisLayanan)} jam', widget.laundry.formattedWaktuProsesFor(widget.selectedJenisLayanan),
), ),
], ],
), ),

View File

@ -236,7 +236,7 @@ class LaundryCard extends StatelessWidget {
), ),
const SizedBox(width: 4), const SizedBox(width: 4),
Text( Text(
'${laundry.waktuProsesFor(selectedJenisLayanan)}h', laundry.formattedWaktuProsesFor(selectedJenisLayanan),
style: const TextStyle( style: const TextStyle(
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,