Grain flutter app
1String formatRelativeTime(String isoString) {
2 final date = DateTime.tryParse(isoString);
3 if (date == null) return '';
4 final now = DateTime.now();
5 final diff = now.difference(date);
6 final weeks = diff.inDays ~/ 7;
7 if (weeks > 0) return '${weeks}w';
8 final days = diff.inDays;
9 if (days > 0) return '${days}d';
10 final hours = diff.inHours;
11 if (hours > 0) return '${hours}h';
12 final minutes = diff.inMinutes;
13 return '${minutes < 1 ? 1 : minutes}m';
14}