Browse Source

fix(mobile): display simple album date when range is single day (#4919)

This change makes albums with same start and end date, to just display a
single date.

Currently, date range is displayed as `Nov 9 - Nov 9 2023`. With this
change, just `Nov 9 2023` is displayed. No changes are made for albums
where start and end dates do not match.
Michael Manganiello 1 năm trước cách đây
mục cha
commit
52fe392a9e
1 tập tin đã thay đổi với 14 bổ sung6 xóa
  1. 14 6
      mobile/lib/modules/album/views/album_viewer_page.dart

+ 14 - 6
mobile/lib/modules/album/views/album_viewer_page.dart

@@ -171,11 +171,19 @@ class AlbumViewerPage extends HookConsumerWidget {
         return const SizedBox();
       }
 
-      final String startDateText = (startDate.year == endDate.year
-              ? DateFormat.MMMd()
-              : DateFormat.yMMMd())
-          .format(startDate);
-      final String endDateText = DateFormat.yMMMd().format(endDate);
+      final String dateRangeText;
+      if (startDate.day == endDate.day &&
+          startDate.month == endDate.month &&
+          startDate.year == endDate.year) {
+        dateRangeText = DateFormat.yMMMd().format(startDate);
+      } else {
+        final String startDateText = (startDate.year == endDate.year
+                ? DateFormat.MMMd()
+                : DateFormat.yMMMd())
+            .format(startDate);
+        final String endDateText = DateFormat.yMMMd().format(endDate);
+        dateRangeText = "$startDateText - $endDateText";
+      }
 
       return Padding(
         padding: EdgeInsets.only(
@@ -183,7 +191,7 @@ class AlbumViewerPage extends HookConsumerWidget {
           bottom: album.shared ? 0.0 : 8.0,
         ),
         child: Text(
-          "$startDateText - $endDateText",
+          dateRangeText,
           style: const TextStyle(
             fontSize: 14,
             fontWeight: FontWeight.bold,