<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tagged UI Creation Lib</title>
</head>
<body>
    <div id="app"></div>

    <script type="module">
        import {app, h} from "../src/index.js";

        const $ = document.querySelector.bind(document);

        const todo = app({
            state: {todos: ["one", "two", "three"], value: ""},
            actions: {
                add: (state, event) => {
                    return {...state, todos: [...state.todos, $("#todo").value]};
                }
            },
            view: (state, actions) => {
                return h("main", [
                    h("h1", "Todo App"),
                    h("hr"),
                    h("div", [
                        h("label", "Todo"),
                        h("input", {id: "todo", value: state.value}),
                        h("button", {onclick: actions.add}, "Add")
                    ]),
                    h("hr"),
                    h("ul", state.todos.map((i) => {
                            return h("li", {}, i)
                        })
                    ),
                    h("hr"),
                    h("strong", `Count: ${state.todos.length}`),
                    h("hr"),
                ]);
            },
            mount: "#app"
        });
    </script>
</body>
</html>