summaryrefslogtreecommitdiffstats
path: root/examples/tour/src/web.rs
blob: a0a3060fe9d83cf3dc04be2bb1715c2392c8af00 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use futures::Future;
use iced_web::UserInterface;
use wasm_bindgen::prelude::*;

use crate::tour::{self, Tour};

#[wasm_bindgen(start)]
pub fn run() {
    console_error_panic_hook::set_once();
    console_log::init_with_level(log::Level::Trace)
        .expect("Initialize logging");

    let tour = Tour::new();

    tour.run();
}

impl iced_web::UserInterface for Tour {
    type Message = tour::Message;

    fn update(
        &mut self,
        message: tour::Message,
    ) -> Option<Box<dyn Future<Output = tour::Message>>> {
        self.update(message);

        None
    }

    fn view(&mut self) -> iced_web::Element<tour::Message> {
        self.view()
    }
}