From 707c11701eb275b9ae4d469fd69466a22fc4f3f7 Mon Sep 17 00:00:00 2001 From: Arseni Date: Fri, 13 Mar 2026 19:52:37 +0300 Subject: [PATCH] made better scroll for reports page --- frontend/pweb/lib/l10n/ru.arb | 2 +- .../pweb/lib/pages/report/cards/list.dart | 53 ++++++++----------- .../lib/pages/report/operations/content.dart | 2 +- 3 files changed, 25 insertions(+), 32 deletions(-) diff --git a/frontend/pweb/lib/l10n/ru.arb b/frontend/pweb/lib/l10n/ru.arb index e7a98a52..3c21f96c 100644 --- a/frontend/pweb/lib/l10n/ru.arb +++ b/frontend/pweb/lib/l10n/ru.arb @@ -641,7 +641,7 @@ }, "noFee": "Без оплаты", - "recipientWillReceive": "Получатель получит: {amount}", + "recipientWillReceive": "Получателю поступит: {amount}", "@recipientWillReceive": { "description": "Метка, показывающая, сколько получит получатель", "placeholders": { diff --git a/frontend/pweb/lib/pages/report/cards/list.dart b/frontend/pweb/lib/pages/report/cards/list.dart index 4daa5c42..43ca5ed1 100644 --- a/frontend/pweb/lib/pages/report/cards/list.dart +++ b/frontend/pweb/lib/pages/report/cards/list.dart @@ -25,14 +25,11 @@ class OperationsCardsList extends StatelessWidget { @override Widget build(BuildContext context) { final loc = AppLocalizations.of(context)!; - final items = buildOperationCardItems( - context, - operations, - onTap: onTap, - ); + final items = buildOperationCardItems(context, operations, onTap: onTap); if (operations.isEmpty) { - return Expanded( + return Padding( + padding: const EdgeInsets.symmetric(vertical: 32), child: Center( child: Text( loc.reportPaymentsEmpty, @@ -43,31 +40,27 @@ class OperationsCardsList extends StatelessWidget { } final extraItems = loadMoreState == LoadMoreState.hidden ? 0 : 1; - return Expanded( - child: ListView.builder( - itemCount: items.length + extraItems, - itemBuilder: (context, index) { - if (index < items.length) { - return items[index]; - } - if (loadMoreState == LoadMoreState.loading) { - return const Padding( - padding: EdgeInsets.symmetric(vertical: 16), - child: Center(child: CircularProgressIndicator()), - ); - } - return Padding( - padding: const EdgeInsets.symmetric(vertical: 16), - child: Center( - child: TextButton( - onPressed: onLoadMore, - child: Text(loc.loadMore), - ), - ), + return ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: items.length + extraItems, + itemBuilder: (context, index) { + if (index < items.length) { + return items[index]; + } + if (loadMoreState == LoadMoreState.loading) { + return const Padding( + padding: EdgeInsets.symmetric(vertical: 16), + child: Center(child: CircularProgressIndicator()), ); - }, - ), + } + return Padding( + padding: const EdgeInsets.symmetric(vertical: 16), + child: Center( + child: TextButton(onPressed: onLoadMore, child: Text(loc.loadMore)), + ), + ); + }, ); } - } diff --git a/frontend/pweb/lib/pages/report/operations/content.dart b/frontend/pweb/lib/pages/report/operations/content.dart index 5290af78..2e7449c3 100644 --- a/frontend/pweb/lib/pages/report/operations/content.dart +++ b/frontend/pweb/lib/pages/report/operations/content.dart @@ -26,7 +26,7 @@ class OperationHistoryContent extends StatelessWidget { final operations = controller.operations; final filteredOperations = controller.filteredOperations; - return Padding( + return SingleChildScrollView( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch,