timeLabel property

String get timeLabel

Human-readable time label: "2m ago", "Yesterday", "Jan 15"

Implementation

String get timeLabel {
  final now = DateTime.now();
  final diff = now.difference(timestamp);

  if (diff.inSeconds < 60) return 'now';
  if (diff.inMinutes < 60) return '${diff.inMinutes}m ago';
  if (diff.inHours < 24) return '${diff.inHours}h ago';
  if (diff.inDays == 1) return 'Yesterday';

  return DateFormat('MMM d').format(timestamp);
}