diff --git a/lib/main.dart b/lib/main.dart index c05291f..8e3ecb8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -33,9 +33,15 @@ class MyApp extends StatelessWidget { BlocProvider(create: (_) => GetIt.I.get()), ], child: MaterialApp( - title: 'Flutter Demo', + title: 'Okane', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + pageTransitionsTheme: PageTransitionsTheme( + builders: Map.fromIterable( + TargetPlatform.values, + value: (_) => const FadeForwardsPageTransitionsBuilder(), + ), + ), ), home: const MyHomePage(), onGenerateRoute: diff --git a/lib/ui/navigation.dart b/lib/ui/navigation.dart index 6d5f2b9..ad44c8b 100644 --- a/lib/ui/navigation.dart +++ b/lib/ui/navigation.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:okane/screen.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/budgets.dart'; import 'package:okane/ui/pages/template_list.dart'; @@ -75,7 +76,7 @@ final _pages = [ OkanePage.beneficiaries, Icons.person, "Beneficiaries", - Container(), + BeneficiaryListPage(), null, true, ), diff --git a/lib/ui/pages/beneficiary_list.dart b/lib/ui/pages/beneficiary_list.dart new file mode 100644 index 0000000..ad99c77 --- /dev/null +++ b/lib/ui/pages/beneficiary_list.dart @@ -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( + 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), + ); + }, + ), + ], + ); + }, + ); + } +} diff --git a/lib/ui/pages/template_list.dart b/lib/ui/pages/template_list.dart index 1cd7a42..3b52c2a 100644 --- a/lib/ui/pages/template_list.dart +++ b/lib/ui/pages/template_list.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:get_it/get_it.dart'; -import 'package:grouped_list/grouped_list.dart'; import 'package:okane/database/database.dart'; import 'package:okane/ui/state/core.dart'; import 'package:okane/ui/utils.dart';