mirror of
https://github.com/perstarkse/minne.git
synced 2026-03-27 03:41:32 +01:00
76 lines
3.1 KiB
HTML
76 lines
3.1 KiB
HTML
{% block active_jobs_section %}
|
|
<section id="active_jobs_section" class="nb-panel p-4 space-y-4 mt-6 sm:mt-8">
|
|
<header class="flex flex-wrap items-center justify-between gap-3">
|
|
<h2 class="text-xl font-extrabold tracking-tight">Active Tasks</h2>
|
|
<div class="flex gap-2">
|
|
<button class="nb-btn btn-square btn-sm" hx-get="/active-jobs" hx-target="#active_jobs_section" hx-swap="outerHTML"
|
|
aria-label="Refresh active tasks">
|
|
{% include "icons/refresh_icon.html" %}
|
|
</button>
|
|
<button class="nb-btn btn-sm" hx-get="/jobs/archive" hx-target="#modal" hx-swap="innerHTML"
|
|
aria-label="View task archive">
|
|
View Archive
|
|
</button>
|
|
</div>
|
|
</header>
|
|
{% if active_jobs %}
|
|
<ul class="flex flex-col gap-3 list-none p-0 m-0">
|
|
{% for item in active_jobs %}
|
|
<li class="nb-panel p-3 flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between">
|
|
<div class="flex items-center gap-3 flex-1 min-w-0">
|
|
<div class="size-10 shrink-0 flex items-center justify-center border-2 border-neutral bg-transparent">
|
|
{% if item.content.Url %}
|
|
{% include "icons/link_icon.html" %}
|
|
{% elif item.content.File %}
|
|
{% include "icons/document_icon.html" %}
|
|
{% else %}
|
|
{% include "icons/bars_icon.html" %}
|
|
{% endif %}
|
|
</div>
|
|
<div class="space-y-1">
|
|
<div class="text-sm font-semibold">
|
|
{% if item.state == "Processing" %}
|
|
Processing, attempt {{ item.attempts }} of {{ item.max_attempts }}
|
|
{% elif item.state == "Reserved" %}
|
|
Reserved, attempt {{ item.attempts }} of {{ item.max_attempts }}
|
|
{% elif item.state == "Failed" %}
|
|
Retry scheduled (attempt {{ item.attempts }} of {{ item.max_attempts }}){% if item.error_message %}: {{ item.error_message }}{% endif %}
|
|
{% elif item.state == "DeadLetter" %}
|
|
Failed permanently{% if item.error_message %}: {{ item.error_message }}{% endif %}
|
|
{% elif item.state == "Succeeded" %}
|
|
Completed
|
|
{% else %}
|
|
{{ item.state }}
|
|
{% endif %}
|
|
</div>
|
|
<div class="text-xs font-semibold opacity-60">
|
|
{{ item.created_at|datetimeformat(format="short", tz=user.timezone) }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sm:flex-1 sm:text-right">
|
|
<p class="text-xs opacity-80 leading-snug break-words">
|
|
{% if item.content.Url %}
|
|
{{ item.content.Url.url }}
|
|
{% elif item.content.File %}
|
|
{{ item.content.File.file_info.file_name }}
|
|
{% else %}
|
|
{{ item.content.Text.text }}
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
|
|
<div class="flex items-center justify-end gap-2">
|
|
<button hx-delete="/jobs/{{ item.id }}" hx-target="#active_jobs_section" hx-swap="outerHTML"
|
|
class="nb-btn btn-square btn-sm" aria-label="Cancel task">
|
|
{% include "icons/delete_icon.html" %}
|
|
</button>
|
|
</div>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
</section>
|
|
{% endblock %}
|