{% extends "dashboard/base.html" %} {% block title %}{{ message.subject or "Email" }} - Cyborg Dashboard{% endblock %} {% block content %} ← Back to Emails

{{ message.subject or "(no subject)" }}

From {% if message.sender_name %} {{ message.sender_name }} <{{ message.sender_email }}> {% else %} {{ message.sender_email }} {% endif %}
To {{ to_addresses | join(', ') }}
{% if cc_addresses %}
Cc {{ cc_addresses | join(', ') }}
{% endif %}
Time {{ message.message_timestamp }}
{% if attachments %}
Files
{% for att in attachments %} {{ att.filename or att.name or "attachment" }} {% endfor %}
{% endif %}
{% if message.text_body %}
{{ message.text_body }}
{% elif message.html_body %}
{{ message.html_body | safe }}
{% elif message.preview %}

{{ message.preview }}

{% else %}

(no body content)

{% endif %}
{% if dispatches %}

Dispatches

{% for d in dispatches %}
{{ d.notification_type | replace('_', ' ') | title }} {% if d.task_title %} — {{ d.task_title }} {% elif d.project_title %} — {{ d.project_title }} {% endif %}
{{ d.status | upper }}
Dispatched {{ d.dispatched_at | relative_time }} {% if d.duration_seconds %} · {{ "%.0f" | format(d.duration_seconds) }}s {% endif %} {% if d.tap_count %} · tapped {{ d.tap_count }}x {% endif %}
{% endfor %}
{% endif %} {% if prompt_history %}

Prompt History

{% for p in prompt_history %}
{{ p.category | replace('_', ' ') | title }} {% if p.token_count_estimate %} ~{{ p.token_count_estimate }} tokens {% endif %}
{{ p.timestamp | relative_time }}
{{ p.prompt_text }}
{% endfor %}
{% endif %} {% endblock %}