Make the account screen a bit nicer

This commit is contained in:
PapaTutuWawa 2025-05-11 22:53:10 +02:00
parent e7e671f4cd
commit 1957c0711c
3 changed files with 24 additions and 38 deletions

View File

@ -169,17 +169,17 @@ class AccountListPageState extends State<AccountListPage> {
), ),
), ),
Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
child: TotalBalanceCard(),
),
Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
child: UpcomingTransactionsCard(),
),
Wrap( Wrap(
children: [ children: [
Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
child: TotalBalanceCard(),
),
Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
child: UpcomingTransactionsCard(),
),
Padding(padding: EdgeInsets.all(8), child: BreakdownCard()), Padding(padding: EdgeInsets.all(8), child: BreakdownCard()),
], ],
), ),

View File

@ -4,6 +4,7 @@ import 'package:okane/database/collections/account.dart';
import 'package:okane/database/database.dart'; import 'package:okane/database/database.dart';
import 'package:okane/ui/state/core.dart'; import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/utils.dart'; import 'package:okane/ui/utils.dart';
import 'package:okane/ui/widgets/piechart_card.dart';
class TotalBalanceCard extends StatelessWidget { class TotalBalanceCard extends StatelessWidget {
const TotalBalanceCard({super.key}); const TotalBalanceCard({super.key});
@ -22,26 +23,18 @@ class TotalBalanceCard extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BlocBuilder<CoreCubit, CoreState>( return BlocBuilder<CoreCubit, CoreState>(
builder: (context, state) { builder: (context, state) {
return Card( return ResponsiveCard(
titleText: "Total Balance",
child: Padding( child: Padding(
padding: EdgeInsets.all(16), padding: EdgeInsets.all(16),
child: Column( child: FutureBuilder(
mainAxisSize: MainAxisSize.min, future: _getTotalBalance(state.accounts),
children: [ builder: (context, snapshot) {
Text( return Text(
"Total balance", snapshot.hasData ? formatCurrency(snapshot.data!) : "...",
style: Theme.of(context).textTheme.titleLarge, style: Theme.of(context).textTheme.bodyLarge,
), );
FutureBuilder( },
future: _getTotalBalance(state.accounts),
builder: (context, snapshot) {
return Text(
snapshot.hasData ? formatCurrency(snapshot.data!) : "...",
style: Theme.of(context).textTheme.bodyLarge,
);
},
),
],
), ),
), ),
); );

View File

@ -7,6 +7,7 @@ import 'package:okane/database/database.dart';
import 'package:okane/ui/state/core.dart'; import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/utils.dart'; import 'package:okane/ui/utils.dart';
import 'package:okane/ui/widgets/add_transaction.dart'; import 'package:okane/ui/widgets/add_transaction.dart';
import 'package:okane/ui/widgets/piechart_card.dart';
class UpcomingTransactionsCard extends StatelessWidget { class UpcomingTransactionsCard extends StatelessWidget {
const UpcomingTransactionsCard({super.key}); const UpcomingTransactionsCard({super.key});
@ -72,19 +73,11 @@ class UpcomingTransactionsCard extends StatelessWidget {
), ),
) )
.toList(); .toList();
return Card( return ResponsiveCard(
titleText: "Upcoming Transactions",
child: Padding( child: Padding(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
child: Column( child: Column(children: transactions),
children:
<Widget>[
Text(
"Upcoming Transactions",
style: Theme.of(context).textTheme.titleLarge,
),
] +
transactions,
),
), ),
); );
}, },