Commit 28195fe

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2023-10-01 16:18:01
remove _future workarounds
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent 150ac20
lib/components/export_item_order.dart
@@ -24,14 +24,10 @@ class ExportItemsCustomizer extends StatefulWidget {
 }
 
 class _ExportItemsCustomizerState extends State<ExportItemsCustomizer> {
-  // hack so that FutureBuilder doesn't always rebuild
-  Future<ExportConfigurationModel>? _future;
-
   @override
   Widget build(BuildContext context) {
-    _future ??= ExportConfigurationModel.get(Provider.of<Settings>(context, listen: false), AppLocalizations.of(context)!);
     return ConsistentFutureBuilder(
-      future: _future!,
+      future: ExportConfigurationModel.get(Provider.of<Settings>(context, listen: false), AppLocalizations.of(context)!),
       onData: (BuildContext context, ExportConfigurationModel result) {
         return _buildAddItemBadge(context, result,
           child: _buildManagePresetsBadge(context, result,
lib/components/legacy_measurement_list.dart
@@ -69,9 +69,8 @@ class LegacyMeasurementsList extends StatelessWidget {
         Expanded(
           child: Consumer<BloodPressureModel>(builder: (context, model, child) {
             return Consumer<Settings>(builder: (context, settings, child) {
-              final items = model.getInTimeRange(settings.displayDataStart, settings.displayDataEnd);
               return ConsistentFutureBuilder<UnmodifiableListView<BloodPressureRecord>>(
-                future: items,
+                future: model.getInTimeRange(settings.displayDataStart, settings.displayDataEnd),
                 onData: (context, data) {
                   if (data.isNotEmpty) {
                     return ListView.builder(
lib/screens/subsettings/export_import_screen.dart
@@ -178,27 +178,14 @@ class ExportImportScreen extends StatelessWidget {
   }
 }
 
-class ExportFieldCustomisationSetting extends StatefulWidget {
+class ExportFieldCustomisationSetting extends StatelessWidget {
   const ExportFieldCustomisationSetting({super.key});
 
-  @override
-  State<ExportFieldCustomisationSetting> createState() =>
-      _ExportFieldCustomisationSettingState();
-}
-
-class _ExportFieldCustomisationSettingState
-    extends State<ExportFieldCustomisationSetting> {
-  // hack so that FutureBuilder doesn't always rebuild
-  Future<ExportConfigurationModel>? _future;
-
   @override
   Widget build(BuildContext context) {
     final localizations = AppLocalizations.of(context)!;
-    _future ??= ExportConfigurationModel.get(
-        Provider.of<Settings>(context, listen: false), localizations);
-
     return ConsistentFutureBuilder(
-        future: _future!,
+        future: ExportConfigurationModel.get(Provider.of<Settings>(context, listen: false), localizations),
         onData: (context, configurationModel) {
           return Consumer<Settings>(builder: (context, settings, child) {
             /// whether or not the currently selected export format supports field customization
@@ -322,16 +309,13 @@ class ExportWarnBanner extends StatefulWidget {
 
 class _ExportWarnBannerState extends State<ExportWarnBanner> {
   bool _showWarnBanner = true;
-  late Future<ExportConfigurationModel> _future;
 
   @override
   Widget build(BuildContext context) {
     final localizations = AppLocalizations.of(context)!;
-    _future = ExportConfigurationModel.get(
-        Provider.of<Settings>(context, listen: false), localizations);
     return Consumer<Settings>(builder: (context, settings, child) {
       return ConsistentFutureBuilder(
-          future: _future,
+          future: ExportConfigurationModel.get(Provider.of<Settings>(context, listen: false), localizations),
           onData: (context, configurationModel) {
             String? message;
             final exportCustomEntries =
lib/screens/statistics.dart
@@ -10,7 +10,6 @@ import 'package:flutter/material.dart';
 import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 import 'package:provider/provider.dart';
 
-// TODO: rewrite to be smaller is possible
 class StatisticsPage extends StatelessWidget {
   const StatisticsPage({super.key});