minor home screen fix
This commit is contained in:
@@ -113,6 +113,17 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
|
||||
await homeController.getTransactions(prefs.getString("userId")!);
|
||||
}
|
||||
|
||||
Future<void> _onRefresh() async {
|
||||
await homeController.getAccounts();
|
||||
await homeController.getCategories();
|
||||
await homeController.getProviders();
|
||||
|
||||
prefs = await SharedPreferences.getInstance();
|
||||
if (prefs.getString("userId") != null) {
|
||||
await homeController.getTransactions(prefs.getString("userId")!);
|
||||
}
|
||||
}
|
||||
|
||||
void _onRouteChanged() async {
|
||||
final location = router.routerDelegate.currentConfiguration.uri.toString();
|
||||
if (location.startsWith('/home')) {
|
||||
@@ -159,7 +170,9 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
|
||||
body: ListenableBuilder(
|
||||
listenable: homeController,
|
||||
builder: (context, child) {
|
||||
return CustomScrollView(
|
||||
return RefreshIndicator(
|
||||
onRefresh: _onRefresh,
|
||||
child: CustomScrollView(
|
||||
physics: const BouncingScrollPhysics(),
|
||||
slivers: [
|
||||
SliverAppBar(
|
||||
@@ -270,6 +283,7 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
@@ -299,6 +313,15 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
_buildSectionLabel(theme, isDark, Icons.grid_view_rounded, "Pay"),
|
||||
IconButton(
|
||||
icon: Icon(
|
||||
Icons.refresh_rounded,
|
||||
color: isDark ? Colors.white54 : Colors.black54,
|
||||
size: 20,
|
||||
),
|
||||
onPressed: _onRefresh,
|
||||
tooltip: 'Refresh',
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
@@ -34,9 +34,7 @@ class AdditionalDataJsonConverter
|
||||
|
||||
@override
|
||||
List<Map<String, dynamic>>? fromJson(List<dynamic>? json) {
|
||||
return json
|
||||
?.map((e) => Map<String, dynamic>.from(e as Map))
|
||||
.toList();
|
||||
return json?.map((e) => Map<String, dynamic>.from(e as Map)).toList();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -61,7 +59,7 @@ class TransactionModel {
|
||||
final Decimal totalAmount;
|
||||
final String reference;
|
||||
final String paymentProcessorLabel;
|
||||
final String integrationProcessorLabel;
|
||||
final String? integrationProcessorLabel;
|
||||
final String confirmationProcessorLabel;
|
||||
final String providerLabel;
|
||||
final String debitPhone;
|
||||
@@ -109,7 +107,7 @@ class TransactionModel {
|
||||
required this.totalAmount,
|
||||
required this.reference,
|
||||
required this.paymentProcessorLabel,
|
||||
required this.integrationProcessorLabel,
|
||||
this.integrationProcessorLabel,
|
||||
required this.confirmationProcessorLabel,
|
||||
required this.providerLabel,
|
||||
required this.debitPhone,
|
||||
|
||||
@@ -26,7 +26,7 @@ TransactionModel _$TransactionModelFromJson(Map<String, dynamic> json) =>
|
||||
),
|
||||
reference: json['reference'] as String,
|
||||
paymentProcessorLabel: json['paymentProcessorLabel'] as String,
|
||||
integrationProcessorLabel: json['integrationProcessorLabel'] as String,
|
||||
integrationProcessorLabel: json['integrationProcessorLabel'] as String?,
|
||||
confirmationProcessorLabel: json['confirmationProcessorLabel'] as String,
|
||||
providerLabel: json['providerLabel'] as String,
|
||||
debitPhone: json['debitPhone'] as String,
|
||||
|
||||
Reference in New Issue
Block a user