mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 09:35:54 -08:00
dont check erros with string 'error', remove unnecessary optional chaining
This commit is contained in:
@@ -44,41 +44,44 @@ export default function Widget({ options }) {
|
||||
>
|
||||
<FaChartLine className="flex-none w-5 h-5 text-theme-800 dark:text-theme-200 mr-2" />
|
||||
<div className="flex flex-wrap items-center gap-0.5">
|
||||
{data.stocks.map((stock) => (
|
||||
<div
|
||||
key={stock.ticker}
|
||||
className="rounded h-full text-xs px-1 w-[4.75rem] flex flex-col items-center justify-center"
|
||||
>
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs">{stock.ticker}</span>
|
||||
{!viewingPercentChange ? (
|
||||
<span
|
||||
className={
|
||||
color !== false
|
||||
? `text-xs ${stock?.percentChange < 0 ? "text-rose-300/70" : "text-emerald-300/70"}`
|
||||
: "text-theme-800/70 dark:text-theme-200/50 text-xs"
|
||||
}
|
||||
{data.stocks.map(
|
||||
(stock) =>
|
||||
stock && (
|
||||
<div
|
||||
key={stock.ticker}
|
||||
className="rounded h-full text-xs px-1 w-[4.75rem] flex flex-col items-center justify-center"
|
||||
>
|
||||
{stock?.currentPrice !== "error"
|
||||
? t("common.number", {
|
||||
value: stock.currentPrice,
|
||||
style: "currency",
|
||||
currency: "USD",
|
||||
})
|
||||
: t("widget.api_error")}
|
||||
</span>
|
||||
) : (
|
||||
<span
|
||||
className={
|
||||
color !== false
|
||||
? `text-xs ${stock?.percentChange < 0 ? "text-rose-300/70" : "text-emerald-300/70"}`
|
||||
: "text-theme-800/70 dark:text-theme-200/70 text-xs"
|
||||
}
|
||||
>
|
||||
{stock?.percentChange !== "error" ? `${stock.percentChange}%` : t("widget.api_error")}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs">{stock.ticker}</span>
|
||||
{!viewingPercentChange ? (
|
||||
<span
|
||||
className={
|
||||
color !== false
|
||||
? `text-xs ${stock.percentChange < 0 ? "text-rose-300/70" : "text-emerald-300/70"}`
|
||||
: "text-theme-800/70 dark:text-theme-200/50 text-xs"
|
||||
}
|
||||
>
|
||||
{stock.currentPrice !== null
|
||||
? t("common.number", {
|
||||
value: stock.currentPrice,
|
||||
style: "currency",
|
||||
currency: "USD",
|
||||
})
|
||||
: t("widget.api_error")}
|
||||
</span>
|
||||
) : (
|
||||
<span
|
||||
className={
|
||||
color !== false
|
||||
? `text-xs ${stock.percentChange < 0 ? "text-rose-300/70" : "text-emerald-300/70"}`
|
||||
: "text-theme-800/70 dark:text-theme-200/70 text-xs"
|
||||
}
|
||||
>
|
||||
{stock.percentChange !== null ? `${stock.percentChange}%` : t("widget.api_error")}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
),
|
||||
)}
|
||||
</div>
|
||||
</button>
|
||||
</Raw>
|
||||
|
||||
@@ -56,7 +56,7 @@ export default async function handler(req, res) {
|
||||
|
||||
// API sometimes returns 200, but values returned are `null`
|
||||
if (c === null || dp === null) {
|
||||
return { ticker: ticker || "error", currentPrice: "error", percentChange: "error" };
|
||||
return { ticker: ticker, currentPrice: null, percentChange: null };
|
||||
}
|
||||
|
||||
// Rounding percentage, but we want it back to a number for comparison
|
||||
|
||||
@@ -64,8 +64,8 @@ function StockItem({ service, ticker }) {
|
||||
<div className="bg-theme-200/50 dark:bg-theme-900/20 rounded flex flex-1 items-center justify-between m-1 p-1 text-xs">
|
||||
<span className="font-thin ml-2 flex-none">{ticker}</span>
|
||||
<div className="flex items-center flex-row-reverse mr-2 text-right">
|
||||
<span className={`font-bold ml-2 w-10 ${data?.dp > 0 ? "text-emerald-300" : "text-rose-300"}`}>
|
||||
{data?.dp?.toFixed(2) ? `${data?.dp?.toFixed(2)}%` : t("widget.api_error")}
|
||||
<span className={`font-bold ml-2 w-10 ${data.dp > 0 ? "text-emerald-300" : "text-rose-300"}`}>
|
||||
{data.dp?.toFixed(2) ? `${data.dp?.toFixed(2)}%` : t("widget.api_error")}
|
||||
</span>
|
||||
<span className="font-bold">
|
||||
{data.c
|
||||
|
||||
Reference in New Issue
Block a user