fn main() {
    rsx! {
        div {
            {
                let millis = timer
                    .with(|t| {
                        t
                            .duration()
                            .saturating_sub(
                                t.started_at.map(|x| x.elapsed()).unwrap_or(Duration::ZERO),
                            )
                            .as_millis()
                    });
                format!(
                    "{:02}:{:02}:{:02}.{:01}",
                    millis / 1000 / 3600 % 3600,
                    millis / 1000 / 60 % 60,
                    millis / 1000 % 60,
                    millis / 100 % 10,
                )
            }
        }
        div {
            input {
                r#type: "number",
                min: 0,
                max: 99,
                value: format!("{:02}", timer.read().hours),
                oninput: move |e| {
                    timer.write().hours = e.value().parse().unwrap_or(0);
                },
            }
            // some comment
            input {
                r#type: "number",
                min: 0,
                max: 99,
                value: format!("{:02}", timer.read().hours),
                oninput: move |e| {
                    timer.write().hours = e.value().parse().unwrap_or(0);
                },
            }
        }
    }
}
