/** * 米棉之战线索区域组件 * 包含投机商情报、全国物资分布、对话的展示 */ import { Image } from "@/components"; import { cn, getStaticImage } from "@/lib/utils"; import { ClueItem } from "../shared/ClueItem"; import type { FileType } from "../shared/types"; import type { ClueData } from "@/components/layout"; import { MIMIAN_CLUE_DATA } from "../constants/mimian"; export interface MimianCluesProps { /** 当前展开的文件 */ expandedFile: FileType | null; /** 线索状态 */ clueStates: Record; /** 线索点击回调 */ onClueClick: (clue: ClueData, clueKey: string) => void; } /** * 米棉之战线索区域组件 * 显示投机商情报、全国物资分布、对话 */ export const MimianClues = ({ expandedFile, clueStates, onClueClick, }: MimianCluesProps) => { const isExpanded = expandedFile === "mimian"; return ( <> {/* 米棉之战:线索-投机商情报 */}
{ const clue = MIMIAN_CLUE_DATA["mimian-intelligence"]; if (clue) { onClueClick(clue, "mimian-intelligence"); } }} viewedMarkOffset={{ left: "4px" }} />
{/* 米棉之战:线索-全国物资分布 */}
{ const clue = MIMIAN_CLUE_DATA["mimian-distribution"]; if (clue) { onClueClick(clue, "mimian-distribution"); } }} viewedMarkOffset={{ left: "12px" }} />
{/* 米棉之战:消息(对话线索) */}
{ const clue = MIMIAN_CLUE_DATA["mimian-dialogue"]; if (clue) { onClueClick(clue, "mimian-dialogue"); } }} > {/* 未倾听时显示三个点动画 */} {!clueStates["mimian-dialogue"] && (
)} {/* 已倾听标记 */} {clueStates["mimian-dialogue"] && (
已倾听
)}
); };