"use client"; import { X } from "lucide-react"; import { useEffect, useRef } from "react"; import { groupWindowTransitions, rectificationBoardPeekCopy, workingRectificationTime, type RectificationBoardDiff, } from "@/lib/rectification-board-model"; import { engineMeaningToDisplayCopy } from "@/lib/rectification-agentic/user-copy"; import { workingRectificationHouseTable, type RectificationCandidateResult, } from "@/lib/rectification-candidate-result"; import { windowScanLayerLabel, type WindowScanLayer, } from "@/lib/rectification-agentic/v9/refinement-packet"; import { rectificationBoardEmptyCopy } from "@/lib/rectification-surface-state"; import { RectificationHouseTableView } from "./rectification-house-table"; import { ConfirmationGateDisclosure, TechniqueAuditDisclosure } from "./technique-audit-disclosure"; function LayerChips({ layers }: Readonly<{ layers: readonly WindowScanLayer[] }>) { if (layers.length === 0) return null; return ( ); } function RectificationBoardBody({ result, declaredTime, savedStatus, diff, compact, titleId, onClose, }: Readonly<{ result: RectificationCandidateResult | null; declaredTime: string | null; savedStatus: "accepted" | "confirmed" | null; diff: RectificationBoardDiff; compact: boolean; titleId: string; onClose: () => void; }>) { const table = result ? workingRectificationHouseTable(result) : null; const workingTime = workingRectificationTime(result); const emptyCopy = rectificationBoardEmptyCopy(declaredTime); const grouped = result ? groupWindowTransitions(result.windowTransitions) : []; const scoringMinutes = grouped.filter((row) => row.scoringLayers.length > 0); const displayMinutes = grouped.filter((row) => row.displayLayers.length > 0); const changedHouses = new Set(diff.houseNumbers); const changedMinutes = new Set(diff.transitionMinutes); const stage = result?.precisionStage?.user_meaning ?? result?.natalRecast?.user_meaning ?? null; const ledger = result?.eventDashaLedger ?? []; const contrast = result?.lagnaContrast ?? null; const agreement = result?.dashaAgreement ?? null; const nakshatra = result?.nakshatraBoundary ?? null; return ( <> {compact ?