use lieui::geometry::Color;
use lieui::layout::types::FlexAlign;
use lieui::prelude::*;
use lieui::state::State;
fn main() {
let count = State::new(0);
let app = Application::new(WindowConfig::new().size(600.0, 400.0), move |_ctx| {
Box::new(
Row::new()
.expand(true)
.justify_content(FlexAlign::Center)
.align_items(FlexAlign::Center)
.child(
Column::new()
.spacing(16.0)
.expand(true)
.justify_content(FlexAlign::Center)
.align_items(FlexAlign::Center)
.child(Text::new("LieUI v2").font_size(48.0).color(Color::RED))
.child(Text::new(format!("Count: {}", count.get())).font_size(32.0))
.child(
Row::new()
.spacing(12.0)
.align_items(FlexAlign::Center)
.child(Button::new("-1").on_click({
let c = count.clone();
move || c.update(|v| *v -= 1)
}))
.child(Button::new("Reset").on_click({
let c = count.clone();
move || c.set(0)
}))
.child(Button::new("+1").on_click({
let c = count.clone();
move || c.update(|v| *v += 1)
})),
)
.child(
Text::new("(click buttons)")
.font_size(14.0)
.color(Color::new(128, 128, 128)),
),
),
)
});
app.run();
}