mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 12:23:31 +00:00
Add simple label for durations useful for focus mode text
This commit is contained in:
parent
6c7b20750d
commit
9fda128f07
1 changed files with 32 additions and 0 deletions
|
@ -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';
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue