Improve material convo list dates

This commit is contained in:
Tanay Neotia
2022-12-08 21:56:42 -05:00
parent 4e8d447155
commit 92e40b0bf7
2 changed files with 25 additions and 1 deletions

View File

@ -209,7 +209,7 @@ class _MaterialTrailingState extends CustomState<MaterialTrailing, void, Convers
return Text(
(cachedLatestMessage?.error ?? 0) > 0
? "Error"
: "${indicatorText.isNotEmpty ? "$indicatorText\n" : ""}${buildDate(dateCreated)}",
: "${indicatorText.isNotEmpty ? "$indicatorText\n" : ""}${buildChatListDateMaterial(dateCreated)}",
textAlign: TextAlign.right,
style: context.theme.textTheme.bodySmall!.copyWith(
color: (cachedLatestMessage?.error ?? 0) > 0

View File

@ -34,6 +34,30 @@ String buildDate(DateTime? dateTime) {
return date;
}
String buildChatListDateMaterial(DateTime? dateTime) {
if (dateTime == null || dateTime.millisecondsSinceEpoch == 0) return "";
String time = ss.settings.use24HrFormat.value
? DateFormat.Hm().format(dateTime)
: DateFormat.jm().format(dateTime);
String date;
if (DateTime.now().difference(dateTime.toLocal()).inMinutes < 1) {
date = "Just Now";
} else if (DateTime.now().difference(dateTime.toLocal()).inHours < 1) {
date = "${DateTime.now().difference(dateTime.toLocal()).inMinutes} min";
}else if (DateTime.now().difference(dateTime.toLocal()).inDays <= 7) {
date = DateFormat("EEE").format(dateTime);
} else if (ss.settings.skin.value == Skins.Material && DateTime.now().difference(dateTime.toLocal()).inDays <= 365) {
date = DateFormat.MMMd().format(dateTime);
} else if (ss.settings.skin.value == Skins.Samsung && DateTime.now().year == dateTime.toLocal().year) {
date = DateFormat.MMMd().format(dateTime);
} else if (ss.settings.skin.value == Skins.Samsung && DateTime.now().year != dateTime.toLocal().year) {
date = DateFormat.yMMMd().format(dateTime);
} else {
date = DateFormat.yMd().format(dateTime);
}
return date;
}
String buildSeparatorDateMaterial(DateTime dateTime) {
return DateFormat.MMMEd().format(dateTime);
}