|
{# Shared create-post form. Locals: _composer_topic (preselected topic), _composer_project (preselected project uid or ""). #}
|
|
<form id="create-post-form" method="POST" action="/posts/create" enctype="multipart/form-data">
|
|
{% set _topics = TOPICS %}{% set _selected = _composer_topic or 'random' %}{% include "_topic_selector.html" %}
|
|
|
|
<div class="auth-field auth-field-gap">
|
|
<label for="post-content">What are you sharing?</label>
|
|
<textarea id="post-content" name="content" required maxlength="125000" placeholder="What's on your mind?" class="min-h-120" data-mention></textarea>
|
|
<small class="hint-text"><span id="post-content-count">0/125000</span></small>
|
|
</div>
|
|
|
|
<div class="auth-field auth-field-gap">
|
|
<label for="post-title">Title (optional)</label>
|
|
<input type="text" id="post-title" name="title" maxlength="500" placeholder="Post title">
|
|
<small class="hint-text"><span id="post-title-count">0/500</span></small>
|
|
</div>
|
|
|
|
<div class="auth-field auth-field-gap">
|
|
<label for="project_uid">Link to Project (Optional)</label>
|
|
<select id="project_uid" name="project_uid">
|
|
<option value="">No project</option>
|
|
{% for p in get_user_projects(user['uid']) %}
|
|
<option value="{{ p['uid'] }}" {% if _composer_project and p['uid'] == _composer_project %}selected{% endif %}>{{ p['title'] }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="auth-field auth-field-gap">
|
|
<label>Attach files (images, video, audio, documents)</label>
|
|
{% include "_attachment_form.html" %}
|
|
</div>
|
|
|
|
<div class="auth-field auth-field-gap">
|
|
<button type="button" class="btn btn-secondary btn-sm" data-poll-toggle><span class="icon">📊</span> <span data-poll-toggle-label>Add poll</span></button>
|
|
</div>
|
|
<div class="poll-builder" data-poll-builder hidden>
|
|
<input type="text" name="poll_question" maxlength="200" placeholder="Poll question" aria-label="Poll question" class="poll-builder-question" disabled>
|
|
<div class="poll-builder-options" data-poll-options>
|
|
<div class="poll-builder-row"><input type="text" name="poll_options" maxlength="100" placeholder="Option 1" aria-label="Poll option 1" disabled></div>
|
|
<div class="poll-builder-row"><input type="text" name="poll_options" maxlength="100" placeholder="Option 2" aria-label="Poll option 2" disabled></div>
|
|
</div>
|
|
<button type="button" class="btn-ghost btn-sm" data-poll-add-option>+ Add option</button>
|
|
<p class="poll-builder-error" data-poll-error hidden></p>
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
<button type="button" class="modal-close btn btn-secondary">Cancel</button>
|
|
<button type="submit" class="btn btn-primary">Post</button>
|
|
</div>
|
|
</form>
|