toMessageTime property

String get toMessageTime

Returns formatted time for message bubbles

Implementation

String get toMessageTime {
  final now = DateTime.now();
  final localTime = toLocal();
  final difference = now.difference(localTime);

  if (difference.inMinutes < 1) {
    return 'now';
  } else if (difference.inDays == 0) {
    return to12HourFormat;
  } else if (difference.inDays == 1) {
    return 'Yesterday $to12HourFormat';
  } else if (difference.inDays < 7) {
    final days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
    return '${days[localTime.weekday - 1]} $to12HourFormat';
  } else {
    return '$toDateAsString $to12HourFormat';
  }
}