40 lines
830 B
Rust
40 lines
830 B
Rust
use common::ServerMessage;
|
|
use seed::prelude::*;
|
|
use seed::{div, raw};
|
|
use seed_router::Page;
|
|
|
|
#[derive(Default)]
|
|
pub struct Model {
|
|
content: String,
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub enum Msg {
|
|
ServerMessage(ServerMessage),
|
|
}
|
|
|
|
impl Page for Model {
|
|
type Msg = Msg;
|
|
|
|
fn new(orders: &mut impl Orders<Self::Msg>) -> Self {
|
|
orders.subscribe(Msg::ServerMessage);
|
|
|
|
Model {
|
|
content: r#"<div class="penguin"></div>"#.into(),
|
|
}
|
|
}
|
|
|
|
fn update(&mut self, msg: Self::Msg, _orders: &mut impl Orders<Self::Msg>) {
|
|
match msg {
|
|
Msg::ServerMessage(ServerMessage::InfoPage { html }) => {
|
|
self.content = html;
|
|
}
|
|
Msg::ServerMessage(_) => {}
|
|
}
|
|
}
|
|
|
|
fn view(&self) -> Node<Self::Msg> {
|
|
div![raw![&self.content]]
|
|
}
|
|
}
|