"use client" import { useEffect, useState } from "react"; import { MemoizedReactMarkdown } from '../../../components/MemoizedReactMarkdown' 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 || "Seattle activities this weekend" }), signal, }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } else { // Consume the stream as text let responseText = await response.text(); // Try to parse the JSON let json; try { json = JSON.parse(responseText); } catch (error) { console.error("Failed to parse JSON", error); } console.log(json); setAiResponse(json); } } fetchData().catch(error => { console.error('Fetch failed: ', error); }); return () => controller.abort(); }, [searchParams, searchTerm]); console.log(aiResponse); return (
{children}
);
},
table({ children }) {
return (