import useSWR from "swr"; import { useTranslation } from "react-i18next"; import Widget from "../widget"; import Block from "../block"; import { formatApiUrl } from "utils/api-helpers"; export default function CoinMarketCap({ service, state }) { const { t } = useTranslation(); const config = service.widget; const currencyCode = config.currency ?? "USD"; const { symbols } = config; 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; return ( {symbols.map((key) => ( {data[key].name} {t("common.number", { value: data[key].quote[currencyCode].price, style: "currency", currency: currencyCode, })} 0 ? "text-emerald-300" : "text-rose-300" }`} > {data[key].quote[currencyCode][`percent_change_${state.value.value}`].toFixed(2)}% ))} ); }