Skip to content

Commit a1a3f5d

Browse files
committed
fix: Expense month list missing paid by name
1 parent 39f11f6 commit a1a3f5d

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

kitchenowl/lib/cubits/expense_month_list_cubit.dart

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:kitchenowl/models/expense_category.dart';
66
import 'package:kitchenowl/models/household.dart';
77
import 'package:kitchenowl/services/transaction_handler.dart';
88
import 'package:kitchenowl/services/transactions/expense.dart';
9+
import 'package:kitchenowl/services/transactions/household.dart';
910

1011
class ExpenseMonthListCubit extends Cubit<ExpenseListCubitState> {
1112
final Household household;
@@ -16,7 +17,7 @@ class ExpenseMonthListCubit extends Cubit<ExpenseListCubitState> {
1617

1718
ExpenseMonthListCubit(this.household, this.filter, this.sorting,
1819
this.startAfter, this.endBefore)
19-
: super(const LoadingExpenseListCubitState()) {
20+
: super(LoadingExpenseListCubitState(household)) {
2021
refresh();
2122
}
2223

@@ -38,34 +39,44 @@ class ExpenseMonthListCubit extends Cubit<ExpenseListCubitState> {
3839
Future<void> refresh() async {
3940
final expenses = TransactionHandler.getInstance()
4041
.runTransaction(TransactionExpenseGetAll(
41-
household: household,
42+
household: this.household,
4243
sorting: sorting,
4344
filter: filter,
4445
startAfter: startAfter,
4546
endBefore: endBefore,
4647
));
4748

49+
final household = TransactionHandler.getInstance().runTransaction(
50+
TransactionHouseholdGet(household: this.household),
51+
forceOffline: true,
52+
);
53+
4854
emit(ExpenseListCubitState(
55+
household: (await household) ?? this.household,
4956
expenses: await expenses,
5057
allLoaded: (await expenses).length < 30,
5158
));
5259
}
5360
}
5461

5562
class ExpenseListCubitState extends Equatable {
63+
final Household household;
5664
final List<Expense> expenses;
5765
final bool allLoaded;
5866

5967
const ExpenseListCubitState({
68+
required this.household,
6069
this.expenses = const [],
6170
this.allLoaded = false,
6271
});
6372

6473
ExpenseListCubitState copyWith({
74+
Household? household,
6575
List<Expense>? expenses,
6676
bool? allLoaded,
6777
}) =>
6878
ExpenseListCubitState(
79+
household: household ?? this.household,
6980
expenses: expenses ?? this.expenses,
7081
allLoaded: allLoaded ?? this.allLoaded,
7182
);
@@ -75,12 +86,14 @@ class ExpenseListCubitState extends Equatable {
7586
}
7687

7788
class LoadingExpenseListCubitState extends ExpenseListCubitState {
78-
const LoadingExpenseListCubitState() : super(allLoaded: true);
89+
const LoadingExpenseListCubitState(Household household)
90+
: super(household: household, allLoaded: true);
7991

8092
@override
8193
ExpenseListCubitState copyWith({
94+
Household? household,
8295
List<Expense>? expenses,
8396
bool? allLoaded,
8497
}) =>
85-
const LoadingExpenseListCubitState();
98+
LoadingExpenseListCubitState((household ?? this.household));
8699
}

kitchenowl/lib/pages/expense_month_list_page.dart

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,13 @@ class _ExpenseMonthListPageState extends State<ExpenseMonthListPage> {
5656
@override
5757
Widget build(BuildContext context) {
5858
return Scaffold(
59-
appBar: AppBar(),
6059
body: BlocBuilder<ExpenseMonthListCubit, ExpenseListCubitState>(
6160
bloc: cubit,
6261
builder: (context, state) => CustomScrollView(
6362
slivers: [
63+
SliverAppBar(
64+
pinned: true,
65+
),
6466
if (state.expenses.isNotEmpty)
6567
SliverCrossAxisConstrained(
6668
maxCrossAxisExtent: 1600,
@@ -71,7 +73,7 @@ class _ExpenseMonthListPageState extends State<ExpenseMonthListPage> {
7173
key: ValueKey(state.expenses[i].id),
7274
sizeFactor: animation,
7375
child: ExpenseItemWidget(
74-
household: widget.household,
76+
household: state.household,
7577
expense: state.expenses[i],
7678
onUpdated: cubit.refresh,
7779
displayPersonalAmount:
@@ -83,7 +85,7 @@ class _ExpenseMonthListPageState extends State<ExpenseMonthListPage> {
8385
key: ValueKey(expense.id),
8486
sizeFactor: animation,
8587
child: ExpenseItemWidget(
86-
household: widget.household,
88+
household: state.household,
8789
expense: expense,
8890
onUpdated: cubit.refresh,
8991
displayPersonalAmount:

0 commit comments

Comments
 (0)