use winit::error::EventLoopError;
use xilem::view::{MainAxisAlignment, flex_col, prose, text_button};
use xilem::{EventLoop, WidgetView, WindowOptions, Xilem};
#[derive(Default)]
struct AppState {
count: usize,
}
fn app_logic(state: &mut AppState) -> impl WidgetView<AppState> + use<> {
let list = (0..state.count)
.map(|n| prose(format!("item #{n}")))
.collect::<Vec<_>>();
flex_col((
text_button("more", |appstate: &mut AppState| appstate.count += 1),
list,
))
.main_axis_alignment(MainAxisAlignment::Start) }
fn main() -> Result<(), EventLoopError> {
let app = Xilem::new_simple(AppState::default(), app_logic, WindowOptions::new("Lists"));
app.run_in(EventLoop::with_user_event())?;
Ok(())
}