use rui::*;
use std::{
    thread::{sleep, spawn},
    time::Duration,
};

fn main() {
    rui(state(
        || "task not started".to_string(),
        |s, cx| {
            hstack((
                button("press to begin", move |_| {
                    spawn(move || {
                        on_main(move |cx| cx[s] = "task started".into());
                        sleep(Duration::from_secs(2));
                        on_main(move |cx| cx[s] = "task complete".into());
                    });
                }),
                text(&cx[s]),
            ))
        },
    ));
}