use sequoia_ui::prelude::*;
fn main() {
let count = Signal::new(0i32);
let inc = count.clone();
let dec = count.clone();
let reset = count.clone();
let shown = count.clone();
let view = Column::new()
.center()
.gap(16.0)
.fill_size()
.padding(24.0)
.child(
Text::with(move || format!("{}", shown.get()))
.size(72.0)
.bold(),
)
.child(
Row::new()
.center()
.gap(8.0)
.child(
Button::labeled("− 1")
.style(ButtonStyle::SECONDARY)
.on_click(move || dec.update(|v| *v -= 1)),
)
.child(
Button::labeled("Reset")
.style(ButtonStyle::SECONDARY)
.on_click(move || reset.set(0)),
)
.child(
Button::labeled("+ 1")
.style(ButtonStyle::PRIMARY)
.on_click(move || inc.update(|v| *v += 1)),
),
);
App::new()
.title("Counter")
.size(420.0, 280.0)
.root(view)
.run()
.expect("event loop failed");
}