diff options
Diffstat (limited to 'examples/server_demo/src/demo/web.gleam')
-rw-r--r-- | examples/server_demo/src/demo/web.gleam | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/examples/server_demo/src/demo/web.gleam b/examples/server_demo/src/demo/web.gleam deleted file mode 100644 index b8c17e2..0000000 --- a/examples/server_demo/src/demo/web.gleam +++ /dev/null @@ -1,58 +0,0 @@ -// IMPORTS --------------------------------------------------------------------- - -import gleam/http/request.{type Request as HttpRequest} -import gleam/http/response.{type Response as HttpResponse} -import gleam/result -import gleam/string_builder -import lustre/attribute.{attribute} -import lustre/element -import lustre/element/html.{html} -import lustre/server -import lustre/ui/styles -import mist.{type Connection, type ResponseData} -import wisp.{type Request, type Response} - -// - -pub fn handle(req: HttpRequest(Connection)) -> HttpResponse(ResponseData) { - wisp.mist_handler(handler, "")(req) -} - -fn handler(req: Request) -> Response { - use req <- wisp.handle_head(req) - use <- wisp.serve_static(req, under: "/static", from: static_directory()) - - html([attribute("lang", "en")], [ - html.head([], [ - html.meta([attribute("charset", "utf-8")]), - html.meta([ - attribute("name", "viewport"), - attribute("content", "width=device-width, initial-scale=1"), - ]), - styles.elements(), - html.script( - [attribute("type", "module")], - " - import '/static/lustre-server-component.mjs' - - document.addEventListener('DOMContentLoaded', () => { - document - .querySelector('lustre-server-component') - .addEventListener('alert', event => { - console.log(`The server count says: ${event.detail}`) - }) - }) - ", - ), - ]), - html.body([], [server.component([server.route("/ws")])]), - ]) - |> element.to_string_builder - |> string_builder.prepend("<!DOCTYPE html>\n") - |> wisp.html_response(200) -} - -fn static_directory() -> String { - wisp.priv_directory("lustre") - |> result.unwrap("") -} |