aboutsummaryrefslogtreecommitdiff
path: root/examples/01-hello-world/src/app.gleam
blob: 5d2b50a22089447ef5bd2a63b39262686fc5cd7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import lustre
import lustre/attribute
import lustre/element
import lustre/element/html
// These examples are written with lustre_ui in mind. They'll work regardless,
// but to see what lustre_ui can do make sure to run each of these examples with
// the `--include-styles` flag:
//
//   $ gleam run -m lustre/try -- --include-styles
//
// In your own apps, make sure to add the `lustre_ui` dependency and include the
// stylesheet somewhere.
import lustre/ui

pub fn main() {
  let styles = [#("width", "100vw"), #("height", "100vh"), #("padding", "1rem")]
  let app =
    lustre.element(ui.centre(
      [attribute.style(styles)],
      html.div([], [
        html.h1([], [element.text("Hello, world.")]),
        html.h2([], [element.text("Welcome to Lustre.")]),
      ]),
    ))

  let assert Ok(_) = lustre.start(app, "#app", Nil)
}