"use client"; import { ImagePlus } from "lucide-react"; import type React from "react"; import { Input } from "@/components/ui/input"; interface ImageNodeSelectedTitleProps { displayTitle: string; draftTitle: string; isEditingTitle: boolean; onDraftTitleChange: (value: string) => void; onCancelEditing: () => void; onSaveTitle: () => void; onStartEditing: () => void; resolutionLabel?: string; style?: React.CSSProperties; } export function ImageNodeSelectedTitle({ displayTitle, draftTitle, isEditingTitle, onCancelEditing, onDraftTitleChange, onSaveTitle, onStartEditing, resolutionLabel, style, }: ImageNodeSelectedTitleProps) { return (
{isEditingTitle ? ( onDraftTitleChange(event.target.value)} onClick={(event) => event.stopPropagation()} onKeyDown={(event) => { if (event.key === "Enter") { event.preventDefault(); onSaveTitle(); } else if (event.key === "Escape") { event.preventDefault(); onDraftTitleChange(displayTitle); onCancelEditing(); } }} onMouseDown={(event) => event.stopPropagation()} onPointerDown={(event) => event.stopPropagation()} value={draftTitle} /> ) : ( { event.stopPropagation(); onDraftTitleChange(displayTitle); onStartEditing(); }} title="双击重命名" > {displayTitle} )}
{resolutionLabel ? ( {resolutionLabel} ) : null}
); }