Sfoglia il codice sorgente

added placeholder for delete image

Alex Tran 3 anni fa
parent
commit
a9f3be680a

+ 11 - 0
mobile/lib/modules/home/providers/asset.provider.dart

@@ -2,11 +2,13 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
 import 'package:immich_mobile/modules/home/models/get_all_asset_respose.model.dart';
 import 'package:immich_mobile/modules/home/services/asset.service.dart';
 import 'package:immich_mobile/shared/models/immich_asset.model.dart';
+import 'package:immich_mobile/shared/services/device_info.service.dart';
 import 'package:intl/intl.dart';
 import 'package:collection/collection.dart';
 
 class AssetNotifier extends StateNotifier<List<ImmichAssetGroupByDate>> {
   final AssetService _assetService = AssetService();
+  final DeviceInfoService _deviceInfoService = DeviceInfoService();
 
   AssetNotifier() : super([]);
 
@@ -90,6 +92,15 @@ class AssetNotifier extends StateNotifier<List<ImmichAssetGroupByDate>> {
   clearAllAsset() {
     state = [];
   }
+
+  deleteAssets(Set<ImmichAsset> deleteAssets) async {
+    var deviceInfo = await _deviceInfoService.getDeviceInfo();
+    var deviceId = deviceInfo["deviceId"];
+
+    // Delete asset on server
+
+    // Delete asset from device
+  }
 }
 
 final currentLocalPageProvider = StateProvider<int>((ref) => 0);

+ 4 - 0
mobile/lib/modules/home/services/asset.service.dart

@@ -75,4 +75,8 @@ class AssetService {
       return null;
     }
   }
+
+  deleteAssets(Set<ImmichAsset> deleteAssets) async {
+    return null;
+  }
 }

+ 11 - 3
mobile/lib/modules/home/ui/delete_diaglog.dart

@@ -1,10 +1,15 @@
 import 'package:flutter/material.dart';
+import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/modules/home/providers/asset.provider.dart';
+import 'package:immich_mobile/modules/home/providers/home_page_state.provider.dart';
 
-class DeleteDialog extends StatelessWidget {
+class DeleteDialog extends ConsumerWidget {
   const DeleteDialog({Key? key}) : super(key: key);
 
   @override
-  Widget build(BuildContext context) {
+  Widget build(BuildContext context, WidgetRef ref) {
+    final homePageState = ref.watch(homePageStateProvider);
+
     return AlertDialog(
       backgroundColor: Colors.grey[200],
       shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
@@ -21,7 +26,10 @@ class DeleteDialog extends StatelessWidget {
           ),
         ),
         TextButton(
-          onPressed: () {},
+          onPressed: () {
+            // onConfirmed();
+            ref.watch(assetProvider.notifier).deleteAssets(homePageState.selectedItems);
+          },
           child: Text(
             "Delete",
             style: TextStyle(color: Colors.red[400]),