From 7c11b23923dc9d4069159f755fb5d04151ed2738 Mon Sep 17 00:00:00 2001 From: Gustavo Pereira <70466896+GAPV-Coder@users.noreply.github.com> Date: Fri, 31 Mar 2023 17:31:18 -0500 Subject: [PATCH] feat: create new component Exchanges --- src/components/Exchanges.jsx | 63 ++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 9 deletions(-) diff --git a/src/components/Exchanges.jsx b/src/components/Exchanges.jsx index 3e744ae..ef7ffcb 100644 --- a/src/components/Exchanges.jsx +++ b/src/components/Exchanges.jsx @@ -1,11 +1,56 @@ -import React from 'react' +import React from 'react'; +import millify from 'millify'; +import { Collapse, Row, Col, Typography, Avatar } from 'antd'; +import HTMLReactParser from 'html-react-parser'; + +import { useGetExchangesQuery } from '../services/cryptoAPI'; +import Loader from './Loader'; + +const { Text } = Typography; +const { Panel } = Collapse; const Exchanges = () => { - return ( -
- Exchanges -
- ) -} - -export default Exchanges + const { data, isFetching } = useGetExchangesQuery(); + const exchangesList = data?.data?.exchanges; + + if (isFetching) return ; + + return ( + <> + + Exchanges + 24h Trade Volume + Markets + Change + + + {exchangesList && exchangesList.map((exchange) => ( + + + + + {exchange.rank}. + + {exchange.name} + + ${millify(exchange.volume)} + {millify(exchange.numberOfMarkets)} + {millify(exchange.marketShare)}% + + )} + > + {HTMLReactParser(exchange.description || '')} + + + + ))} + + + ); +}; + +export default Exchanges;