components/UserView.tsx (37 lines of code) (raw):

"use client"; import React from "react"; import Chat from "./Chat"; import useConversationStore from "@/stores/useConversationStore"; import { Item, processMessages } from "@/lib/assistant"; export default function UserView() { const { chatMessages, addConversationItem, addChatMessage } = useConversationStore(); const handleSendMessage = async (message: string) => { if (!message.trim()) return; const userItem: Item = { type: "message", role: "user", content: [{ type: "input_text", text: message.trim() }], }; const userMessage: any = { role: "user", content: message.trim(), }; try { addConversationItem(userMessage); addChatMessage(userItem); await processMessages(); } catch (error) { console.error("Error processing message:", error); } }; return ( <div className="flex-1 w-full bg-white rounded-lg p-4 overflow-hidden"> <Chat items={chatMessages} view="user" onSendMessage={handleSendMessage} /> </div> ); }