toChatTime property
String
get
toChatTime
Returns relative time string for chat messages
Implementation
String get toChatTime {
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}m ago';
}
// Less than 24 hours
if (difference.inDays == 0) {
final hours = difference.inHours;
return '${hours}h ago';
}
// Less than 7 days
if (difference.inDays < 7) {
final days = difference.inDays;
return '${days}d ago';
}
// Less than 30 days
if (difference.inDays < 30) {
final weeks = (difference.inDays / 7).floor();
return '${weeks}w ago';
}
// Less than 365 days
if (difference.inDays < 365) {
final months = (difference.inDays / 30).floor();
return '${months}mo ago';
}
// More than 365 days
final years = (difference.inDays / 365).floor();
return '${years}y ago';
}