// Copyright (C) 2025 Tristan Daniƫl Maat // This file is part of yugioh-binder. // yugioh-binder is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // yugioh-binder is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // You should have received a copy of the GNU Affero General Public License // along with yugioh-binder. If not, see <https://www.gnu.org/licenses/>. use std::time::Duration; use draft_manager::card_database::CardDatabase; use leptos::prelude::*; use wasm_bindgen_futures::spawn_local; fn main() { console_error_panic_hook::set_once(); wasm_logger::init(wasm_logger::Config::default()); log::debug!("Startin app database"); let db = CardDatabase::new(); log::debug!("Database initialized"); leptos::mount::mount_to_body(|| view! { <App /> }); spawn_local(async move { let db = db; log::info!("Running loop!"); db.send_message(); // We create a loop so that listeners can be held for forever. loop { gloo::timers::future::sleep(Duration::from_secs(3600)).await; } }); } #[component] fn App() -> impl IntoView { view! { <Transition fallback=move || { view! { <p>"Loading database..."</p> } }>{move || {}}</Transition> } }