/** * @license * Copyright 2025 Qwen Team * SPDX-License-Identifier: Apache-2.0 */ import type React from 'react'; import { MessageContent } from '../MessageContent.js'; interface FileContext { fileName: string; filePath: string; startLine?: number; endLine?: number; } interface UserMessageProps { content: string; timestamp: number; onFileClick?: (path: string) => void; fileContext?: FileContext; } export const UserMessage: React.FC = ({ content, timestamp: _timestamp, onFileClick, fileContext, }) => { // Generate display text for file context const getFileContextDisplay = () => { if (!fileContext) { return null; } const { fileName, startLine, endLine } = fileContext; if (startLine && endLine) { return startLine === endLine ? `${fileName}#${startLine}` : `${fileName}#${startLine}-${endLine}`; } return fileName; }; const fileContextDisplay = getFileContextDisplay(); return (
{/* File context indicator */} {fileContextDisplay && (
fileContext && onFileClick?.(fileContext.filePath)} onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { fileContext && onFileClick?.(fileContext.filePath); } }} >
{fileContextDisplay}
)}
); };