Make budgets work again
This commit is contained in:
@@ -80,7 +80,6 @@ class AccountBalanceGraphCard extends StatelessWidget {
|
||||
child: FutureBuilder(
|
||||
future: getAccountBalance(),
|
||||
builder: (context, snapshot) {
|
||||
print("SNAPSHOT: ${snapshot.data}");
|
||||
if (!snapshot.hasData) {
|
||||
return CircularProgressIndicator();
|
||||
}
|
||||
|
||||
@@ -9,11 +9,13 @@ import 'package:okane/ui/widgets/add_expense_category.dart';
|
||||
class AddBudgetItemPopup extends StatefulWidget {
|
||||
final VoidCallback onDone;
|
||||
final BudgetsDto budget;
|
||||
final List<BudgetItemDto> items;
|
||||
|
||||
const AddBudgetItemPopup({
|
||||
super.key,
|
||||
required this.onDone,
|
||||
required this.budget,
|
||||
required this.items,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -72,7 +74,7 @@ class AddBudgetItemState extends State<AddBudgetItemPopup> {
|
||||
_expenseCategory == null) {
|
||||
return;
|
||||
}
|
||||
if (widget.budget.budgetItems
|
||||
if (widget.items
|
||||
.where(
|
||||
(i) =>
|
||||
i.expenseCategory.name == _expenseCategory!.name,
|
||||
@@ -84,10 +86,11 @@ class AddBudgetItemState extends State<AddBudgetItemPopup> {
|
||||
|
||||
await GetIt.I.get<OkaneDatabase>().budgetsDao.upsertBudgetItem(
|
||||
BudgetItemsCompanion(
|
||||
expenseCategoryId: Value(_expenseCategory!.id),
|
||||
amount: Value(
|
||||
double.parse(_budgetItemAmountEditController.text),
|
||||
),
|
||||
expenseCategoryId: Value(_expenseCategory!.id),
|
||||
budgetId: Value(widget.budget.budget.id),
|
||||
),
|
||||
);
|
||||
widget.onDone();
|
||||
|
||||
@@ -22,6 +22,7 @@ class BudgetDetailsPage extends StatelessWidget {
|
||||
builder:
|
||||
(_) => AddBudgetItemPopup(
|
||||
budget: state.activeBudget!,
|
||||
items: state.budgetItems,
|
||||
onDone: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
@@ -55,7 +56,7 @@ class BudgetDetailsPage extends StatelessWidget {
|
||||
return Text(t.pages.budgets.details.noBudgetSelected);
|
||||
}
|
||||
|
||||
if (state.activeBudget!.budgetItems.isEmpty) {
|
||||
if (state.budgetItems.isEmpty) {
|
||||
return Row(
|
||||
children: [
|
||||
Text(t.pages.budgets.details.noBudgetItems),
|
||||
@@ -95,10 +96,9 @@ class BudgetDetailsPage extends StatelessWidget {
|
||||
),
|
||||
ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemCount: state.activeBudget!.budgetItems.length,
|
||||
itemCount: state.budgetItems.length,
|
||||
itemBuilder: (context, index) {
|
||||
final item = state.activeBudget!.budgetItems
|
||||
.elementAt(index);
|
||||
final item = state.budgetItems.elementAt(index);
|
||||
final amount = formatCurrency(item.item.amount);
|
||||
return ListTile(
|
||||
title: Text(
|
||||
@@ -120,7 +120,7 @@ class BudgetDetailsPage extends StatelessWidget {
|
||||
}
|
||||
|
||||
final categories =
|
||||
state.activeBudget!.budgetItems
|
||||
state.budgetItems
|
||||
// TODO
|
||||
//.map((i) => i.expenseCategory.value!.name)
|
||||
.map((i) => "lol")
|
||||
@@ -149,7 +149,7 @@ class BudgetDetailsPage extends StatelessWidget {
|
||||
spending.isEmpty
|
||||
? 0
|
||||
: spending.values.reduce((acc, val) => acc + val);
|
||||
final budgetTotal = state.activeBudget!.budgetItems
|
||||
final budgetTotal = state.budgetItems
|
||||
.map((i) => i.item.amount)
|
||||
.reduce((acc, val) => acc + val);
|
||||
return Column(
|
||||
@@ -271,7 +271,7 @@ class BudgetDetailsPage extends StatelessWidget {
|
||||
fallbackText: "",
|
||||
valueConverter: formatCurrency,
|
||||
items:
|
||||
state.activeBudget!.budgetItems
|
||||
state.budgetItems
|
||||
.map(
|
||||
(i) => (
|
||||
title: i.expenseCategory.name,
|
||||
@@ -342,10 +342,9 @@ class BudgetDetailsPage extends StatelessWidget {
|
||||
padding: EdgeInsets.all(8),
|
||||
child: ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemCount: state.activeBudget!.budgetItems.length,
|
||||
itemCount: state.budgetItems.length,
|
||||
itemBuilder: (context, index) {
|
||||
final item = state.activeBudget!.budgetItems
|
||||
.elementAt(index);
|
||||
final item = state.budgetItems.elementAt(index);
|
||||
final amount = formatCurrency(item.item.amount);
|
||||
final spent = spending[item.expenseCategory.name];
|
||||
final left =
|
||||
|
||||
Reference in New Issue
Block a user