{% extends "base.html" %} {% from "components/ui.html" import ago, anywhere_tag, card, empty, fact, facts, rights_tags %} {% from "components/grants.html" import role_tags, sending_of %} {% block title %}Overview ยท {{ APP_NAME }}{% endblock %} {% block heading %}Overview{% endblock %} {% block subheading %}
Signed in as {{ rights.name }}
{% endblock %} {% block content %} {% call facts("You") %} {{ fact("Name", rights.name) }} {% call fact("Roles") %}{{ role_tags(rights.roles) }}{% endcall %} {% call fact("Accounts") %}{{ rows | length }} you may use{% endcall %} {% if view.groups or view.operations %} {% call fact("Beyond one account") %}{{ rights_tags(view.groups, view.operations) }}{% endcall %} {% endif %} {% call fact("Last sign-in") %}{% if previous_sign_in %}{{ previous_sign_in | when }}, before this one{% else %}this is the first{% endif %}{% endcall %} {% endcall %} {% if anywhere %}
You may read mail and send it to any address on at least one account. A mail with injected instructions could use that to carry data out. A grant with recipients narrows sending.
{% endif %} {% if rows %} {% call card("Your accounts", meta=rows | length, tight=True) %}
{% for row in rows %} {% set account = row.rights %} {% endfor %}
AccountStatusYou maySending
{% if row.page %}{{ account.email }}{% else %}{{ account.email }}{% endif %} {% if account.display_name %}{{ account.display_name }}{% endif %} {% include "partials/account_status.html" %} {{ rights_tags(row.view.groups, row.view.operations) }} {% if "read_and_send_anywhere" in account.warnings %}{{ anywhere_tag() }}{% endif %} {{ sending_of(account.sending) }} {% if row.mail %}Mail{% endif %}
{% endcall %} {% else %} {{ empty("No account yet, or none you may use.") }} {% endif %} {% if service is not none %} {% call card("Service") %} {% if not service.attention and not service.failing %}

All is well: every account is connected and syncs, every webhook delivers.

{% else %} {% endif %} {% set worker = service.worker %}
{% if worker is none %} {% call fact("Sync worker") %}switched off MAILBOX_SERVICE_SYNC_INTERVAL is 0. Ids stay current only when mail is read.{% endcall %} {% else %} {% call fact("Sync worker") %}running every {{ worker.interval | round | int }} seconds{% endcall %} {% call fact("Push") %}{% if worker.push %}IDLE where the server offers it, {{ worker.watching | length }} of at most {{ worker.watchers }} watched now{% else %}switched off, polling only{% endif %}{% endcall %} {% call fact("Last pass") %}{% if worker.last_pass_at %}{{ ago(worker.last_pass_at) }}{% else %}not finished yet{% endif %}{% endcall %} {% endif %}
{% endcall %} {% endif %} {% endblock %}