2025-07-18 10:01:04 +05:30
|
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
|
|
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
|
|
|
|
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart';
|
|
|
|
|
|
|
|
|
|
class StackChildrenNotifier
|
|
|
|
|
extends AutoDisposeFamilyAsyncNotifier<List<RemoteAsset>, BaseAsset?> {
|
|
|
|
|
@override
|
|
|
|
|
Future<List<RemoteAsset>> build(BaseAsset? asset) async {
|
2025-07-23 19:43:15 +05:30
|
|
|
if (asset == null || asset is! RemoteAsset || asset.stackId == null) {
|
2025-07-18 10:01:04 +05:30
|
|
|
return const [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ref.watch(assetServiceProvider).getStack(asset);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
final stackChildrenNotifier = AsyncNotifierProvider.autoDispose
|
|
|
|
|
.family<StackChildrenNotifier, List<RemoteAsset>, BaseAsset?>(
|
|
|
|
|
StackChildrenNotifier.new,
|
|
|
|
|
);
|