mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 02:27:08 -04:00 
			
		
		
		
	* chore: add unawaited_futures lint as warning # Conflicts: # mobile/analysis_options.yaml * remove unused dcm lints They will be added back later on a case by case basis * fix warning # Conflicts: # mobile/lib/presentation/pages/drift_remote_album.page.dart * auto gen file * review changes * conflict resolution --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
		
			
				
	
	
		
			28 lines
		
	
	
		
			896 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			896 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'dart:async';
 | |
| 
 | |
| import 'package:hooks_riverpod/hooks_riverpod.dart';
 | |
| import 'package:immich_mobile/models/shared_link/shared_link.model.dart';
 | |
| import 'package:immich_mobile/services/shared_link.service.dart';
 | |
| 
 | |
| class SharedLinksNotifier extends StateNotifier<AsyncValue<List<SharedLink>>> {
 | |
|   final SharedLinkService _sharedLinkService;
 | |
| 
 | |
|   SharedLinksNotifier(this._sharedLinkService) : super(const AsyncLoading()) {
 | |
|     fetchLinks();
 | |
|   }
 | |
| 
 | |
|   Future<void> fetchLinks() async {
 | |
|     state = await _sharedLinkService.getAllSharedLinks();
 | |
|   }
 | |
| 
 | |
|   Future<void> deleteLink(String id) async {
 | |
|     await _sharedLinkService.deleteSharedLink(id);
 | |
|     state = const AsyncLoading();
 | |
|     unawaited(fetchLinks());
 | |
|   }
 | |
| }
 | |
| 
 | |
| final sharedLinksStateProvider = StateNotifierProvider<SharedLinksNotifier, AsyncValue<List<SharedLink>>>((ref) {
 | |
|   return SharedLinksNotifier(ref.watch(sharedLinkServiceProvider));
 | |
| });
 |