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;
|
|
}
|
|
}
|