/** * Polderfest 2027 — chat pagina * -------------------------------------------------- * Les 11 — useChat hook + Tailwind chat UI. * Plaats dit bestand op: app/chat/page.tsx * * Werking: * - useChat() regelt messages, input, submit-handler, streaming * - Praat met /api/chat (de route.ts) * - Disabled tijdens streaming * * Vereist: * - app/api/chat/route.ts (zie route.ts) * - npm i ai * - Tailwind aanwezig in project (standaard in create-next-app) */ "use client"; import { useState } from "react"; import { useChat } from "@ai-sdk/react"; export default function ChatPage() { const { messages, sendMessage, status } = useChat(); const [input, setInput] = useState(""); return (

Polderfest 2027 — vraag de AI

Supabase test
{messages.map((m) => (
{m.role === "user" ? "Jij" : "Festival AI"}
{m.parts .filter((p) => p.type === "text") .map((p) => p.text) .join("")}
))}
{ e.preventDefault(); const text = input.trim(); if (!text || status !== "ready") return; setInput(""); void sendMessage({ text }); }} className="flex gap-2" > setInput(e.target.value)} placeholder="Stel een vraag over de line-up..." className="flex-1 p-3 border rounded-lg" disabled={status !== "ready"} />
); }