feat: add utility functions for date and quantity formatting; refactor inventory and recipe screens to use new formatters
Test Suite / test (24.15.0) (push) Has been cancelled
Test Suite / test (24.15.0) (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
/// Formaterar ett DateTime-objekt som YYYY-MM-DD.
|
||||
/// Om [dt] är null returneras [fallback] (default: tom sträng).
|
||||
String formatDate(DateTime? dt, {String fallback = ''}) {
|
||||
if (dt == null) return fallback;
|
||||
return '${dt.year}-'
|
||||
'${dt.month.toString().padLeft(2, '0')}-'
|
||||
'${dt.day.toString().padLeft(2, '0')}';
|
||||
}
|
||||
|
||||
/// Parsar en ISO-datumsträng och formaterar som YYYY-MM-DD.
|
||||
/// Om strängen inte är parsbar returneras den oförändrad.
|
||||
String formatDateString(String iso) {
|
||||
try {
|
||||
return formatDate(DateTime.parse(iso), fallback: iso);
|
||||
} catch (_) {
|
||||
return iso;
|
||||
}
|
||||
}
|
||||
|
||||
/// Formaterar ett tal som heltal om det inte har decimaler, annars med decimaler.
|
||||
/// Exempel: 2.0 → "2", 1.5 → "1.5"
|
||||
String formatQuantity(double v) =>
|
||||
v == v.roundToDouble() ? v.toStringAsFixed(0) : v.toStringAsFixed(1);
|
||||
Reference in New Issue
Block a user