import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/services/trash.service.dart'; import 'package:immich_mobile/entities/asset.entity.dart'; import 'package:logging/logging.dart'; class TrashNotifier extends StateNotifier { final TrashService _trashService; final _log = Logger('TrashNotifier'); TrashNotifier( this._trashService, ) : super(false); Future emptyTrash() async { try { await _trashService.emptyTrash(); state = true; } catch (error, stack) { _log.severe("Cannot empty trash", error, stack); state = false; } } Future restoreAssets(Iterable assetList) async { try { await _trashService.restoreAssets(assetList); return true; } catch (error, stack) { _log.severe("Cannot restore assets", error, stack); return false; } } Future restoreTrash() async { try { await _trashService.restoreTrash(); state = true; } catch (error, stack) { _log.severe("Cannot restore trash", error, stack); state = false; } } } final trashProvider = StateNotifierProvider((ref) { return TrashNotifier( ref.watch(trashServiceProvider), ); });