import { Button, Modal, ModalBody, ModalContent, ModalHeader, Select, SelectItem, Textarea, type Selection, } from "@heroui/react"; import type { LogOverride, LogResult, OverrideForm, } from "@/components/RoundEvaluationLogOverrides.types"; type Props = { isOpen: boolean; onOpenChange: (isOpen: boolean) => void; onClose: () => void; activeItem: LogResult | null; override?: LogOverride; form?: OverrideForm; bands: { id: number; name: string }[]; categories: { id: number; name: string }[]; powerCategories: { id: number; name: string }[]; onFieldChange: (logId: number, field: keyof OverrideForm, value: string) => void; onSave: (logId: number) => void; resolveName: (list: { id: number; name: string }[], id?: number | null) => string; }; const statusOptions = [ { value: "AUTO", label: "AUTO" }, { value: "OK", label: "OK" }, { value: "CHECK", label: "CHECK" }, { value: "DQ", label: "DQ" }, { value: "IGNORED", label: "IGNORED" }, ]; const getFirstSelection = (keys: Selection) => { if (keys === "all") return ""; const [first] = Array.from(keys); return typeof first === "string" || typeof first === "number" ? String(first) : ""; }; export default function RoundEvaluationLogOverridesModal({ isOpen, onOpenChange, onClose, activeItem, override, form, bands, categories, powerCategories, onFieldChange, onSave, resolveName, }: Props) { return ( Upravit log #{activeItem?.log_id ?? "—"} {activeItem && ( <>
{activeItem.log?.pcall ?? "—"} | {activeItem.band?.name ?? "—"} /{" "} {activeItem.category?.name ?? "—"} /{" "} {activeItem.powerCategory?.name ?? activeItem.power_category?.name ?? "—"}
Score: {activeItem.official_score ?? "—"} | Rank:{" "} {activeItem.rank_overall ?? "—"} | Status: {activeItem.status ?? "—"}
{override && (
Override: {override.forced_log_status ?? "AUTO"} /{" "} {resolveName(bands, override.forced_band_id)} /{" "} {resolveName(categories, override.forced_category_id)} /{" "} {resolveName(powerCategories, override.forced_power_category_id)}
)}