@@ -6,6 +6,7 @@ import 'package:kitchenowl/models/expense_category.dart';
6
6
import 'package:kitchenowl/models/household.dart' ;
7
7
import 'package:kitchenowl/services/transaction_handler.dart' ;
8
8
import 'package:kitchenowl/services/transactions/expense.dart' ;
9
+ import 'package:kitchenowl/services/transactions/household.dart' ;
9
10
10
11
class ExpenseMonthListCubit extends Cubit <ExpenseListCubitState > {
11
12
final Household household;
@@ -16,7 +17,7 @@ class ExpenseMonthListCubit extends Cubit<ExpenseListCubitState> {
16
17
17
18
ExpenseMonthListCubit (this .household, this .filter, this .sorting,
18
19
this .startAfter, this .endBefore)
19
- : super (const LoadingExpenseListCubitState ()) {
20
+ : super (LoadingExpenseListCubitState (household )) {
20
21
refresh ();
21
22
}
22
23
@@ -38,34 +39,44 @@ class ExpenseMonthListCubit extends Cubit<ExpenseListCubitState> {
38
39
Future <void > refresh () async {
39
40
final expenses = TransactionHandler .getInstance ()
40
41
.runTransaction (TransactionExpenseGetAll (
41
- household: household,
42
+ household: this . household,
42
43
sorting: sorting,
43
44
filter: filter,
44
45
startAfter: startAfter,
45
46
endBefore: endBefore,
46
47
));
47
48
49
+ final household = TransactionHandler .getInstance ().runTransaction (
50
+ TransactionHouseholdGet (household: this .household),
51
+ forceOffline: true ,
52
+ );
53
+
48
54
emit (ExpenseListCubitState (
55
+ household: (await household) ?? this .household,
49
56
expenses: await expenses,
50
57
allLoaded: (await expenses).length < 30 ,
51
58
));
52
59
}
53
60
}
54
61
55
62
class ExpenseListCubitState extends Equatable {
63
+ final Household household;
56
64
final List <Expense > expenses;
57
65
final bool allLoaded;
58
66
59
67
const ExpenseListCubitState ({
68
+ required this .household,
60
69
this .expenses = const [],
61
70
this .allLoaded = false ,
62
71
});
63
72
64
73
ExpenseListCubitState copyWith ({
74
+ Household ? household,
65
75
List <Expense >? expenses,
66
76
bool ? allLoaded,
67
77
}) =>
68
78
ExpenseListCubitState (
79
+ household: household ?? this .household,
69
80
expenses: expenses ?? this .expenses,
70
81
allLoaded: allLoaded ?? this .allLoaded,
71
82
);
@@ -75,12 +86,14 @@ class ExpenseListCubitState extends Equatable {
75
86
}
76
87
77
88
class LoadingExpenseListCubitState extends ExpenseListCubitState {
78
- const LoadingExpenseListCubitState () : super (allLoaded: true );
89
+ const LoadingExpenseListCubitState (Household household)
90
+ : super (household: household, allLoaded: true );
79
91
80
92
@override
81
93
ExpenseListCubitState copyWith ({
94
+ Household ? household,
82
95
List <Expense >? expenses,
83
96
bool ? allLoaded,
84
97
}) =>
85
- const LoadingExpenseListCubitState ();
98
+ LoadingExpenseListCubitState ((household ?? this .household) );
86
99
}
0 commit comments