{# All the numbers around the orb and their details (the report and refreshes use it; the welcome screen loads each widget on its own, see widget.html). #} {% set count = items | length %} {% for item in items %} {% with angle = (360 / count * loop.index0) | round(2), index = loop.index, total = count %} {% include "welcome/widget.html" %} {% endwith %} {% endfor %} {% set loaded = items | selectattr("data.value", "ne", none) | list %} {% set needs = items | selectattr("data.message_tone", "in", ["fail", "warn"]) | list %} Online · {{ loaded | length }}/{{ items | length }} sources {% if not loaded %}Connect a service to get started{% elif needs %}{{ needs | length }} {{ "source needs" if needs | length == 1 else "sources need" }} attention{% else %}All systems nominal{% endif %} ▲ {{ needs | length }} {{ "source needs" if needs | length == 1 else "sources need" }} attention