Add simple label for durations useful for focus mode text

This commit is contained in:
Hank Grabowski 2024-07-24 11:39:04 -04:00
parent 6c7b20750d
commit 9fda128f07

View file

@ -78,3 +78,35 @@ const _separator = '_';
extension DateTimeExtensions on DateTime {
String toFileNameString() => '$year$month$day$_separator$hour$minute$second';
}
extension DurationExtensions on Duration {
String get simpleLabel {
final days = (inHours / 24.0).round();
if (days != 0) {
return days == 1 ? '1 day' : '$days days';
}
final hours = (inMinutes / 60.0).round();
if (hours != 0) {
return hours == 1 ? '1 hour' : '$hours hours';
}
final minutes = (inSeconds / 60.0).round();
if (minutes != 0) {
return minutes == 1 ? '1 minute' : '$minutes minutes';
}
final seconds = (inMilliseconds / 1000.0).round();
if (seconds != 0) {
return seconds == 1 ? '1 second' : '$seconds seconds';
}
if (inMilliseconds != 0) {
return inMilliseconds == 1 ? '1 millisecond' : '$inSeconds milliseconds';
}
return inMicroseconds == 1
? '1 microsecond'
: '$inMicroseconds microseconds';
}
}