From b73dff1986c18e6451e125d2f1655cc8f7d02d89 Mon Sep 17 00:00:00 2001 From: Lukas <lukas.budginas@gmail.com> Date: Tue, 19 Nov 2024 18:59:14 +0200 Subject: [PATCH] Add include virtual operations toggle to block details section --- components/block/BlockDetails.tsx | 6 ++++++ components/block/BlockPageOperationCount.tsx | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/components/block/BlockDetails.tsx b/components/block/BlockDetails.tsx index bb8b5018..1624b3b9 100644 --- a/components/block/BlockDetails.tsx +++ b/components/block/BlockDetails.tsx @@ -13,6 +13,8 @@ interface BlockDetailsProps { virtualOperationLength: number; nonVirtualOperationLength: number; blockDetails?: Hive.BlockDetails; + enableRawVirtualOperations: boolean; + handleEnableVirtualOperations: () => void; } const BlockDetails: React.FC<BlockDetailsProps> = ({ @@ -21,6 +23,8 @@ const BlockDetails: React.FC<BlockDetailsProps> = ({ blockDetails, virtualOperationLength, nonVirtualOperationLength, + enableRawVirtualOperations, + handleEnableVirtualOperations, }) => { return ( <Card @@ -85,6 +89,8 @@ const BlockDetails: React.FC<BlockDetailsProps> = ({ nonVirtualOperationLength={nonVirtualOperationLength} virtualOperationsTypesCounters={virtualOperationsTypesCounters} nonVirtualOperationsTypesCounters={nonVirtualOperationsTypesCounters} + enableRawVirtualOperations={enableRawVirtualOperations} + handleEnableVirtualOperations={handleEnableVirtualOperations} /> </CardContent> </Card> diff --git a/components/block/BlockPageOperationCount.tsx b/components/block/BlockPageOperationCount.tsx index c2648ec4..2b60d986 100644 --- a/components/block/BlockPageOperationCount.tsx +++ b/components/block/BlockPageOperationCount.tsx @@ -1,12 +1,16 @@ import Explorer from "@/types/Explorer"; import { getOperationTypeForDisplay } from "@/utils/UI"; import { getOperationColor } from "../OperationsTable"; +import { Toggle } from "../ui/toggle"; +import { useUserSettingsContext } from "@/contexts/UserSettingsContext"; interface BlockPageOperationCountProps { virtualOperationsTypesCounters?: Explorer.OperationCounter[]; nonVirtualOperationsTypesCounters?: Explorer.OperationCounter[]; virtualOperationLength: number; nonVirtualOperationLength: number; + enableRawVirtualOperations: boolean; + handleEnableVirtualOperations: () => void; } const BlockPageOperationCount: React.FC<BlockPageOperationCountProps> = ({ @@ -14,7 +18,12 @@ const BlockPageOperationCount: React.FC<BlockPageOperationCountProps> = ({ nonVirtualOperationLength, virtualOperationsTypesCounters, nonVirtualOperationsTypesCounters, + enableRawVirtualOperations, + handleEnableVirtualOperations, }) => { + const { settings } = useUserSettingsContext(); + + const isRawView = settings.rawJsonView || settings.prettyJsonView; return ( <section className="w-full flex flex-col items-center text-md px-4 mb-2 md:mb-4"> <div className="w-full py-4"> @@ -44,6 +53,16 @@ const BlockPageOperationCount: React.FC<BlockPageOperationCountProps> = ({ </div> <div className="my-5 flex justify-center"> Virtual operations: {virtualOperationLength} + {isRawView && ( + <div className="flex justify-center items-center"> + <span className="ml-2"> + <Toggle + checked={enableRawVirtualOperations} + onClick={handleEnableVirtualOperations} + /> + </span> + </div> + )} </div> <div className="flex flex-wrap justify-center text-sm"> {virtualOperationsTypesCounters && -- GitLab