diff options
-rw-r--r-- | bs5/server/dune | 3 | ||||
-rw-r--r-- | bs5/server/pages/Index.re | 24 | ||||
-rw-r--r-- | bs5/server/pages/dune | 1 | ||||
-rw-r--r-- | bs5/server/rsc/DreamRSC.ml (renamed from bs5/server/DreamRSC.ml) | 0 | ||||
-rw-r--r-- | bs5/server/rsc/dune | 10 | ||||
-rw-r--r-- | bs5/server/server.ml | 2 |
6 files changed, 38 insertions, 2 deletions
diff --git a/bs5/server/dune b/bs5/server/dune index 3438c1c..9565f90 100644 --- a/bs5/server/dune +++ b/bs5/server/dune @@ -4,11 +4,14 @@ (enabled_if (= %{profile} "dev")) (name server) + (modules server) (libraries ; local middleware api function_references + rsc + pages ; dream server-reason-react.belt diff --git a/bs5/server/pages/Index.re b/bs5/server/pages/Index.re index 20dfbff..d5af822 100644 --- a/bs5/server/pages/Index.re +++ b/bs5/server/pages/Index.re @@ -15,4 +15,26 @@ module Page = { }; }; -// let handler = request => DreamRSC.create; +module App = { + [@react.component] + let make = () => { + <html> + <head> + <meta charSet="utf-8" /> + <link rel="stylesheet" href="/output.css" /> + </head> + <body> + <div id="root"> + // <DemoLayout background=Theme.Color.Gray2> <Page /> </DemoLayout> + <div> <Page /> </div> </div> + </body> + </html>; + }; +}; + +let handler = request => + Rsc.DreamRSC.create_from_request( + ~bootstrap_modules=["/static/demo/SinglePageRSC.re.js"], + <App />, + request, + ); diff --git a/bs5/server/pages/dune b/bs5/server/pages/dune index 4d54676..bc63199 100644 --- a/bs5/server/pages/dune +++ b/bs5/server/pages/dune @@ -1,6 +1,7 @@ (library (name pages) (libraries + rsc dream lwt.unix server-reason-react.belt diff --git a/bs5/server/DreamRSC.ml b/bs5/server/rsc/DreamRSC.ml index 40fa9a8..40fa9a8 100644 --- a/bs5/server/DreamRSC.ml +++ b/bs5/server/rsc/DreamRSC.ml diff --git a/bs5/server/rsc/dune b/bs5/server/rsc/dune new file mode 100644 index 0000000..fc73cd0 --- /dev/null +++ b/bs5/server/rsc/dune @@ -0,0 +1,10 @@ +(library + (name rsc) + (libraries + function_references + dream + lwt + server-reason-react.js + server-reason-react.reactDom) + (preprocess + (pps lwt_ppx ppx_yojson_conv))) diff --git a/bs5/server/server.ml b/bs5/server/server.ml index 40834b9..2047624 100644 --- a/bs5/server/server.ml +++ b/bs5/server/server.ml @@ -12,7 +12,7 @@ let router = Dream.post "/echo" (fun req -> let%lwt body = Dream.body req in Dream.respond ~headers:[ ("Content-Type", "application/json") ] body); - (* Dream.get "/" Pages. *) + Dream.get "/" Pages.Index.handler; ] @ Api.Json.routes @ Api.Stream.streams) |