From 9ec3134014b41c3e8d3645fbd1b4f2d56b558291 Mon Sep 17 00:00:00 2001
From: Dima Rifai <dima.rifai@gmail.com>
Date: Tue, 25 Mar 2025 15:36:37 +0200
Subject: [PATCH] Issue #496 - Fix transaction count based on max of
 trx_in_block

---
 pages/block/[blockId].tsx | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/pages/block/[blockId].tsx b/pages/block/[blockId].tsx
index 16eef6c5..e3a710f6 100644
--- a/pages/block/[blockId].tsx
+++ b/pages/block/[blockId].tsx
@@ -96,9 +96,25 @@ export default function Block() {
   const { blockOperations: totalOperations, trxLoading: totalLoading } =
     useBlockOperations(blockId, undefined, paramsState.page || 1);
 
-  const trxOperations = totalOperations?.operations_result.filter((operation) => operation.trx_id);
-  const trxOperationsLength = trxOperations?.length;
-  
+   /* Calculating Maximum Transaction in Blog */ 
+  let maxTransactions = 0;
+  if (
+    totalOperations?.operations_result &&
+    Array.isArray(totalOperations.operations_result)
+  ) {
+    maxTransactions = totalOperations.operations_result.reduce(
+      (max, operation) => {
+        if (typeof operation?.trx_in_block === "number") {
+          return Math.max(max, operation.trx_in_block);
+        } else {
+          return max;
+        }
+      },
+      0
+    );
+  }
+  maxTransactions += 1; // Add one since trx_in_block starts at 0 an not 1
+
   const { blockError, blockOperations, trxLoading } = useBlockOperations(
     blockId,
     paramsState.filters
@@ -111,7 +127,7 @@ export default function Block() {
   );
   const { operationsTypes } = useOperationsTypes();
   const formattedOperations = useOperationsFormatter(
-    blockOperations?.operations_result 
+    blockOperations?.operations_result
   ) as Hive.OperationResponse[];
   useEffect(() => {
     if (blockDetails && blockDetails.created_at) {
@@ -240,7 +256,7 @@ export default function Block() {
       </Head>
       {loading ? (
         <div>
-          <Loader2 className="animate-spin mt-1 h-16 w-10 ml-10 dark:text-white" />          
+          <Loader2 className="animate-spin mt-1 h-16 w-10 ml-10 dark:text-white" />
         </div>
       ) : blockDetails?.block_num ? (
         <div
@@ -267,7 +283,7 @@ export default function Block() {
             nonVirtualOperationsTypesCounters={
               nonVirtualOperationsTypesCounters
             }
-            trxOperationsLength = {trxOperationsLength}
+            trxOperationsLength={maxTransactions}
             blockDetails={blockDetails}
             enableRawVirtualOperations={enableRawVirtualOperations}
             handleEnableVirtualOperations={handleEnableVirtualOperations}
-- 
GitLab