feat(mobile): unify partner assets on timeline (#4974)

* feat(mobile): unify partner assets on timeline

* skip non-owned assets in bulk actions

* add message when trying to delete partner assets
This commit is contained in:
Fynn Petersen-Frey 2023-11-13 16:54:41 +01:00 committed by GitHub
parent 0c482960ce
commit 9fa9ad05b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 274 additions and 138 deletions

View file

@ -5,6 +5,7 @@ import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:immich_mobile/shared/providers/user.provider.dart';
import 'package:immich_mobile/shared/services/sync.service.dart';
import 'package:immich_mobile/utils/renderlist_generator.dart';
import 'package:isar/isar.dart';
import 'package:logging/logging.dart';
@ -107,9 +108,9 @@ final trashProvider = StateNotifierProvider<TrashNotifier, bool>((ref) {
);
});
final trashedAssetsProvider = StreamProvider<RenderList>((ref) async* {
final trashedAssetsProvider = StreamProvider<RenderList>((ref) {
final user = ref.read(currentUserProvider);
if (user == null) return;
if (user == null) return const Stream.empty();
final query = ref
.watch(dbProvider)
.assets
@ -117,9 +118,5 @@ final trashedAssetsProvider = StreamProvider<RenderList>((ref) async* {
.ownerIdEqualTo(user.isarId)
.isTrashedEqualTo(true)
.sortByFileCreatedAt();
const groupBy = GroupAssetsBy.none;
yield await RenderList.fromQuery(query, groupBy);
await for (final _ in query.watchLazy()) {
yield await RenderList.fromQuery(query, groupBy);
}
return renderListGeneratorWithGroupBy(query, GroupAssetsBy.none);
});