"use client" import { useEffect, useState } from "react"; import { MemoizedReactMarkdown } from '../../../components/MemoizedReactMarkdown' import { CodeBlock } from '../../../components/CodeBlock'; export default function WebSearchPage({ searchParams }) { const [aiResponse, setAiResponse] = useState(""); const [searchTerm, setSearchTerm] = useState() useEffect(() => { setSearchTerm(searchParams.searchTerm) }, [searchParams]) useEffect(() => { const controller = new AbortController(); const signal = controller.signal; async function fetchData() { const response = await fetch('/api/llm', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ question: searchTerm }), signal, }); const data = response.body; if (!data) { return; } const reader = data.getReader(); const decoder = new TextDecoder(); let done = false; while (!done) { const { value, done: doneReading } = await reader.read(); done = doneReading; const chunkValue = decoder.decode(value); if (chunkValue) { setAiResponse(chunkValue); } } }; fetchData(); return () => controller.abort(); }, [searchParams, searchTerm]); console.log(aiResponse); return (
{children}
);
},
table({ children }) {
return (