Add a loan feature
This commit is contained in:
@@ -6,6 +6,7 @@ import 'package:okane/database/collections/beneficiary.dart';
|
||||
import 'package:okane/database/database.dart';
|
||||
import 'package:okane/ui/pages/account/breakdown_card.dart';
|
||||
import 'package:okane/ui/pages/account/delete_account.dart';
|
||||
import 'package:okane/ui/pages/account/loan_card.dart';
|
||||
import 'package:okane/ui/pages/account/total_balance_card.dart';
|
||||
import 'package:okane/ui/pages/account/upcoming_transactions_card.dart';
|
||||
import 'package:okane/ui/state/core.dart';
|
||||
@@ -184,7 +185,10 @@ class AccountListPageState extends State<AccountListPage> {
|
||||
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
|
||||
child: UpcomingTransactionsCard(),
|
||||
),
|
||||
|
||||
Padding(padding: EdgeInsets.all(8), child: BreakdownCard()),
|
||||
|
||||
Padding(padding: EdgeInsets.all(8), child: TotalLoanCard()),
|
||||
],
|
||||
),
|
||||
],
|
||||
|
||||
36
lib/ui/pages/account/loan_card.dart
Normal file
36
lib/ui/pages/account/loan_card.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:okane/database/database.dart';
|
||||
import 'package:okane/i18n/strings.g.dart';
|
||||
import 'package:okane/ui/state/core.dart';
|
||||
import 'package:okane/ui/utils.dart';
|
||||
import 'package:okane/ui/widgets/piechart_card.dart';
|
||||
|
||||
class TotalLoanCard extends StatelessWidget {
|
||||
const TotalLoanCard({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<CoreCubit, CoreState>(
|
||||
builder: (context, state) {
|
||||
return ResponsiveCard(
|
||||
titleText: "Loan Sum",
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(16),
|
||||
child: FutureBuilder(
|
||||
future: getTotalLoanSum(),
|
||||
builder: (context, snapshot) {
|
||||
return Text(
|
||||
snapshot.hasData
|
||||
? formatCurrency(snapshot.data!)
|
||||
: t.pages.accounts.totalBalance.loading,
|
||||
style: Theme.of(context).textTheme.bodyLarge,
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -16,8 +16,9 @@ class TotalBalanceCard extends StatelessWidget {
|
||||
}
|
||||
|
||||
final results = await Future.wait(accounts.map(getTotalBalance).toList());
|
||||
final loanSum = await getTotalLoanSum();
|
||||
|
||||
return results.reduce((acc, val) => acc + val);
|
||||
return results.reduce((acc, val) => acc + val) + loanSum;
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user