toChatTimeDetailed property
String
get
toChatTimeDetailed
Returns detailed chat time string
Implementation
String get toChatTimeDetailed {
final now = DateTime.now();
final localTime = toLocal();
final difference = now.difference(localTime);
// Less than 1 minute
if (difference.inMinutes == 0) {
return 'Just now';
}
// Less than 1 hour
if (difference.inHours == 0) {
final minutes = difference.inMinutes;
return '$minutes ${minutes == 1 ? 'minute' : 'minutes'} ago';
}
// Less than 24 hours
if (difference.inDays == 0) {
final hours = difference.inHours;
return '$hours ${hours == 1 ? 'hour' : 'hours'} ago';
}
// Less than 7 days
if (difference.inDays < 7) {
final days = difference.inDays;
return '$days ${days == 1 ? 'day' : 'days'} ago';
}
// Less than 30 days
if (difference.inDays < 30) {
final weeks = (difference.inDays / 7).floor();
return '$weeks ${weeks == 1 ? 'week' : 'weeks'} ago';
}
// Less than 365 days
if (difference.inDays < 365) {
final months = (difference.inDays / 30).floor();
return '$months ${months == 1 ? 'month' : 'months'} ago';
}
// More than 365 days
final years = (difference.inDays / 365).floor();
return '$years ${years == 1 ? 'year' : 'years'} ago';
}