1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-04 02:46:47 +01:00

feat(mobile) delete button in detail viewer (#1165)

This commit is contained in:
Alex 2022-12-22 14:10:21 -06:00 committed by GitHub
parent f25809befb
commit 2459eabb05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 1 deletions

View file

@ -10,6 +10,7 @@ class TopControlAppBar extends HookConsumerWidget with PreferredSizeWidget {
required this.onMoreInfoPressed,
required this.onDownloadPressed,
required this.onSharePressed,
required this.onDeletePressed,
required this.onToggleMotionVideo,
required this.isPlayingMotionVideo,
}) : super(key: key);
@ -18,6 +19,7 @@ class TopControlAppBar extends HookConsumerWidget with PreferredSizeWidget {
final Function onMoreInfoPressed;
final VoidCallback? onDownloadPressed;
final VoidCallback onToggleMotionVideo;
final VoidCallback onDeletePressed;
final Function onSharePressed;
final bool isPlayingMotionVideo;
@ -74,7 +76,18 @@ class TopControlAppBar extends HookConsumerWidget with PreferredSizeWidget {
onSharePressed();
},
icon: Icon(
Icons.share,
Icons.ios_share_rounded,
color: Colors.grey[200],
),
),
IconButton(
iconSize: iconSize,
splashRadius: iconSize,
onPressed: () {
onDeletePressed();
},
icon: Icon(
Icons.delete_outline_rounded,
color: Colors.grey[200],
),
),

View file

@ -11,9 +11,11 @@ import 'package:immich_mobile/modules/asset_viewer/ui/top_control_app_bar.dart';
import 'package:immich_mobile/modules/asset_viewer/views/image_viewer_page.dart';
import 'package:immich_mobile/modules/asset_viewer/views/video_viewer_page.dart';
import 'package:immich_mobile/modules/home/services/asset.service.dart';
import 'package:immich_mobile/modules/home/ui/delete_diaglog.dart';
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/providers/asset.provider.dart';
// ignore: must_be_immutable
class GalleryViewerPage extends HookConsumerWidget {
@ -86,6 +88,20 @@ class GalleryViewerPage extends HookConsumerWidget {
}
}
void handleDelete(Asset deleteAsset) {
showDialog(
context: context,
builder: (BuildContext _) {
return DeleteDialog(
onDelete: () {
ref.watch(assetProvider.notifier).deleteAssets({deleteAsset});
AutoRouter.of(context).pop(null);
},
);
},
);
}
return Scaffold(
backgroundColor: Colors.black,
appBar: TopControlAppBar(
@ -110,6 +126,7 @@ class GalleryViewerPage extends HookConsumerWidget {
onToggleMotionVideo: (() {
isPlayingMotionVideo.value = !isPlayingMotionVideo.value;
}),
onDeletePressed: () => handleDelete((assetList[indexOfAsset.value])),
),
body: SafeArea(
child: PageView.builder(