Refactor slightly edit_plan

This commit is contained in:
Brandon Presley 2023-11-30 13:01:42 +13:00
parent 19f9dd9b3b
commit fbffc0cf4a
1 changed files with 8 additions and 7 deletions

View File

@ -3,6 +3,7 @@ import 'package:flutter/material.dart' as material;
import 'package:fmassive/constants.dart'; import 'package:fmassive/constants.dart';
import 'package:fmassive/database.dart'; import 'package:fmassive/database.dart';
import 'package:fmassive/main.dart'; import 'package:fmassive/main.dart';
import 'package:fmassive/start_plan.dart';
import 'package:moor_flutter/moor_flutter.dart'; import 'package:moor_flutter/moor_flutter.dart';
class EditPlanPage extends StatefulWidget { class EditPlanPage extends StatefulWidget {
@ -15,7 +16,6 @@ class EditPlanPage extends StatefulWidget {
} }
class _EditPlanPageState extends State<EditPlanPage> { class _EditPlanPageState extends State<EditPlanPage> {
late PlansCompanion plan;
List<String?> names = []; List<String?> names = [];
List<bool>? daySelections; List<bool>? daySelections;
List<bool>? exerciseSelections; List<bool>? exerciseSelections;
@ -41,8 +41,6 @@ class _EditPlanPageState extends State<EditPlanPage> {
names.map((name) => exercises.contains(name)).toList(); names.map((name) => exercises.contains(name)).toList();
}); });
}); });
plan = widget.plan;
} }
@override @override
@ -113,14 +111,17 @@ class _EditPlanPageState extends State<EditPlanPage> {
if (exerciseSelections![i]) exercises.add(names[i]); if (exerciseSelections![i]) exercises.add(names[i]);
} }
final newPlan = plan.copyWith( var newPlan = widget.plan.copyWith(
days: Value(days.join(',')), days: Value(days.join(',')),
exercises: Value(exercises.join(','))); exercises: Value(exercises.join(',')));
if (plan.id.present) if (widget.plan.id.present)
await db.update(db.plans).replace(newPlan); await db.update(db.plans).replace(newPlan);
else else {
await db.into(db.plans).insert(newPlan); final id = await db.into(db.plans).insert(newPlan);
newPlan = newPlan.copyWith(id: Value(id));
}
if (!mounted) return; if (!mounted) return;
Navigator.pop(context); Navigator.pop(context);
}, },