{{ item.title }}
{%- if item.body %}{{ item.body }}
{%- endif %}{# The Inbox — the one genuinely new screen (043 C5, §1.3). Derived from docs/design/040/web/inbox-items.html, inbox-empty.html and inbox-partial.html. ONE template, three states: which one renders is decided by the composed body (webview/pages_new.py::_inbox_context over core.surfaces.inbox), never by a second copy of the rule. An item is a durable record, for this tenant, blocked on an owner decision, that Rob cannot resolve alone. So: * `items` the decisions. The badge counts these. * `not_blocking` listed, never counted — a late invoice closes itself. * an `unreadable` item is an ENTRY with its own dashed rule. A source that refused is never a silent omission and never a zero, which is why the empty state below is guarded on `inbox_uncertain` as well as on emptiness: "nothing needs you" is only sayable when every source answered. Every word comes from webview/copy/en.py. Every value is a context variable. #} {% extends "shell.html" %} {% block body %}
{{ t('inbox.snapshot') }} {{ t('inbox.refresh') }}
{{ pill_words }} {%- if items %}{{ t('inbox.sub') }}
{%- endif %}{{ t('inbox.unreadable.body') }}
{%- elif item.body %}{{ item.body }}
{%- endif %} {%- if item.meta %} {%- endif %} {%- if item.decide_elsewhere and not read_only %} {# An app decision is instance-wide; a multitenant seat may not take it, so the card SHOWS what is waiting and names the seat that can decide instead of drawing two buttons that answer 403. #} {%- endif %} {%- if item.rendered_actions and not read_only %} {%- if item.kind == 'ask' %} {# A27: an ask is a QUESTION. Until this box existed the only thing the owner could say back was yes or no, so "which key should I use?" was answerable with "approved" — and the run waiting on the answer was unblocked without it. The text rides with the decision on the same POST; inbox.js sends it. #} {%- endif %}{{ t('inbox.unreadable.body') }}
{%- else %}{{ t('inbox.empty.body') }}
{{ t('inbox.empty.checked') }}
{%- endif %}{{ item.body }}
{%- endif %}{{ t('inbox.read_only.decide') }}
{%- endif %}{{ sources_note }} {{ t('inbox.sources.cites')|safe }}