"use client"; import { AdminLoadingInline } from "@/components/admin/admin-loading-state"; import { useTranslation } from "react-i18next"; import { useTranslationRef } from "@/hooks/use-translation-ref"; import { useApiQuery } from "@/hooks/use-api-query"; import { getAdminDraw } from "@/api/admin-draws"; import { drawStatusLabel, hallPreviewDiffersFromDbStatus } from "@/modules/draws/draw-display"; import { DrawStatusBadge } from "@/modules/draws/draw-status-badge"; import { LotteryApiBizError } from "@/types/api/errors"; export function RiskDrawHeader({ drawId }: { drawId: number }) { const { t } = useTranslation(["risk", "draws"]); const tRef = useTranslationRef(["risk", "draws"]); const { data: draw, error } = useApiQuery( ["admin/draws", drawId], () => getAdminDraw(drawId), ); if (error) { const msg = error instanceof LotteryApiBizError ? error.message : tRef.current("drawInfoLoadFailed"); return

{msg}

; } if (!draw) { return ; } return (

{t("headerTitle", { drawNo: draw.draw_no })}

{t("databaseStatus")} {hallPreviewDiffersFromDbStatus(draw.status, draw.hall_preview_status) ? ( <> {t("hallPreviewStatusLabel", { ns: "draws" })} ) : null}

); }