use components::tasks_list::TasksList; use contextswitch::Task; use reqwasm::http::Request; use uikit_rs as uk; use wasm_bindgen::prelude::*; use yew::prelude::*; mod components; #[wasm_bindgen(module = "/js/api.js")] extern "C" { fn get_api_base_url() -> String; } #[function_component(App)] pub fn app() -> Html { let tasks = use_state(Vec::new); { let tasks = tasks.clone(); use_effect_with_deps( move |_| { wasm_bindgen_futures::spawn_local(async move { let fetched_tasks: Vec = Request::get(&format!("{}/tasks?filter=task", get_api_base_url())) .send() .await .unwrap() // TODO .json() .await .unwrap(); // TODO tasks.set(fetched_tasks); }); || () }, (), ); } let selected_task = use_state(|| None); let on_task_select = { let selected_task = selected_task.clone(); Callback::from(move |task: Option| { selected_task.set(task); }) }; html! { } }