timeAgo method

String timeAgo(
  1. BuildContext context
)

Get relative time description (e.g., "5 minutes ago")

Implementation

String timeAgo(BuildContext context) {
  Duration difference = DateTime.now().difference(this);

  if (difference.inDays > 8) {
    // Use formatted date if more than a week
    return formattedDate(context);
  } else if (difference.inDays >= 1) {
    return "${difference.inDays} day${difference.inDays > 1 ? 's' : ''} ago";
  } else if (difference.inHours >= 1) {
    return "${difference.inHours} hour${difference.inHours > 1 ? 's' : ''} ago";
  } else if (difference.inMinutes >= 1) {
    return "${difference.inMinutes} minute${difference.inMinutes > 1 ? 's' : ''} ago";
  } else {
    return "Just now";
  }
}