"use client"; import { useChatContext } from "@/lib/store/ChatContext"; import { Message as MessageType } from "@/lib/types"; import React, { useEffect, useRef } from "react"; import Message from "./Message"; interface ChatHistoryProps { messages: MessageType[]; isLoading: boolean; connectionMode: "agent" | "workflow"; } // Traditional prop-based component const ChatHistory: React.FC = ({ messages, isLoading, connectionMode }) => { const messagesEndRef = useRef(null); useEffect(() => { messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); }, [messages]); return (
{messages.length === 0 ? (

Welcome to the KNet demo

Ask any research question to get started. The assistant will provide detailed answers backed by research and sources.

) : ( messages.map((message, index) => { const isLast = index === messages.length - 1; return ; }) )}
); }; // Context-based component export const ChatHistoryWithContext: React.FC = () => { const { chatState, connectionMode } = useChatContext(); return ; }; export default ChatHistory;