fixup! data-saving: implement gate with bypass
This commit is contained in:
27
lib/widgets/data_saving_gate.dart
Normal file
27
lib/widgets/data_saving_gate.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user