28 lines
		
	
	
		
			689 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			689 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:flutter/material.dart';
 | |
| import 'package:hooks_riverpod/hooks_riverpod.dart';
 | |
| import 'package:island/pods/config.dart';
 | |
| 
 | |
| 
 | |
| typedef WidgetBuilder0 = Widget Function();
 | |
| 
 | |
| class DataSavingGate extends ConsumerWidget {
 | |
|   final bool bypass;
 | |
|   final WidgetBuilder0 content;
 | |
|   final Widget placeholder;
 | |
| 
 | |
|   const DataSavingGate({
 | |
|     super.key,
 | |
|     required this.bypass,
 | |
|     required this.content,
 | |
|     required this.placeholder,
 | |
|   });
 | |
| 
 | |
|   @override
 | |
|   Widget build(BuildContext context, WidgetRef ref) {
 | |
|     final dataSaving =
 | |
|         ref.watch(appSettingsNotifierProvider.select((s) => s.dataSavingMode));
 | |
|     if (bypass || !dataSaving) return content();
 | |
|     return placeholder;
 | |
|   }
 | |
| }
 |