lan-party-backend/web/src/pages/events.rs

40 lines
1.0 KiB
Rust
Raw Normal View History

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