aboutsummaryrefslogtreecommitdiffstats
path: root/demo/templates/page_index.html.j2
diff options
context:
space:
mode:
Diffstat (limited to 'demo/templates/page_index.html.j2')
-rw-r--r--demo/templates/page_index.html.j227
1 files changed, 27 insertions, 0 deletions
diff --git a/demo/templates/page_index.html.j2 b/demo/templates/page_index.html.j2
new file mode 100644
index 0000000..2da14ab
--- /dev/null
+++ b/demo/templates/page_index.html.j2
@@ -0,0 +1,27 @@
+{% extends "base.html.j2" %}
+
+{% block content %}
+<div id="container">
+ <h2>Messages</h2>
+ {% include "frag_messages.html.j2" %}
+
+ <form id="send_form" action="/" method="post" htmp replace="messages">
+ <input required minlength="1" maxlength="20" type="text" name="username" placeholder="Username...">
+ <input required minlength="1" maxlength="140" type="text" name="message" placeholder="Message...">
+ <button type="submit">Send</button>
+ </form>
+
+ <script>
+ document.getElementById("send_form").addEventListener("submit", function(event) {
+ // add message immediately to #messages
+ const username = this.querySelector('input[name="username"]').value;
+ const message = this.querySelector('input[name="message"]').value;
+ const ts = new Date(Date.now()).toISOString().slice(0, 10);
+ const messages = document.getElementById("messages");
+ const newMessage = document.createElement("div");
+ newMessage.innerHTML = `<small>${ts}</small> <strong>${username}</strong>: ${message}`;
+ messages.prepend(newMessage);
+ });
+ </script>
+</div>
+{% endblock %}