Packages

Basic building blocks helping you compose your mozilla or chrome add-ons.

Current section

Files

Jump to
panel src panel.gleam
Raw

src/panel.gleam

import gleam/int
import lustre
import lustre/element.{text}
import lustre/element/html.{div, button, p}
import lustre/event.{on_click}
pub fn main() {
let app = lustre.simple(init, update, view)
let assert Ok(_) = lustre.start(app, "#base", Nil)
Nil
}
fn init(_) {
0
}
type Msg {
Incr
Decr
}
fn update(model, msg) {
case msg {
Incr -> model + 1
Decr -> model - 1
}
}
fn view(model) {
let count = int.to_string(model)
div([], [
div([], [text("shiny.")]),
button([on_click(Decr)], [text(" - ")]),
p([], [text(count)]),
button([on_click(Incr)], [text(" + ")])
])
}