diff options
| -rw-r--r-- | src/static/main.js | 36 | ||||
| -rw-r--r-- | src/templates/base.html | 5 | ||||
| -rw-r--r-- | src/templates/index.html | 8 | ||||
| -rw-r--r-- | src/templates/program.html | 1 | ||||
| -rw-r--r-- | src/text_tv.py | 4 |
5 files changed, 18 insertions, 36 deletions
diff --git a/src/static/main.js b/src/static/main.js index 7bea389..86cda7e 100644 --- a/src/static/main.js +++ b/src/static/main.js @@ -1,31 +1,9 @@ -const url = '/text'; -const parts = ["top", "program"]; -const elements = {}; - -function get_element(part){ - elements[part] = document.getElementById(part); -} - -const program_element = parts.forEach(get_element); - -function set_element_text(part, text){ - elements[part].innerHTML = text; +async function update() { + const html = await (await fetch("/update")).text(); + document.querySelector("#top").innerHTML = html.split("\n").slice(0, 1)[0]; + document.querySelector("#program").innerHTML = html.split("\n").slice(1).join("\n"); } -async function getEvents() { - try { - const response = await fetch(url); - if (!response.ok) { - throw new Error(`Response status: ${response.status}`); - } - - const events = await response.json(); - console.log(events) - - } catch (error) { - console.error(error.message); - } -} - -getEvents(); - +setInterval(() => { + update() +}, 5000); diff --git a/src/templates/base.html b/src/templates/base.html index 54c9c5e..c600ebf 100644 --- a/src/templates/base.html +++ b/src/templates/base.html @@ -9,12 +9,11 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="main.js" defer></script> {% endblock %} - <meta http-equiv="refresh" content="10"> </head> <body> - + <div id="root-container"> - + {% block content %} {% endblock %} diff --git a/src/templates/index.html b/src/templates/index.html index 85fe385..f076d32 100644 --- a/src/templates/index.html +++ b/src/templates/index.html @@ -3,13 +3,13 @@ {% block content %} <pre class="content grey" id="top">{{parts.top}}</pre> - + <img src="title_headline.png"> - <pre class="content" id="program">{% for event in parts.program %}{% if loop.previtem and loop.previtem.day != event.day %}<br>{{ event.day }}<hr style="margin-bottom: 1em">{% endif %}<div style="position: relative"><div style="display: inline-block; background: #006688; height: 1.2em; width: {{event.progress}}%; position: absolute; left: 0"></div><div style="position: absolute; top: 0px; left: 0px;">{{event.title}} {{ event.time}} {{ event.icon }}</div></div><br style="margin-bottom: 0.25em">{% endfor %}</pre> + {% include 'program.html' %} {# <img src="news_headline.png"> - + <pre class="content" id="news">{{parts.news}}</pre> --> <br> @@ -18,7 +18,7 @@ <label id="news_input_label" for="news_input">Post your own news, or anything you'd like here:</label><br> <input type="text" id="news_input" name="news_input" maxlength="{{ news_max_length }}" placeholder="Type text here"> <input type="submit" value="Post" /> - </form> + </form> #} <div style="position: relative"> diff --git a/src/templates/program.html b/src/templates/program.html new file mode 100644 index 0000000..2b455dc --- /dev/null +++ b/src/templates/program.html @@ -0,0 +1 @@ +<pre class="content" id="program">{% for event in parts.program %}{% if loop.previtem and loop.previtem.day != event.day %}<br>{{ event.day }}<hr style="margin-bottom: 1em">{% endif %}<div style="position: relative"><div style="display: inline-block; background: #006688; height: 1.2em; width: {{event.progress}}%; position: absolute; left: 0"></div><div style="position: absolute; top: 0px; left: 0px;">{{event.title}} {{ event.time}} {{ event.icon }}</div></div><br style="margin-bottom: 0.25em">{% endfor %}</pre> diff --git a/src/text_tv.py b/src/text_tv.py index c0baf90..30b885a 100644 --- a/src/text_tv.py +++ b/src/text_tv.py @@ -18,6 +18,10 @@ def top(): now = datetime.datetime.now() if not program_parser.override_date else program_parser.override_date return f'BornHack S105 {now.strftime("%a %d %b %R:%S")} ' +@app.route('/update') +def update(): + return top() + '\n' + flask.render_template('program.html', parts=text()) + @app.route('/program.json') def program(): |
