fix(mobile): restore button in asset viewer (#8919)

* fix:(mobile): spell error in top_control_app_bar.dart in function buildAddToAlbumButtom

* fix(mobile): add restore button to individual image view of trashed assets

* formatting
This commit is contained in:
Conner Hnatiuk
2024-04-26 00:01:03 -06:00
committed by GitHub
parent 59537f8f1b
commit 3e03f5348f
4 changed files with 70 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/album/providers/current_album.provider.dart';
import 'package:immich_mobile/modules/album/ui/add_to_album_bottom_sheet.dart';
@@ -7,12 +8,14 @@ import 'package:immich_mobile/modules/asset_viewer/providers/image_viewer_page_s
import 'package:immich_mobile/modules/asset_viewer/providers/show_controls.provider.dart';
import 'package:immich_mobile/modules/asset_viewer/ui/top_control_app_bar.dart';
import 'package:immich_mobile/modules/backup/providers/manual_upload.provider.dart';
import 'package:immich_mobile/modules/trash/providers/trashed_asset.provider.dart';
import 'package:immich_mobile/modules/home/ui/upload_dialog.dart';
import 'package:immich_mobile/modules/partner/providers/partner.provider.dart';
import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/providers/asset.provider.dart';
import 'package:immich_mobile/shared/providers/user.provider.dart';
import 'package:immich_mobile/shared/ui/immich_toast.dart';
class GalleryAppBar extends ConsumerWidget {
final Asset asset;
@@ -47,6 +50,18 @@ class GalleryAppBar extends ConsumerWidget {
}
}
handleRestore(Asset asset) async {
final result = await ref.read(trashProvider.notifier).restoreAsset(asset);
if (result && context.mounted) {
ImmichToast.show(
context: context,
msg: 'asset restored successfully',
gravity: ToastGravity.BOTTOM,
);
}
}
handleUpload(Asset asset) {
showDialog(
context: context,
@@ -91,6 +106,7 @@ class GalleryAppBar extends ConsumerWidget {
asset: asset,
onMoreInfoPressed: showInfo,
onFavorite: toggleFavorite,
onRestorePressed: () => handleRestore(asset),
onUploadPressed: asset.isLocal ? () => handleUpload(asset) : null,
onDownloadPressed: asset.isLocal
? null