c03f17488c
CI / lint-and-test (push) Failing after 1m18s
Replace Syncthing as the product upload path with a share-target app and POST /api/jobs. Web UI live-polls job progress. Co-authored-by: Cursor <cursoragent@cursor.com>
40 lines
1.5 KiB
HTML
40 lines
1.5 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}{{ site_title }}{% endblock %}
|
|
{% block content %}
|
|
{% if not jobs %}
|
|
<p class="empty-state">Noch keine Jobs. Foto in der App teilen, dann kurz warten.</p>
|
|
{% else %}
|
|
<ul class="job-grid">
|
|
{% for job in jobs %}
|
|
<li class="job-card{% if job.status in ACTIVE_STATUSES %} is-live{% endif %}">
|
|
<a href="/jobs/{{ job.job_id }}">
|
|
{% if job.thumbnail %}
|
|
{% set img = img_attrs(job.job_id, job.thumbnail) %}
|
|
<img class="thumb"
|
|
src="{{ img.src }}"
|
|
srcset="{{ img.srcset }}"
|
|
sizes="{{ img.sizes }}"
|
|
alt="Variante von Job {{ job.job_id }}"
|
|
loading="lazy"
|
|
decoding="async">
|
|
{% else %}
|
|
<span class="thumb thumb-placeholder status-{{ job.status }}">{{ job.status_label }}</span>
|
|
{% endif %}
|
|
<span class="job-meta">
|
|
<span class="job-id">{{ job.job_id }}</span>
|
|
<span class="job-status status-{{ job.status }}">
|
|
{{ job.status_label }}
|
|
{% if job.stage_label and job.status in ACTIVE_STATUSES %}
|
|
· {{ job.stage_label }}
|
|
{% else %}
|
|
· {{ job.variant_count }} Varianten
|
|
{% endif %}
|
|
</span>
|
|
</span>
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
{% endblock %}
|