"use client"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { getJackpotSummary } from "@/api/jackpot"; import { formatMinorAsCurrency } from "@/lib/money"; type JackpotResultsStripProps = { currencyCode?: string; }; /** 开奖模块顶部:Jackpot 当前池(公开接口) */ export function JackpotResultsStrip({ currencyCode = "NPR", }: JackpotResultsStripProps) { const { t } = useTranslation("player"); const [minor, setMinor] = useState(null); const [gap, setGap] = useState(null); const [enabled, setEnabled] = useState(false); useEffect(() => { let cancelled = false; void (async () => { try { const j = await getJackpotSummary(currencyCode); if (!cancelled) { setEnabled(j.enabled); setMinor(j.current_amount_minor); setGap(j.draws_since_last_burst); } } catch { if (!cancelled) { setEnabled(false); setMinor(null); setGap(null); } } })(); return () => { cancelled = true; }; }, [currencyCode]); if (!enabled || minor === null) { return null; } return (

{t("results.jackpotLabel")}

{formatMinorAsCurrency(minor, currencyCode.toUpperCase())}

{gap !== null ? (

{t("results.jackpotGap", { count: gap })}

) : null}
); }