{% extends "base.html" %} {% load static %} {% load common_extras %} {% block title %}{% if is_edit %}Edit Post{% else %}New Post{% endif %} - {{ workspace.name }} - Redea Social{% endblock %} {% comment %}Header is rendered inside the content block to avoid overlap with the -m-6 layout{% endcomment %} {% block extra_head %} {% endblock %} {% block content %}

{% if is_edit %}Edit{% else %}Create{% endif %}

{% if account_scope %} {% endif %} {% if post %} {% for pp in post.platform_posts.all %} {% endfor %} {% endif %}
{% for account in social_accounts %} {% empty %} No accounts connected {% endfor %}
{% if failed_platform_posts %}
Publishing failed
{% for pp in failed_platform_posts %}

{{ pp.social_account.account_name|default:pp.social_account.account_handle }}: {{ pp.publish_error }}

{% endfor %} {% if post %}
{% endif %}
{% endif %} {% if failed_first_comments %}
First comment not posted
{% for pp in failed_first_comments %}

{{ pp.social_account.account_name|default:pp.social_account.account_handle }}: {{ pp.first_comment_error|default:"The first comment couldn't be added. Add it manually on the post." }}

{% endfor %}

The post itself published successfully — only the comment failed.

{% endif %} {% if post and post.status == 'scheduled' %}

This post is scheduled. Saving changes will affect the scheduled post.

{% elif post_is_readonly %}

{% if published_on %} Published on {{ published_on|date:"d/m/Y H:i" }} · read-only. {% else %} This post is {{ post.get_status_display|default:post.status }} and read-only. Use Duplicate as draft to repost an editable copy. {% endif %}

{% endif %} {% if live_siblings %}

Already published on {% for pp in live_siblings %}{{ pp.social_account.account_name|default:pp.social_account.account_handle }}{% if not forloop.last %}, {% endif %}{% endfor %}. Shared fields like the caption are used by that post too — editing them here changes its record.

{% endif %}
{% if post and is_edit %}
{% endif %}
Loading templates…
Drag & drop or select files
{% if unsplash_enabled %} {% endif %}
{% if post %} {% include "composer/partials/media_list.html" %} {% elif pending_assets %} {% include "composer/partials/media_list_pending.html" %} {% endif %}
{% if categories %}
{% endif %}
Select tags...
{% if can_view_internal_notes %}
Internal team only
{% endif %}
{% if is_edit %} {% endif %}
{% if not post_is_readonly %} {% endif %} {% if show_submit_button %} {% endif %} {% if show_resubmit_button %} {% endif %} {% if not post_is_readonly %}
{% endif %}
{% if post and approval_history %}
{% if post.status == 'pending_review' %}
Awaiting internal review
{% elif post.status == 'pending_client' %}
Awaiting client approval
{% elif post.status == 'changes_requested' %}
Changes requested - edit and resubmit
{% elif post.status == 'rejected' %}
Rejected - edit and resubmit or delete
{% elif post.status == 'approved' %}
Approved - saving changes sends it back for re-approval
{% elif post.status == 'on_hold' %}
On hold - a client paused this; resume it from the approvals queue
{% endif %} {% if show_resubmit_button and latest_feedback %}
{{ latest_feedback.user.display_name|default:"?"|make_list|first|upper }}
{{ latest_feedback.user.display_name|default:"Reviewer" }} {% if latest_feedback.action == 'rejected' %}rejected{% else %}requested changes{% endif %} {{ latest_feedback.created_at|timesince }} ago

{{ latest_feedback.comment }}

{% endif %} {% if can_approve and post.status == 'pending_review' or can_approve and post.status == 'pending_client' %}
{% endif %}

Approval History

{% for action in approval_history %}

{{ action.user.display_name }} {{ action.get_action_display|lower }}

{% if action.comment %}

"{{ action.comment|truncatechars:80 }}"

{% endif %}

{{ action.created_at|timesince }} ago

{% endfor %}
{% if post_comments or post %}

Comments

{% include "approvals/partials/comment_list.html" with comments=post_comments post=post %}
{% include "approvals/partials/comment_form.html" with post=post workspace=workspace %}
{% endif %}
{% endif %} {% if not post_is_readonly %} {% endif %}

Preview

{% include "composer/partials/preview_panel.html" %}

Media Library

Select Thumbnail

{% if unsplash_enabled %}

Search Unsplash

Free high-resolution photos · add one or many

No results. Try another search.
{% endif %}

Choose thumbnail from video

Scrub to the frame you want, then grab it

Frame at
Post saved
{% if is_edit %}

Delete post?

This action cannot be undone. The post and all associated data will be permanently removed.

{% endif %}
{# Toast host for approval-action feedback (outside htmx-swapped regions) #} {% include "approvals/partials/_toasts.html" %} {% endblock %} {% block extra_js %} {{ selected_account_ids|json_script:"composer-selected-accounts" }} {{ char_limits|json_script:"composer-char-limits" }} {{ platform_extras|json_script:"composer-platform-extras" }} {{ media_items|json_script:"composer-media-items" }} {% endblock %}