diff --git a/mobile/lib/modules/album/views/album_viewer_page.dart b/mobile/lib/modules/album/views/album_viewer_page.dart index 23358f335..a0ae8a213 100644 --- a/mobile/lib/modules/album/views/album_viewer_page.dart +++ b/mobile/lib/modules/album/views/album_viewer_page.dart @@ -164,8 +164,13 @@ class AlbumViewerPage extends HookConsumerWidget { } Widget buildAlbumDateRange(Album album) { - final DateTime startDate = album.assets.first.fileCreatedAt; - final DateTime endDate = album.assets.last.fileCreatedAt; //Need default. + final DateTime? startDate = album.startDate; + final DateTime? endDate = album.endDate; + + if (startDate == null || endDate == null) { + return const SizedBox(); + } + final String startDateText = (startDate.year == endDate.year ? DateFormat.MMMd() : DateFormat.yMMMd()) diff --git a/mobile/lib/shared/models/album.dart b/mobile/lib/shared/models/album.dart index 94afe1d76..f338abca3 100644 --- a/mobile/lib/shared/models/album.dart +++ b/mobile/lib/shared/models/album.dart @@ -18,6 +18,8 @@ class Album { required this.name, required this.createdAt, required this.modifiedAt, + this.startDate, + this.endDate, this.lastModifiedAssetTimestamp, required this.shared, }); @@ -30,6 +32,8 @@ class Album { String name; DateTime createdAt; DateTime modifiedAt; + DateTime? startDate; + DateTime? endDate; DateTime? lastModifiedAssetTimestamp; bool shared; final IsarLink owner = IsarLink(); @@ -144,6 +148,8 @@ class Album { modifiedAt: dto.updatedAt, lastModifiedAssetTimestamp: dto.lastModifiedAssetTimestamp, shared: dto.shared, + startDate: dto.startDate, + endDate: dto.endDate, ); a.owner.value = await db.users.getById(dto.ownerId); if (dto.albumThumbnailAssetId != null) { diff --git a/mobile/lib/shared/models/album.g.dart b/mobile/lib/shared/models/album.g.dart index 63f71f380..9cdb59a5e 100644 Binary files a/mobile/lib/shared/models/album.g.dart and b/mobile/lib/shared/models/album.g.dart differ