import { useTranslation } from "next-i18next";
import classNames from "classnames";
import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api";
function MarketStatus({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { data, error } = useWidgetAPI(widget, "status", {
exchange: "US",
});
if (error || data?.error) {
return ;
}
if (!data) {
return (
);
}
const { isOpen } = data;
if (isOpen) {
return (
{t("stocks.open")}
);
}
return (
{t("stocks.closed")}
);
}
function StockItem({ service, ticker }) {
const { t } = useTranslation();
const { widget } = service;
const { data, error } = useWidgetAPI(widget, "quote", { symbol: ticker });
if (error || data?.error) {
return ;
}
if (!data) {
return (
);
}
return (
{ticker}
0 ? "text-emerald-300" : "text-rose-300"}`}>
{data.dp?.toFixed(2) ? `${data.dp?.toFixed(2)}%` : t("widget.api_error")}
{data.c
? t("common.number", {
value: data?.c,
style: "currency",
currency: "USD",
})
: t("widget.api_error")}
);
}
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { watchlist, showUSMarketStatus } = widget;
if (!watchlist || !watchlist.length || watchlist.length > 28 || new Set(watchlist).size !== watchlist.length) {
return (
);
}
return (
{showUSMarketStatus === true && }
{watchlist.map((ticker) => (
))}
);
}