mirror of
https://github.com/immich-app/immich.git
synced 2026-07-01 10:35:13 -07:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7130553634 |
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||
import 'package:immich_mobile/domain/models/user.model.dart';
|
||||
import 'package:immich_mobile/utils/asset_filter.dart';
|
||||
|
||||
class ActionScope {
|
||||
final BuildContext context;
|
||||
@@ -28,5 +29,5 @@ abstract class AssetAction<T extends BaseAsset> extends BaseAction {
|
||||
|
||||
const AssetAction({required this.assets});
|
||||
|
||||
Iterable<T> filter(ActionScope scope) => assets.whereType<T>();
|
||||
AssetFilter<T> filter(ActionScope scope) => .new(assets.whereType<T>());
|
||||
}
|
||||
|
||||
@@ -20,14 +20,8 @@ class ArchiveAction extends AssetAction<RemoteAsset> {
|
||||
String label(ActionScope scope) => archive ? scope.context.t.archive : scope.context.t.unarchive;
|
||||
|
||||
@override
|
||||
Iterable<RemoteAsset> filter(ActionScope scope) {
|
||||
final owned = AssetFilter(assets).owned(scope.authUser.id);
|
||||
if (archive) {
|
||||
return owned.visibility(.timeline);
|
||||
} else {
|
||||
return owned.visibility(.archive);
|
||||
}
|
||||
}
|
||||
AssetFilter<RemoteAsset> filter(ActionScope scope) =>
|
||||
.new(assets).owned(scope.authUser.id).archived(isArchived: !archive);
|
||||
|
||||
@override
|
||||
bool isVisible(ActionScope scope) => !scope.ref.watch(inLockedViewProvider) && filter(scope).isNotEmpty;
|
||||
|
||||
@@ -18,8 +18,8 @@ class FavoriteAction extends AssetAction<RemoteAsset> {
|
||||
String label(ActionScope scope) => favorite ? scope.context.t.favorite : scope.context.t.unfavorite;
|
||||
|
||||
@override
|
||||
Iterable<RemoteAsset> filter(ActionScope scope) =>
|
||||
AssetFilter(assets).owned(scope.authUser.id).favorite(isFavorite: !favorite);
|
||||
AssetFilter<RemoteAsset> filter(ActionScope scope) =>
|
||||
.new(assets).owned(scope.authUser.id).favorite(isFavorite: !favorite);
|
||||
|
||||
@override
|
||||
bool isVisible(ActionScope scope) => filter(scope).isNotEmpty;
|
||||
|
||||
@@ -16,7 +16,7 @@ class RestoreAction extends AssetAction<RemoteAsset> {
|
||||
String label(ActionScope scope) => scope.context.t.restore;
|
||||
|
||||
@override
|
||||
Iterable<RemoteAsset> filter(ActionScope scope) => AssetFilter(assets).owned(scope.authUser.id).trashed();
|
||||
AssetFilter<RemoteAsset> filter(ActionScope scope) => .new(assets).owned(scope.authUser.id).trashed();
|
||||
|
||||
@override
|
||||
bool isVisible(ActionScope scope) => filter(scope).isNotEmpty;
|
||||
|
||||
@@ -18,7 +18,7 @@ class StackAction extends AssetAction<RemoteAsset> {
|
||||
String label(ActionScope scope) => stack ? scope.context.t.stack : scope.context.t.unstack;
|
||||
|
||||
@override
|
||||
Iterable<RemoteAsset> filter(ActionScope scope) => AssetFilter(assets).owned(scope.authUser.id);
|
||||
AssetFilter<RemoteAsset> filter(ActionScope scope) => .new(assets).owned(scope.authUser.id);
|
||||
|
||||
@override
|
||||
bool isVisible(ActionScope scope) => stack ? filter(scope).length > 1 : filter(scope).isNotEmpty;
|
||||
|
||||
Reference in New Issue
Block a user