"use client";

import Link from "next/link";
import { useLiveSimulation } from "@/components/useLiveSimulation";

const money = (value: number) => `¥${value.toLocaleString("zh-CN", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
const label = { A_SHARE_T1: "A股", ETF_T0: "ETF", CONVERTIBLE_BOND_T0: "可转债" } as const;
const reportTitle = {
  A_SHARE_T1: "A股 Forward Report",
  ETF_T0: "ETF Forward Report",
  CONVERTIBLE_BOND_T0: "可转债 Forward Report",
} as const;

export function ForwardVault() {
  const live = useLiveSimulation();
  const forward = live.data.cnForwardShadow;
  const keys = ["A_SHARE_T1", "ETF_T0", "CONVERTIBLE_BOND_T0"] as const;
  return <main className="forward-vault">
    <section className="forward-vault-hero"><span>VAULT / APPEND-ONLY FORWARD LEDGER</span><h1>Daily Forward Records</h1><p>每个真实交易日自动形成三份账户报告和一份组合日报。记录以交易日、账户和 Champion 版本作为幂等键；收盘封存后不可覆盖，重复调度与任务重启只读同一份账本。</p><div><b>真实订单 0</b><b>自动晋级 禁止</b><b>样本评价 20 / 60 日</b></div></section>
    <section className="forward-report-grid">{keys.map((key) => {
      const current = forward?.current[key];
      const panel = forward?.panels[key];
      return <article key={key}><header><span>{label[key]} FORWARD REPORT</span><em>{current?.immutable ? "IMMUTABLE" : "OPEN / WAITING"}</em></header><h2>{current?.report?.title ?? `${reportTitle[key]} · 等待首个交易日`}</h2><dl><div><dt>Champion</dt><dd>{panel?.championVersion ?? "V1"}</dd></div><div><dt>Forward Day</dt><dd>{panel?.forwardDay ?? 0} / 60</dd></div><div><dt>Decision</dt><dd>{current?.decision ?? "WAITING"}</dd></div><div><dt>Net P&amp;L</dt><dd>{money(panel?.netPnl ?? 0)}</dd></div><div><dt>Data incidents</dt><dd>{panel?.dataIncidentDays ?? 0}</dd></div></dl><Link href={key === "A_SHARE_T1" ? "/trading/a-share" : key === "ETF_T0" ? "/trading/etf" : "/trading/convertible-bond"}>打开账户记录 →</Link></article>;
    })}<article><header><span>PORTFOLIO DAILY REPORT</span><em>READ-ONLY AGGREGATION</em></header><h2>三账户 Portfolio Daily Report</h2><p>A股、ETF、可转债只做只读汇总；不共享现金、不交叉保证金、不传播熔断。</p><dl><div><dt>账户数</dt><dd>3</dd></div><div><dt>真实订单</dt><dd>0</dd></div><div><dt>公共写接口</dt><dd>0</dd></div></dl><Link href="/">返回运行总览 →</Link></article></section>
    <section className="forward-vault-policy"><h2>可追溯范围</h2><p>策略版本、参数冻结状态、代码指纹、数据版本、交易规则、费用版本、候选、特征、信号、风控、决策、NO_TRADE、目标与模拟订单、成交/撤单/拒单、持仓、退出、费用、滑点、P&amp;L、数据和系统事故全部进入记录。源码与设计文档继续由 Vault 静态成果归档自动同步。</p><p>{forward?.nextAction ?? "等待云端 Forward Shadow Engine 初始化。"}</p></section>
  </main>;
}
