"use client"; import { ArrowRight } from "lucide-react"; import { useTranslation } from "react-i18next"; import type { SettlementBillRow } from "@/api/admin-agent-settlement"; import { AdminStatusBadge } from "@/components/admin/admin-status-badge"; import { cn } from "@/lib/utils"; import { formatDashboardMoneyMinor } from "@/modules/dashboard/use-dashboard-analytics"; import { buildBillAmountBreakdown, describeBillPaymentDirection, type BillBreakdownLine, type DownlineShareBreakdown, } from "@/modules/settlement/settlement-bill-display"; import { formatSignedSettlementMoney, signedSettlementMoneyClass, } from "@/modules/settlement/settlement-signed-money"; import { settlementBillStatusLabel, settlementBillTypeLabel, } from "@/modules/settlement/settlement-status-label"; type SettlementBillSummaryHeaderProps = { bill: SettlementBillRow; currencyCode: string; }; export function SettlementBillSummaryHeader({ bill, currencyCode, }: SettlementBillSummaryHeaderProps): React.ReactElement { const { t } = useTranslation(["settlementCenter", "agents"]); const direction = describeBillPaymentDirection(bill, t); const unpaid = bill.unpaid_amount > 0; return (
{t("settlementCenter:billDisplay.settlementAmount", { defaultValue: "结算金额" })}
{formatDashboardMoneyMinor(direction.amount, currencyCode)}
{t("settlementCenter:columns.paid", { defaultValue: "已收付" })}
{formatDashboardMoneyMinor(bill.paid_amount ?? 0, currencyCode)}
{t("settlementCenter:columns.unpaid", { defaultValue: "未结" })}
{formatDashboardMoneyMinor(bill.unpaid_amount, currencyCode)}
{unpaid ? ({bill.status === "pending_confirm" ? t("settlementCenter:billDisplay.unpaidPendingConfirm", { defaultValue: "确认账单后可登记收付", }) : t("settlementCenter:billDisplay.unpaidAwaitingPayment", { defaultValue: "请登记线下收付", })}
) : ({t("settlementCenter:billDisplay.fullySettled", { defaultValue: "本期已结清" })}
)}{line.hint}
) : null}{t("settlementCenter:billDisplay.howAmountWorks", { defaultValue: "结算明细" })}
{breakdownIntro ? ({breakdownIntro}
) : null}