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

View File

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