2023-07-28 21:04:44 +01:00
|
|
|
use leptos::*;
|
|
|
|
use leptos_use::docs::demo_or_body;
|
|
|
|
use leptos_use::use_webtransport;
|
|
|
|
|
|
|
|
#[component]
|
|
|
|
fn Demo() -> impl IntoView {
|
2023-08-31 04:42:01 +01:00
|
|
|
let transport = use_webtransport("https://echo.webtransport.day");
|
2023-07-28 21:04:44 +01:00
|
|
|
|
2023-08-31 04:42:01 +01:00
|
|
|
let (text, set_text) = create_signal("".to_string());
|
2023-07-28 21:04:44 +01:00
|
|
|
|
2023-08-31 04:42:01 +01:00
|
|
|
let on_send = {
|
|
|
|
let transport = transport.clone();
|
|
|
|
|
|
|
|
move |e| {
|
|
|
|
transport.send_datagrams(text().as_bytes());
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
view! {
|
|
|
|
<textarea on:change=move |e| set_text(event_target_value(&e))/>
|
|
|
|
<button on:click=on_send>"Send"</button>
|
|
|
|
}
|
2023-07-28 21:04:44 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
_ = console_log::init_with_level(log::Level::Debug);
|
|
|
|
console_error_panic_hook::set_once();
|
|
|
|
|
|
|
|
mount_to(demo_or_body(), || {
|
|
|
|
view! { <Demo/> }
|
|
|
|
})
|
|
|
|
}
|