Compare commits

..

2 Commits

2 changed files with 18 additions and 8 deletions

View File

@ -39,6 +39,7 @@ class _HomePageState extends State<HomePage> {
notifyParent: refresh,
type: ItemType.expense,
);
break;
case 1:
page = TrackedItemPage(
assetsToLoad: DatabaseHelper.instance.getIncomes(),
@ -47,6 +48,7 @@ class _HomePageState extends State<HomePage> {
notifyParent: refresh,
type: ItemType.income,
);
break;
case 2:
page = TrackedItemPage(
assetsToLoad: DatabaseHelper.instance.getAssets(),
@ -55,12 +57,16 @@ class _HomePageState extends State<HomePage> {
notifyParent: refresh,
type: ItemType.asset,
);
break;
case 3:
page = ProjectionPage();
break;
case 4:
page = SettingsPage();
break;
case 5:
page = HelpPage();
break;
default:
throw UnimplementedError('No widget for page $pageSelected yet!');
}

View File

@ -10,8 +10,6 @@ import '/models/expense.dart';
import '/models/frequency.dart';
import '/db.dart';
// TODO: Make this a generic UI based on a superclass of Expense, Income, and Assets.
class TrackedItemPage extends StatefulWidget {
final Future<List<TrackedItem>> assetsToLoad;
@ -144,13 +142,19 @@ class _TrackedItemPageState extends State<TrackedItemPage> {
snapshot.data!.remove(curr);
switch (direction) {
case DismissDirection.startToEnd:
// Remove the item from the database.
if (curr is Expense) {
DatabaseHelper.instance
.removeExpense(curr.id!);
DatabaseHelper.instance.removeExpense(
curr.id!,
);
} else if (curr is Income) {
// TODO
DatabaseHelper.instance.removeIncome(
curr.id!,
);
} else if (curr is Asset) {
// TODO
DatabaseHelper.instance.removeAsset(
curr.id!,
);
} else {
throw UnimplementedError(
"Cannot remove unimplemented item type.");
@ -304,10 +308,10 @@ class _TrackedItemInputDialogState extends State<TrackedItemInputDialog> {
DatabaseHelper.instance.addExpense(widget.entry!);
break;
case ItemType.income:
// TODO
DatabaseHelper.instance.addIncome(widget.entry!);
break;
case ItemType.asset:
// TODO
DatabaseHelper.instance.addAsset(widget.entry!);
break;
default:
throw UnimplementedError(