diff --git a/mobile/lib/infrastructure/repositories/timeline.repository.dart b/mobile/lib/infrastructure/repositories/timeline.repository.dart index 9719fe6041..2cb204b63f 100644 --- a/mobile/lib/infrastructure/repositories/timeline.repository.dart +++ b/mobile/lib/infrastructure/repositories/timeline.repository.dart @@ -48,11 +48,17 @@ class DriftTimelineRepository extends DriftDatabaseRepository { .map((users) => users..add(userId)); } - TimelineQuery main(List userIds, GroupAssetsBy groupBy, AssetOriginFilter filter) => ( - bucketSource: () => _watchMainBucket(userIds, groupBy: groupBy, filter: filter), - assetSource: (offset, count) => _getMainBucketAssets(userIds, offset: offset, count: count, filter: filter), - origin: TimelineOrigin.main, - ); + TimelineQuery main(List userIds, GroupAssetsBy groupBy, AssetOriginFilter filter) { + return switch (filter) { + AssetOriginFilter.remote => cloudOnly(userIds, groupBy), + AssetOriginFilter.localOnly => localOnly(groupBy), + AssetOriginFilter.all => ( + bucketSource: () => _watchMainBucket(userIds, groupBy: groupBy), + assetSource: (offset, count) => _getMainBucketAssets(userIds, offset: offset, count: count), + origin: TimelineOrigin.main, + ), + }; + } Stream> _watchMainBucket(List userIds, {GroupAssetsBy groupBy = GroupAssetsBy.day}) { if (groupBy == GroupAssetsBy.none) { @@ -806,4 +812,4 @@ extension on String { }; return DateFormat(format, 'en').parse(this); } -} +} \ No newline at end of file