Add the beneficiary page

This commit is contained in:
PapaTutuWawa 2025-05-11 17:52:53 +02:00
parent 384aa4eb6f
commit c38e76490a
4 changed files with 42 additions and 3 deletions

View File

@ -33,9 +33,15 @@ class MyApp extends StatelessWidget {
BlocProvider<CoreCubit>(create: (_) => GetIt.I.get<CoreCubit>()), BlocProvider<CoreCubit>(create: (_) => GetIt.I.get<CoreCubit>()),
], ],
child: MaterialApp( child: MaterialApp(
title: 'Flutter Demo', title: 'Okane',
theme: ThemeData( theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
pageTransitionsTheme: PageTransitionsTheme(
builders: Map.fromIterable(
TargetPlatform.values,
value: (_) => const FadeForwardsPageTransitionsBuilder(),
),
),
), ),
home: const MyHomePage(), home: const MyHomePage(),
onGenerateRoute: onGenerateRoute:

View File

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:okane/screen.dart'; import 'package:okane/screen.dart';
import 'package:okane/ui/pages/account/account.dart'; import 'package:okane/ui/pages/account/account.dart';
import 'package:okane/ui/pages/beneficiary_list.dart';
import 'package:okane/ui/pages/budgets/budget_details.dart'; import 'package:okane/ui/pages/budgets/budget_details.dart';
import 'package:okane/ui/pages/budgets/budgets.dart'; import 'package:okane/ui/pages/budgets/budgets.dart';
import 'package:okane/ui/pages/template_list.dart'; import 'package:okane/ui/pages/template_list.dart';
@ -75,7 +76,7 @@ final _pages = <OkanePageItem>[
OkanePage.beneficiaries, OkanePage.beneficiaries,
Icons.person, Icons.person,
"Beneficiaries", "Beneficiaries",
Container(), BeneficiaryListPage(),
null, null,
true, true,
), ),

View File

@ -0,0 +1,33 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/widgets/image_wrapper.dart';
class BeneficiaryListPage extends StatelessWidget {
const BeneficiaryListPage({super.key});
@override
Widget build(BuildContext context) {
return BlocBuilder<CoreCubit, CoreState>(
builder: (context, state) {
return Stack(
children: [
ListView.builder(
itemCount: state.beneficiaries.length,
itemBuilder: (context, index) {
final item = state.beneficiaries[index];
return ListTile(
leading: ImageWrapper(
title: item.name,
path: item.imagePath,
),
title: Text(item.name),
);
},
),
],
);
},
);
}
}

View File

@ -1,7 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:get_it/get_it.dart'; import 'package:get_it/get_it.dart';
import 'package:grouped_list/grouped_list.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';