cushy/examples/modal.rs
Jonathan Johnson 8d082ab77f
Modal layer
2024-09-11 20:54:08 -07:00

30 lines
688 B
Rust

use cushy::widget::MakeWidget;
use cushy::widgets::layers::Modal;
use cushy::Run;
fn main() -> cushy::Result {
let modal = Modal::new();
"Show Modal"
.into_button()
.on_click({
let modal = modal.clone();
move |_| {
modal.present(dialog(&modal));
}
})
.align_top()
.and(modal)
.into_layers()
.run()
}
fn dialog(modal: &Modal) -> impl MakeWidget {
let modal = modal.clone();
"This is a modal"
.and("Dismiss".into_button().on_click(move |_| {
modal.dismiss();
}))
.into_rows()
.contain()
}