From d3d7f6b8da8feae27a4fe2f3b687690acbf1ea40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Geonizeli?= Date: Sun, 5 Sep 2021 22:06:16 -0300 Subject: [PATCH] use Table component on Stake and Exhcange history --- app/javascript/src/components/Table/Table.tsx | 27 +++++ .../src/components/Table/TableRow.tsx | 21 ++++ app/javascript/src/components/Table/index.ts | 2 + app/javascript/src/components/index.ts | 1 + .../ExchangeHistory/ExchangeHistory.tsx | 43 ++----- .../src/pages/Orders/Stake/Stake.tsx | 112 ++++++------------ app/javascript/src/pages/Orders/index.ts | 2 + 7 files changed, 98 insertions(+), 110 deletions(-) create mode 100644 app/javascript/src/components/Table/Table.tsx create mode 100644 app/javascript/src/components/Table/TableRow.tsx create mode 100644 app/javascript/src/components/Table/index.ts diff --git a/app/javascript/src/components/Table/Table.tsx b/app/javascript/src/components/Table/Table.tsx new file mode 100644 index 0000000..252e826 --- /dev/null +++ b/app/javascript/src/components/Table/Table.tsx @@ -0,0 +1,27 @@ +import type { FC } from "react"; +import React from "react"; + +type Props = { + columns: string[]; +}; + +export const Table: FC = ({ columns, children }) => { + return ( + + + + {columns.map((column, index) => ( + + ))} + + + {children} +
+ {column} +
+ ); +}; diff --git a/app/javascript/src/components/Table/TableRow.tsx b/app/javascript/src/components/Table/TableRow.tsx new file mode 100644 index 0000000..cc6ed40 --- /dev/null +++ b/app/javascript/src/components/Table/TableRow.tsx @@ -0,0 +1,21 @@ +import type { FC, ReactNode } from "react"; +import React from "react"; + +type Props = { + items?: Array; +}; + +export const TableRow: FC = ({ items }) => { + return ( + + {items?.map((item, index) => ( + +

{item}

+ + ))} + + ); +}; diff --git a/app/javascript/src/components/Table/index.ts b/app/javascript/src/components/Table/index.ts new file mode 100644 index 0000000..c26fc70 --- /dev/null +++ b/app/javascript/src/components/Table/index.ts @@ -0,0 +1,2 @@ +export * from "./Table"; +export * from "./TableRow"; diff --git a/app/javascript/src/components/index.ts b/app/javascript/src/components/index.ts index 90b1af0..b9980c2 100644 --- a/app/javascript/src/components/index.ts +++ b/app/javascript/src/components/index.ts @@ -4,3 +4,4 @@ export * from "./Modal"; export * from "./Input"; export * from "./Button"; export * from "./Spinner"; +export * from "./Table"; diff --git a/app/javascript/src/pages/Orders/Exchange/ExchangeHistory/ExchangeHistory.tsx b/app/javascript/src/pages/Orders/Exchange/ExchangeHistory/ExchangeHistory.tsx index 1e9370e..5037dde 100644 --- a/app/javascript/src/pages/Orders/Exchange/ExchangeHistory/ExchangeHistory.tsx +++ b/app/javascript/src/pages/Orders/Exchange/ExchangeHistory/ExchangeHistory.tsx @@ -3,6 +3,7 @@ import type { FC } from "react"; import React from "react"; import { useFragment } from "react-relay"; +import { Table } from "../../../../components"; import { Messages } from "../../../../messages"; import { centsToUnit } from "../../../../utils/fiatMoney"; import type { CryptoExchangeOrderProps } from "./components/CryptoExchangeOrder"; @@ -119,41 +120,13 @@ export const ExchangeHistory: FC = ({
- - - - - - - - - - - {orderRows.map((order) => { - return ; - })} - -
- Valor pago - - Valor recebido - - Criado em - - Status -
+ + {orderRows.map((order) => { + return ; + })} +
diff --git a/app/javascript/src/pages/Orders/Stake/Stake.tsx b/app/javascript/src/pages/Orders/Stake/Stake.tsx index ee88cf2..c05f2f7 100644 --- a/app/javascript/src/pages/Orders/Stake/Stake.tsx +++ b/app/javascript/src/pages/Orders/Stake/Stake.tsx @@ -7,6 +7,7 @@ import cx from "classnames"; import { getStatusTextAndColors } from "../utils/processStatus"; import type { StakeQuery } from "./__generated__/StakeQuery.graphql"; import { Messages } from "../../../messages"; +import { Table, TableRow } from "../../../components"; export const Stake: FC = () => { const { stakeOrders } = useLazyLoadQuery( @@ -36,82 +37,43 @@ export const Stake: FC = () => {
- - - - - - - - - - - {stakeOrders.edges.map(({ node }) => { - const [label, textStyles, bgStyles] = getStatusTextAndColors( - node.status - ); +
- Pool - - Montante - - Criado em - - Status -
+ {stakeOrders.edges.map(({ node }) => { + const [label, textStyles, bgStyles] = getStatusTextAndColors( + node.status + ); - return ( - - - - - - - ); - })} - -
-

- {node.poolName} -

-
-

- {node.amount} -

-
-

- {new Date( - node.createdAt as string - ).toLocaleTimeString()} -

-
- - -
+ const status = ( + + + ); + + return ( + + ); + })} +
diff --git a/app/javascript/src/pages/Orders/index.ts b/app/javascript/src/pages/Orders/index.ts index 7c2f26f..b62d13d 100644 --- a/app/javascript/src/pages/Orders/index.ts +++ b/app/javascript/src/pages/Orders/index.ts @@ -1,7 +1,9 @@ import { Exchange } from "./Exchange"; import { Stake } from "./Stake"; +import { Deposit } from "./Deposit"; export const Orders = { + Deposit, Exchange, Stake, };