40 lines
1.0 KiB
Rust
40 lines
1.0 KiB
Rust
use crate::{
|
|
components::{
|
|
event::{Edit, EventSpecEdit},
|
|
Button, Page, View,
|
|
},
|
|
init,
|
|
};
|
|
use lan_party_core::event::EventSpec;
|
|
use wasm_bindgen::JsValue;
|
|
use wasm_bindgen_futures::spawn_local;
|
|
use yew::prelude::*;
|
|
use yew_hooks::*;
|
|
|
|
use crate::{clone, clone_cb, util::api_request};
|
|
|
|
#[function_component(EventsPage)]
|
|
pub fn events_page() -> Html {
|
|
let events = use_state(|| Vec::new());
|
|
|
|
init!(events => {
|
|
events.set(api_request::<_, Vec<lan_party_core::event::Event>>("GET", "/event", Option::<()>::None)
|
|
.await
|
|
.map(|inner| inner.unwrap())
|
|
.unwrap())
|
|
});
|
|
|
|
//let edit_event = use_state(|| EventSpecEditHandle::to_edit(EventSpec::default()));
|
|
let event_spec = use_state(|| EventSpec::default());
|
|
|
|
html! {
|
|
<Page>
|
|
{ events.view() }
|
|
|
|
{ event_spec.edit() }
|
|
|
|
<Button text="Create" onclick={clone_cb!(event_spec => move |_| web_sys::console::log_1(&JsValue::from_serde(&*event_spec).unwrap()))} />
|
|
</Page>
|
|
}
|
|
}
|