plate-tool/src/components/main_window.rs

35 lines
1.1 KiB
Rust
Raw Normal View History

2023-05-21 16:45:12 +00:00
#![allow(non_snake_case)]
use yew::prelude::*;
2023-05-21 16:45:12 +00:00
use super::plates::plate_container::PlateContainer;
use super::tree::Tree;
use super::transfer_menu::TransferMenu;
2023-05-22 22:31:02 +00:00
use super::new_plate_dialog::NewPlateDialog;
2023-05-21 16:45:12 +00:00
#[function_component]
pub fn MainWindow() -> Html {
2023-05-22 22:31:02 +00:00
let new_plate_dialog_is_open = use_state_eq(|| false);
let new_plate_dialog_callback = {
let new_plate_dialog_is_open = new_plate_dialog_is_open.clone();
Callback::from(move |_| {
new_plate_dialog_is_open.set(false);
})
};
let open_new_plate_dialog_callback = {
let new_plate_dialog_is_open = new_plate_dialog_is_open.clone();
Callback::from(move |_| {
new_plate_dialog_is_open.set(true);
})
};
html!{
<div class="main_container">
2023-05-22 22:31:02 +00:00
<Tree open_new_plate_callback={open_new_plate_dialog_callback}/>
<TransferMenu />
<PlateContainer source_dims={(24,16)} destination_dims={(24,16)}/>
2023-05-22 22:31:02 +00:00
if {*new_plate_dialog_is_open} {
<NewPlateDialog close_callback={new_plate_dialog_callback}/>
}
</div>
}
2023-05-21 16:45:12 +00:00
}