mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-05-20 14:47:12 +02:00
feat: first batch of work
This commit is contained in:
@@ -11,24 +11,24 @@
|
||||
class="show-loading"
|
||||
hx-swap="show:none scroll:none">
|
||||
{% if runs %}
|
||||
<div class="tw:grid tw:grid-cols-1 tw:gap-4">
|
||||
<div class="grid grid-cols-1 gap-4">
|
||||
{% for run in runs %}
|
||||
<div class="col">
|
||||
<div class="tw:card tw:bg-base-100 tw:shadow-xl">
|
||||
<div class="tw:card-header tw:bg-base-200 tw:p-4 tw:text-sm {% if run.status == run.Status.QUEUED %}tw:text-base-content{% elif run.status == run.Status.PROCESSING %}tw:text-warning{% elif run.status == run.Status.FINISHED %}tw:text-success{% else %}tw:text-error{% endif %}">
|
||||
<span><i class="fa-solid {% if run.status == run.Status.QUEUED %}fa-hourglass-half{% elif run.status == run.Status.PROCESSING %}fa-spinner{% elif run.status == run.Status.FINISHED %}fa-check{% else %}fa-xmark{% endif %} fa-fw tw:me-2"></i>{{ run.get_status_display }}</span>
|
||||
<div class="card bg-base-100 shadow-xl">
|
||||
<div class="card-header bg-base-200 p-4 text-sm {% if run.status == run.Status.QUEUED %}text-base-content{% elif run.status == run.Status.PROCESSING %}text-warning{% elif run.status == run.Status.FINISHED %}text-success{% else %}text-error{% endif %}">
|
||||
<span><i class="fa-solid {% if run.status == run.Status.QUEUED %}fa-hourglass-half{% elif run.status == run.Status.PROCESSING %}fa-spinner{% elif run.status == run.Status.FINISHED %}fa-check{% else %}fa-xmark{% endif %} fa-fw me-2"></i>{{ run.get_status_display }}</span>
|
||||
</div>
|
||||
<div class="tw:card-body">
|
||||
<h5 class="tw:card-title"><i class="fa-solid fa-hashtag tw:me-1 tw:text-xs tw:text-gray-400"></i>{{ run.id }}<span class="tw:text-xs tw:text-gray-400 tw:ms-1">({{ run.file_name }})</span></h5>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title"><i class="fa-solid fa-hashtag me-1 text-xs text-gray-400"></i>{{ run.id }}<span class="text-xs text-gray-400 ms-1">({{ run.file_name }})</span></h5>
|
||||
<hr>
|
||||
<div class="tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:lg:grid-cols-3 tw:w-full tw:gap-4">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 w-full gap-4">
|
||||
<div class="col">
|
||||
<div class="tw:flex tw:flex-row">
|
||||
<div class="tw:flex tw:flex-col">
|
||||
<div class="tw:text-base-content/70 tw:text-xs tw:font-medium">
|
||||
<div class="flex flex-row">
|
||||
<div class="flex flex-col">
|
||||
<div class="text-base-content/70 text-xs font-medium">
|
||||
{% trans 'Total Items' %}
|
||||
</div>
|
||||
<div class="tw:text-sm">
|
||||
<div class="text-sm">
|
||||
{{ run.total_rows }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -36,12 +36,12 @@
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<div class="tw:flex tw:flex-row">
|
||||
<div class="tw:flex tw:flex-col">
|
||||
<div class="tw:text-base-content/70 tw:text-xs tw:font-medium">
|
||||
<div class="flex flex-row">
|
||||
<div class="flex flex-col">
|
||||
<div class="text-base-content/70 text-xs font-medium">
|
||||
{% trans 'Processed Items' %}
|
||||
</div>
|
||||
<div class="tw:text-sm">
|
||||
<div class="text-sm">
|
||||
{{ run.processed_rows }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -49,12 +49,12 @@
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<div class="tw:flex tw:flex-row">
|
||||
<div class="tw:flex tw:flex-col">
|
||||
<div class="tw:text-base-content/70 tw:text-xs tw:font-medium">
|
||||
<div class="flex flex-row">
|
||||
<div class="flex flex-col">
|
||||
<div class="text-base-content/70 text-xs font-medium">
|
||||
{% trans 'Skipped Items' %}
|
||||
</div>
|
||||
<div class="tw:text-sm">
|
||||
<div class="text-sm">
|
||||
{{ run.skipped_rows }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -62,12 +62,12 @@
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<div class="tw:flex tw:flex-row">
|
||||
<div class="tw:flex tw:flex-col">
|
||||
<div class="tw:text-base-content/70 tw:text-xs tw:font-medium">
|
||||
<div class="flex flex-row">
|
||||
<div class="flex flex-col">
|
||||
<div class="text-base-content/70 text-xs font-medium">
|
||||
{% trans 'Failed Items' %}
|
||||
</div>
|
||||
<div class="tw:text-sm">
|
||||
<div class="text-sm">
|
||||
{{ run.failed_rows }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -75,12 +75,12 @@
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<div class="tw:flex tw:flex-row">
|
||||
<div class="tw:flex tw:flex-col">
|
||||
<div class="tw:text-base-content/70 tw:text-xs tw:font-medium">
|
||||
<div class="flex flex-row">
|
||||
<div class="flex flex-col">
|
||||
<div class="text-base-content/70 text-xs font-medium">
|
||||
{% trans 'Successful Items' %}
|
||||
</div>
|
||||
<div class="tw:text-sm">
|
||||
<div class="text-sm">
|
||||
{{ run.successful_rows }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -89,14 +89,14 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tw:card-footer tw:bg-base-200 tw:p-4 tw:text-base-content/70">
|
||||
<a class="tw:no-underline tw:text-info"
|
||||
<div class="card-footer bg-base-200 p-4 text-base-content/70">
|
||||
<a class="no-underline text-info"
|
||||
role="button"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-title="{% translate "Logs" %}"
|
||||
hx-get="{% url 'import_run_log' profile_id=profile.id run_id=run.id %}"
|
||||
hx-target="#generic-offcanvas"><i class="fa-solid fa-file-lines"></i></a>
|
||||
<a class="tw:no-underline tw:text-error"
|
||||
<a class="no-underline text-error"
|
||||
role="button"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-title="{% translate "Delete" %}"
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
{% block title %}{% translate 'Logs for' %} #{{ run.id }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="tw:card tw:bg-base-100 tw:shadow-xl tw:max-h-full tw:overflow-auto">
|
||||
<div class="tw:card-body">
|
||||
<div class="card bg-base-100 shadow-xl max-h-full overflow-auto">
|
||||
<div class="card-body">
|
||||
{{ run.logs|linebreaks }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user