import { memo, useEffect, useState } from "react"; import { Button, Select, SelectItem, Textarea, type Selection } from "@heroui/react"; import { useTranslation } from "react-i18next"; import type { LogItem, LogOverride, OverrideForm } from "@/components/RoundEvaluationOverrides.types"; type RoundEvaluationOverrideRowProps = { log: LogItem; form?: OverrideForm; override?: LogOverride; bands: { id: number; name: string }[]; categories: { id: number; name: string }[]; powerCategories: { id: number; name: string }[]; onFieldChange: (logId: number, field: keyof OverrideForm, value: string) => void; onReasonCommit: (logId: number, reason: string) => void; onSave: (logId: number, reason?: string) => void; onOpenDetail: (logId: number) => void; }; const getFirstSelection = (keys: Selection) => { if (keys === "all") return ""; const [first] = Array.from(keys); return typeof first === "string" || typeof first === "number" ? String(first) : ""; }; const highlightSelectClassNames = (isHighlighted: boolean) => isHighlighted ? { trigger: "border-warning-400 bg-warning-50", } : undefined; const RoundEvaluationOverrideRow = memo(function RoundEvaluationOverrideRow({ log, form, override, bands, categories, powerCategories, onFieldChange, onReasonCommit, onSave, onOpenDetail, }: RoundEvaluationOverrideRowProps) { const { t } = useTranslation("common"); const highlightStatus = !!override?.forced_log_status && override.forced_log_status !== "AUTO"; const highlightBand = override?.forced_band_id !== null && override?.forced_band_id !== undefined; const highlightCategory = override?.forced_category_id !== null && override?.forced_category_id !== undefined; const highlightPower = override?.forced_power_category_id !== null && override?.forced_power_category_id !== undefined; const highlightSixhr = override?.forced_sixhr_category !== null && override?.forced_sixhr_category !== undefined; const [localReason, setLocalReason] = useState(form?.reason ?? override?.reason ?? ""); useEffect(() => { setLocalReason(form?.reason ?? override?.reason ?? ""); }, [form?.reason, override?.reason]); return (
{log.pcall ?? "—"} PBAND: {log.pband ?? "—"} PSECT: {log.psect ?? "—"} SPowe: {log.power_watt ?? "—"} PWWLo: {log.pwwlo ?? "—"}
{override?.reason && (
{t("override_reason_prefix") ?? "Důvod"}: {override.reason}
)}