File tree Expand file tree Collapse file tree 2 files changed +52
-52
lines changed
examples/stream-transport-vite/src Expand file tree Collapse file tree 2 files changed +52
-52
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 11import "./client.css" ;
22import { StrictMode } from "react" ;
33import { createRoot } from "react-dom/client" ;
4- import { App } from "./client.app.tsx" ;
4+
5+ import {
6+ useStream ,
7+ FetchStreamTransport ,
8+ } from "@langchain/langgraph-sdk/react" ;
9+
10+ export function App ( ) {
11+ const stream = useStream ( {
12+ transport : new FetchStreamTransport ( {
13+ apiUrl : "/api/stream" ,
14+ } ) ,
15+ } ) ;
16+
17+ return (
18+ < div className = "max-w-xl mx-auto" >
19+ < div className = "flex flex-col gap-2" >
20+ { stream . messages . map ( ( message ) => (
21+ < div key = { message . id } className = "whitespace-pre-wrap" >
22+ { message . content as string }
23+ </ div >
24+ ) ) }
25+ </ div >
26+ < form
27+ className = "grid grid-cols-[1fr_auto] gap-2"
28+ onSubmit = { ( e ) => {
29+ e . preventDefault ( ) ;
30+
31+ const form = e . target as HTMLFormElement ;
32+ const formData = new FormData ( form ) ;
33+ const content = formData . get ( "content" ) as string ;
34+
35+ form . reset ( ) ;
36+ stream . submit ( { messages : [ { content, type : "human" } ] } ) ;
37+ } }
38+ >
39+ < textarea
40+ name = "content"
41+ className = "field-sizing-content"
42+ onKeyDown = { ( e ) => {
43+ const target = e . target as HTMLTextAreaElement ;
44+
45+ if ( e . key === "Enter" && ! e . shiftKey ) {
46+ e . preventDefault ( ) ;
47+ target . form ?. requestSubmit ( ) ;
48+ }
49+ } }
50+ />
51+ < button type = "submit" > Submit</ button >
52+ </ form >
53+ </ div >
54+ ) ;
55+ }
556
657createRoot ( document . getElementById ( "root" ) ! ) . render (
758 < StrictMode >
You can’t perform that action at this time.
0 commit comments