Skip to content

Commit a8b4a5e

Browse files
fix(mobile): sort local album by most recently modified (immich-app#21038)
Sort with SQL instead Co-authored-by: Alex <alex.tran1502@gmail.com>
1 parent e7e0302 commit a8b4a5e

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

mobile/lib/infrastructure/repositories/local_album.repository.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
88
import 'package:immich_mobile/utils/database.utils.dart';
99
import 'package:platform/platform.dart';
1010

11-
enum SortLocalAlbumsBy { id, backupSelection, isIosSharedAlbum, name, assetCount }
11+
enum SortLocalAlbumsBy { id, backupSelection, isIosSharedAlbum, name, assetCount, newestAsset }
1212

1313
class DriftLocalAlbumRepository extends DriftDatabaseRepository {
1414
final Drift _db;
@@ -40,6 +40,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository {
4040
SortLocalAlbumsBy.isIosSharedAlbum => OrderingTerm.asc(_db.localAlbumEntity.isIosSharedAlbum),
4141
SortLocalAlbumsBy.name => OrderingTerm.asc(_db.localAlbumEntity.name),
4242
SortLocalAlbumsBy.assetCount => OrderingTerm.desc(assetCount),
43+
SortLocalAlbumsBy.newestAsset => OrderingTerm.desc(_db.localAlbumEntity.updatedAt),
4344
});
4445
}
4546
query.orderBy(orderings);

mobile/lib/providers/infrastructure/album.provider.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ final localAlbumServiceProvider = Provider<LocalAlbumService>(
1818
);
1919

2020
final localAlbumProvider = FutureProvider<List<LocalAlbum>>(
21-
(ref) => LocalAlbumService(ref.watch(localAlbumRepository)).getAll(),
21+
(ref) => LocalAlbumService(ref.watch(localAlbumRepository)).getAll(sortBy: {SortLocalAlbumsBy.newestAsset}),
2222
);
2323

2424
final localAlbumThumbnailProvider = FutureProvider.family<LocalAsset?, String>(

0 commit comments

Comments
 (0)