From 9af75bbaf097fef35befa3aee8a8b16de073cc62 Mon Sep 17 00:00:00 2001 From: songwongtp <16089160+songwongtp@users.noreply.github.com> Date: Fri, 19 May 2023 13:15:23 +0700 Subject: [PATCH 1/5] feat: refactor block txs --- CHANGELOG.md | 1 + .../components/action-msg/ActionMessages.tsx | 4 +- .../table/transactions/TransactionsTable.tsx | 10 +- .../transactions/TransactionsTableHeader.tsx | 6 +- .../transactions/TransactionsTableRow.tsx | 37 ++++--- src/lib/gql/gql.ts | 6 +- src/lib/gql/graphql.ts | 24 ++++- .../components/BlockTxsTable.tsx | 78 ++++++++++++++ .../pages/block-details/components/index.ts | 2 +- .../components/table/BlockTxTableHeader.tsx | 24 ----- .../components/table/BlockTxTableRow.tsx | 89 ---------------- .../block-details/components/table/index.tsx | 100 ------------------ src/lib/pages/block-details/index.tsx | 8 +- src/lib/query/tx.ts | 10 +- src/lib/services/txService.ts | 43 ++++---- src/lib/types/tx/transaction.ts | 11 -- 16 files changed, 167 insertions(+), 286 deletions(-) create mode 100644 src/lib/pages/block-details/components/BlockTxsTable.tsx delete mode 100644 src/lib/pages/block-details/components/table/BlockTxTableHeader.tsx delete mode 100644 src/lib/pages/block-details/components/table/BlockTxTableRow.tsx delete mode 100644 src/lib/pages/block-details/components/table/index.tsx diff --git a/CHANGELOG.md b/CHANGELOG.md index 2afc77c23..8e622fdd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Improvements +- [#347](https://github.com/alleslabs/celatone-frontend/pull/347) Move tx table accordion arrow to the front and refactor block txs table - [#339](https://github.com/alleslabs/celatone-frontend/pull/339) Update all routes to plural form, and patch all codes - [#334](https://github.com/alleslabs/celatone-frontend/pull/334) Change `osmo-test-4` to `osmo-test-5`, fix tx service when accountId is undefined - [#311](https://github.com/alleslabs/celatone-frontend/pull/311) Refine css styling diff --git a/src/lib/components/action-msg/ActionMessages.tsx b/src/lib/components/action-msg/ActionMessages.tsx index d723666b4..ba6a0fd57 100644 --- a/src/lib/components/action-msg/ActionMessages.tsx +++ b/src/lib/components/action-msg/ActionMessages.tsx @@ -1,4 +1,4 @@ -import type { BlockTransaction, Transaction } from "lib/types"; +import type { Transaction } from "lib/types"; import { ActionMsgType } from "lib/types"; import { extractMsgType } from "lib/utils"; @@ -7,7 +7,7 @@ import { SingleActionMsg } from "./SingleActionMsg"; import { SingleMsg } from "./SingleMsg"; interface RenderActionMessagesProps { - transaction: Transaction | BlockTransaction; + transaction: Transaction; } export const RenderActionMessages = ({ diff --git a/src/lib/components/table/transactions/TransactionsTable.tsx b/src/lib/components/table/transactions/TransactionsTable.tsx index 291487942..3db3e37ec 100644 --- a/src/lib/components/table/transactions/TransactionsTable.tsx +++ b/src/lib/components/table/transactions/TransactionsTable.tsx @@ -10,6 +10,7 @@ interface TransactionsTableProps { isLoading: boolean; emptyState: JSX.Element; showRelations: boolean; + showTimestamp?: boolean; showAction?: boolean; } @@ -18,20 +19,24 @@ export const TransactionsTable = ({ isLoading, emptyState, showRelations, + showTimestamp = true, showAction = false, }: TransactionsTableProps) => { if (isLoading) return ; if (!transactions?.length) return emptyState; - const templateColumns = `150px 40px minmax(360px, 1fr) ${ + const templateColumns = `30px 150px 40px minmax(360px, 1fr) ${ showRelations ? "100px " : "" - }max(150px) max(220px) ${showAction ? "100px " : ""}60px`; + }max(160px) ${showTimestamp ? "max(220px) " : ""}${ + showAction ? "100px " : "" + }`; return ( {transactions.map((transaction) => ( @@ -40,6 +45,7 @@ export const TransactionsTable = ({ transaction={transaction} templateColumns={templateColumns} showRelations={showRelations} + showTimestamp={showTimestamp} showAction={showAction} /> ))} diff --git a/src/lib/components/table/transactions/TransactionsTableHeader.tsx b/src/lib/components/table/transactions/TransactionsTableHeader.tsx index 5af4fc399..3204c5eeb 100644 --- a/src/lib/components/table/transactions/TransactionsTableHeader.tsx +++ b/src/lib/components/table/transactions/TransactionsTableHeader.tsx @@ -6,20 +6,22 @@ import { TableHeader } from "../tableComponents"; export const TransactionsTableHeader = ({ templateColumns, showRelations, + showTimestamp, showAction, }: { templateColumns: GridProps["templateColumns"]; showRelations: boolean; + showTimestamp: boolean; showAction: boolean; }) => ( + Transaction Hash Messages {showRelations && Relations} Sender - Timestamp + {showTimestamp && Timestamp} {showAction && } - ); diff --git a/src/lib/components/table/transactions/TransactionsTableRow.tsx b/src/lib/components/table/transactions/TransactionsTableRow.tsx index 436829b9a..61d988b3d 100644 --- a/src/lib/components/table/transactions/TransactionsTableRow.tsx +++ b/src/lib/components/table/transactions/TransactionsTableRow.tsx @@ -15,6 +15,7 @@ interface TransactionsTableRowProps { transaction: Transaction; templateColumns: string; showRelations: boolean; + showTimestamp: boolean; showAction: boolean; } @@ -22,6 +23,7 @@ export const TransactionsTableRow = ({ transaction, templateColumns, showRelations, + showTimestamp, showAction, }: TransactionsTableRowProps) => { const { isOpen, onToggle } = useDisclosure(); @@ -37,6 +39,14 @@ export const TransactionsTableRow = ({ transition="all .25s ease-in-out" cursor={isAccordion ? "pointer" : "default"} > + + {isAccordion && ( + + )} + - - - {formatUTC(transaction.created)} - - {`(${dateFromNow(transaction.created)})`} - - - + {showTimestamp && ( + + + {formatUTC(transaction.created)} + + {`(${dateFromNow(transaction.created)})`} + + + + )} {showAction && ( )} - - - {isAccordion && ( - - )} - {isAccordion && (