summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bs5/server/dune3
-rw-r--r--bs5/server/pages/Index.re24
-rw-r--r--bs5/server/pages/dune1
-rw-r--r--bs5/server/rsc/DreamRSC.ml (renamed from bs5/server/DreamRSC.ml)0
-rw-r--r--bs5/server/rsc/dune10
-rw-r--r--bs5/server/server.ml2
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)