From 26371381e0bd25f417b05626886fb98aeaa2b266 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Thu, 18 Jun 2026 06:59:43 +0300 Subject: [PATCH] feat: add loading overlay and spinner to BrokerOperationsTable --- .../pages/broker/BrokerOperationsTable.tsx | 123 +++++++++++------- 1 file changed, 74 insertions(+), 49 deletions(-) diff --git a/apps/frontend/src/pages/broker/BrokerOperationsTable.tsx b/apps/frontend/src/pages/broker/BrokerOperationsTable.tsx index 89539a5..62f32b4 100644 --- a/apps/frontend/src/pages/broker/BrokerOperationsTable.tsx +++ b/apps/frontend/src/pages/broker/BrokerOperationsTable.tsx @@ -95,6 +95,7 @@ const pagButtonDisabledStyle = { export function BrokerOperationsTable({ isLoading, + isFetching, page, pageNumber, canGoBack, @@ -103,6 +104,7 @@ export function BrokerOperationsTable({ onNext, }: { isLoading: boolean; + isFetching: boolean; page: BrokerOperationsPage | undefined; pageNumber: number; canGoBack: boolean; @@ -128,10 +130,17 @@ export function BrokerOperationsTable({ - → + {isFetching ? ( + + ) : ( + '→' + )} @@ -180,51 +196,60 @@ export function BrokerOperationsTable({ /> - ) : operations.length === 0 ? ( + ) : operations.length === 0 && !isFetching ? (

Операций за выбранный период нет

) : ( -
- - - - - - - - - - - {operations.map((operation) => { - const impact = getBrokerOperationImpact(operation); - - return ( - - - - - - - ); - })} - -
- Дата - - Тип - - Инструмент - - Сумма -
{formatDate(operation.date)} - {getBrokerOperationTypeLabel(operation)} - - - - {formatMoney(operation.payment)} -
+
+
+ + + + + + + + + + + {operations.map((operation) => { + const impact = getBrokerOperationImpact(operation); + return ( + + + + + + + ); + })} + +
+ Дата + + Тип + + Инструмент + + Сумма +
{formatDate(operation.date)} + {getBrokerOperationTypeLabel(operation)} + + + + {formatMoney(operation.payment)} +
+
+ {isFetching && ( +
+
+ + Загрузка страницы {pageNumber}… + +
+ )}
)}