import { cn } from '@/lib/utils'; import { Check, Pencil, X } from 'lucide-react'; import { useState } from 'react'; import { Message } from './ChatWindow'; import MessageTabs from './MessageTabs'; const MessageBox = ({ message, messageIndex, history, loading, isLast, rewrite, sendMessage, handleEditMessage, }: { message: Message; messageIndex: number; history: Message[]; loading: boolean; isLast: boolean; rewrite: (messageId: string) => void; sendMessage: ( message: string, options?: { messageId?: string; rewriteIndex?: number; suggestions?: string[]; }, ) => void; handleEditMessage: (messageId: string, content: string) => void; }) => { // Local state for editing functionality const [isEditing, setIsEditing] = useState(false); const [editedContent, setEditedContent] = useState(''); // Initialize editing const startEditMessage = () => { setIsEditing(true); setEditedContent(message.content); }; // Cancel editing const cancelEditMessage = () => { setIsEditing(false); setEditedContent(''); }; // Save edits const saveEditMessage = () => { handleEditMessage(message.messageId, editedContent); setIsEditing(false); }; return (
{message.role === 'user' && (
{isEditing ? (