mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-03 19:17:11 -05:00 
			
		
		
		
	* 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;
 | 
						|
  }
 | 
						|
}
 |