toStringDate method

String toStringDate({
  1. required AFTimeState? currentTime,
  2. required DateFormat dateFormat,
  3. bool showTodayYesterday = true,
  4. int daysAgoCount = 6,
})

Implementation

String toStringDate({
  required AFTimeState? currentTime,
  required DateFormat dateFormat,
  bool showTodayYesterday = true,
  int daysAgoCount = 6,
}) {
  if(currentTime != null && showTodayYesterday) {
    final today = currentTime.absoluteDay;
    final nDay = absoluteDay;
    if(nDay == today) {
      return todayText;
    } else if(nDay == (today-1)) {
      return yesterdayText;
    } else if(nDay == (today+1)) {
      return tomorrowText;
    }

    final elapsed = today - nDay;
    if(elapsed <= daysAgoCount && nDay < today && nDay > today - 7) {
      return "$elapsed days ago";
    }
  }

  // otherwise, we need to convert it into a date.
  var calculated = currentPushTime;
  return dateFormat.format(calculated);
}