Build and push server image / build-and-push (push) Successful in 39s
Moved out of the Stats tab's side column into a new horizontal bar shared by every frame page (Photos/Configuration/Stats), sitting between the page title and the tabs so it's on screen regardless of which tab is active. _device_status_bar.html is a new partial included via a device_status block in app_base.html; device_status_bar.js is the fetch/render/poll logic extracted from frame_stats.js and adapted to a wrapping row of label/value pairs instead of a stacked list. frame_stats.html's Device card and now-single-card .side-col are gone -- Battery history and Lifetime stats just stack directly.
29 lines
955 B
HTML
29 lines
955 B
HTML
{% extends "app_base.html" %}
|
|
|
|
{% block title %}{{ frame.name or "Frame" }} · Stats{% endblock %}
|
|
{% block page_title %}{{ frame.name or "Frame " ~ frame.id }}{% endblock %}
|
|
|
|
{% block device_status %}{% include "_device_status_bar.html" %}{% endblock %}
|
|
{% block tabs %}{% include "_frame_tabs.html" %}{% endblock %}
|
|
|
|
{% block content %}
|
|
<section class="card">
|
|
<h2 class="card-title">Battery history</h2>
|
|
<div id="battery-chart-wrap"><p class="sub">Loading...</p></div>
|
|
</section>
|
|
|
|
<section class="card">
|
|
<h2 class="card-title">Lifetime stats</h2>
|
|
<div id="stats-box"><p class="sub">Loading...</p></div>
|
|
</section>
|
|
|
|
<div id="result"></div>
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script>window.FRAME_API = {{ ("/api/frames/" ~ frame.id) | tojson }};</script>
|
|
<script src="/static/battery_chart.js"></script>
|
|
<script src="/static/device_status_bar.js"></script>
|
|
<script src="/static/frame_stats.js"></script>
|
|
{% endblock %}
|