import useSWR from "swr"; import { useTranslation } from "react-i18next"; import getSymbolFromCurrency from "currency-symbol-map"; import Widget from "../widget"; import Block from "../block"; import { formatApiUrl } from "utils/api-helpers"; export default function CoinMarketCap({ service }) { const { t } = useTranslation(); const config = service.widget; const symbols = [...service.symbols]; const currencyCode = service.currency ?? "USD"; const { data: statsData, error: statsError } = useSWR( formatApiUrl(config, `v1/cryptocurrency/quotes/latest?symbol=${symbols.join(",")}&convert=${currencyCode}`) ); if (!symbols || symbols.length === 0) { return ( ); } if (statsError) { return ; } if (!statsData) { return ( ); } const { data } = statsData; const currencySymbol = getSymbolFromCurrency(currencyCode); return symbols.map((key) => (
{data[key].name}
{currencySymbol} {data[key].quote[currencyCode].price.toFixed(2)}
0 ? "text-emerald-300" : "text-rose-300" }`} > {data[key].quote[currencyCode].percent_change_1h.toFixed(2)}%
)); }