96 lines
5.0 KiB
Twig
96 lines
5.0 KiB
Twig
<div{{ attributes.defaults(stimulus_controller('download_list')) }} class="min-w-48" >
|
|
{% set table_body_id = (type == "complete") ? "complete_downloads" : "active_downloads" %}
|
|
<table id="downloads" class="divide-y divide-gray-200 bg-gray-50 overflow-hidden rounded-lg table-auto w-full" {{ turbo_stream_listen('App\\Download\\Framework\\Entity\\Download') }}>
|
|
<thead>
|
|
<tr class="bg-orange-500 bg-filter bg-blur-lg bg-opacity-80 text-gray-950">
|
|
<th scope="col"
|
|
class="px-6 py-3 text-start text-xs font-medium text-stone-500 uppercase dark:text-stone-800 {% if this.isWidget == true %}min-w-[45ch] max-w-[45ch]{% endif %} truncate">
|
|
Title
|
|
</th>
|
|
|
|
{% if this.isWidget == false %}
|
|
<th scope="col"
|
|
class="px-6 py-3 text-start text-xs font-medium text-stone-500 uppercase dark:text-stone-800 truncate">
|
|
Filename
|
|
</th>
|
|
<th scope="col"
|
|
class="px-6 py-3 text-start text-xs font-medium text-stone-500 uppercase dark:text-stone-800 truncate">
|
|
Media type
|
|
</th>
|
|
{% endif %}
|
|
|
|
<th scope="col"
|
|
class="px-6 py-3 text-start text-xs font-medium text-gray-500 uppercase dark:text-stone-800">
|
|
Progress
|
|
</th>
|
|
<th scope="col"
|
|
class="px-6 py-3 text-start text-xs font-medium text-gray-500 uppercase dark:text-stone-800">
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="{{ table_body_id }}" class="divide-y divide-gray-200 dark:divide-gray-50">
|
|
{% if this.downloads.items|length > 0 %}
|
|
{% for download in this.downloads.items %}
|
|
<tr id="ad_download_{{ download.id }}">
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-stone-800 {% if this.isWidget == true %}min-w-[45ch] max-w-[45ch]{% endif %} truncate">
|
|
{{ download.title }}
|
|
</td>
|
|
|
|
{% if this.isWidget == false %}
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-stone-800 truncate">
|
|
{{ download.filename }}
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-stone-800 truncate">
|
|
{{ download.mediaType }}
|
|
</td>
|
|
{% endif %}
|
|
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm align-middle text-gray-800 dark:text-gray-50">
|
|
{% if download.progress < 100 %}
|
|
<div class="border-2 border-green-700 rounded-md w-full h-6 align-middle overflow-hidden">
|
|
<div class="text-green-700 rounded-sm text-bold text-gray-950 text-center bg-green-600 h-5"
|
|
style="width:{{ download.progress }}%">
|
|
{{ download.progress }}%
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
<twig:StatusBadge color="green" status="Complete" />
|
|
{% endif %}
|
|
</td>
|
|
<td class="px-6 py-4 flex flex-row align-middle justify-center">
|
|
<button {{ stimulus_action('download_list', 'deleteDownload', 'click', {id: download.id}) }}>
|
|
<twig:ux:icon
|
|
name="ic:twotone-cancel" width="18px"
|
|
class="rounded-full align-middle text-red-600"
|
|
title="Remove {{ download.title }} from your Download list. This will not delete the file."
|
|
/>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% if this.isWidget == true and this.downloads.items|length > this.perPage %}
|
|
<tr id="download_view_all">
|
|
<td class="py-2 whitespace-nowrap bg-orange-500 uppercase text-sm font-medium text-center text-white truncate" colspan="100%">
|
|
<a href="{{ path('app_downloads') }}">View All Downloads</a>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% else %}
|
|
<tr id="{{ table_body_id }}_no_downloads">
|
|
<td class="px-6 py-4 whitespace-nowrap text-xs uppercase text-center font-medium text-gray-800 dark:text-stone-800" colspan="100%">
|
|
No downloads
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
</tbody>
|
|
</table>
|
|
|
|
{% if this.isWidget == false %}
|
|
{% if this.downloads.items|length > 0 %}
|
|
{% set paginator = this.downloads %}
|
|
{% include 'partial/paginator.html.twig' %}
|
|
{% endif %}
|
|
{% endif %}
|
|
</div>
|
|
|