forked from Cutlery/immich
		
	* optimize android side gradle settings * android minsdk back to 21 * remove unused package, update linter and fix lint error * clean code of 'shared module' with offical dart style guide * restore uploadProfileImage method in UserService
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:flutter/material.dart';
 | |
| import 'package:immich_mobile/shared/ui/immich_loading_indicator.dart';
 | |
| 
 | |
| class ImmichLoadingOverlay extends StatelessWidget {
 | |
|   const ImmichLoadingOverlay({
 | |
|     Key? key,
 | |
|   }) : super(key: key);
 | |
| 
 | |
|   @override
 | |
|   Widget build(BuildContext context) {
 | |
|     return ValueListenableBuilder<bool>(
 | |
|       valueListenable:
 | |
|           ImmichLoadingOverlayController.appLoader.loaderShowingNotifier,
 | |
|       builder: (context, shouldShow, child) {
 | |
|         return shouldShow
 | |
|             ? const Scaffold(
 | |
|                 backgroundColor: Colors.black54,
 | |
|                 body: Center(
 | |
|                   child: ImmichLoadingIndicator(),
 | |
|                 ),
 | |
|               )
 | |
|             : const SizedBox();
 | |
|       },
 | |
|     );
 | |
|   }
 | |
| }
 | |
| 
 | |
| class ImmichLoadingOverlayController {
 | |
|   static final ImmichLoadingOverlayController appLoader =
 | |
|       ImmichLoadingOverlayController();
 | |
|   ValueNotifier<bool> loaderShowingNotifier = ValueNotifier(false);
 | |
|   ValueNotifier<String> loaderTextNotifier = ValueNotifier('error message');
 | |
| 
 | |
|   void show() {
 | |
|     loaderShowingNotifier.value = true;
 | |
|   }
 | |
| 
 | |
|   void hide() {
 | |
|     loaderShowingNotifier.value = false;
 | |
|   }
 | |
| }
 |