{% extends "base.html" %} {% block title %}Auto-Social-Posting Queue{% endblock %} {% block head %} {{ super() if super }} {% endblock %} {% block content %}

Auto-Social-Posting Queue

New high scores and BBS milestones, queued as drafts. Nothing posts until you approve it.
Bluesky Mastodon
New Post
{% if not configured.bluesky and not configured.mastodon %}
Neither platform has credentials configured — set BLUESKY_HANDLE/BLUESKY_APP_PASSWORD and/or MASTODON_INSTANCE_URL/MASTODON_ACCESS_TOKEN in your .env before approving anything here.
{% endif %}
Pending ({{ pending|length }})
{% if not pending %}
Nothing waiting for review right now.
{% else %} {% for p in pending %}
{% if p.image_path %} {% else %}
(text only — no image)
{% endif %}
{{ p.trigger_label }} · queued {{ p.created_at|eastern('%Y-%m-%d %H:%M', '—') }}
{% endfor %} {% endif %}
Recent history
{% if not history %}
Nothing posted or skipped yet.
{% else %} {% for p in history %} {% endfor %}
WhenTriggerStatusResult
{{ (p.posted_at or p.created_at)|eastern('%Y-%m-%d %H:%M', '—') }} {{ p.trigger_label }} {% if p.status == 'posted' %}posted {% elif p.status == 'skipped' %}skipped {% elif p.status == 'failed' %}failed {% else %}{{ p.status }}{% endif %} {% if p.result_json %} {% for k, v in (p.result_json | from_json).items() %}{{ k }}: {{ v }}
{% endfor %} {% endif %}
{% endif %}
{% endblock %}