aboutsummaryrefslogtreecommitdiffstats
path: root/teleterm-web/src/views/login.rs
blob: a7d50c812eb0a0df8c8bb985c9d77ad6386be5f9 (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
use crate::prelude::*;

pub(crate) fn render(_: &crate::model::Model) -> Vec<Node<crate::Msg>> {
    vec![seed::form![
        seed::label![seed::attrs! { At::For => "username" }, "username"],
        seed::input![seed::attrs! {
            At::Id => "username",
            At::Type => "text",
            At::AutoFocus => true.as_at_value(),
        }],
        seed::input![
            seed::attrs! { At::Type => "submit", At::Value => "login" }
        ],
        raw_ev(Ev::Submit, |event| {
            event.prevent_default();
            let username = seed::to_input(
                &seed::document().get_element_by_id("username").unwrap(),
            )
            .value();
            crate::Msg::Login(username)
        }),
    ]]
}