wip-feat: mercure download progress

This commit is contained in:
2025-04-27 11:04:40 -05:00
parent c32ff2e464
commit 3384720c09
4 changed files with 38 additions and 31 deletions

View File

@@ -2,10 +2,16 @@
{% block create %}
<turbo-stream action="append" target="active_downloads">
<template>
<twig:DownloadListRow
id="ad_download_{{ entity.id }}"
data="{{ entity.id }}">
</twig:DownloadListRow>
<tr id="ad_download_{{ entity.id }}">
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-stone-800 min-w-[45ch] max-w-[45ch] truncate">
{{ entity.title }}
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-end text-gray-800 dark:text-gray-50">
<span class="p-1.5 bg-purple-600 rounded-full">
<span class="w-4 inline-block text-center text-gray-50">{{ entity.progress }}</span>
</span>
</td>
</tr id="ad_download_{{ entity.id }}">
</template>
</turbo-stream>
{% endblock %}
@@ -14,12 +20,16 @@
{% if entity.status != "Complete" %}
<turbo-stream action="update" target="ad_download_{{ id }}">
<template>
<div class="title">{{ entity.title }}</div>
<div class="filename">{{ entity.filename }}</div>
<div class="status">
<span class="pill {{ status_color_map[entity.status] }} status-badge">{{ entity.status }}</span>
<span class="pill progress">{{ entity.progress }}%</span>
</div>
<tr id="ad_download_{{ entity.id }}">
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-stone-800 min-w-[45ch] max-w-[45ch] truncate">
{{ entity.title }}
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-end text-gray-800 dark:text-gray-50">
<span class="p-1.5 bg-purple-600 rounded-full">
<span class="w-4 inline-block text-center text-gray-50">{{ entity.progress }}</span>
</span>
</td>
</tr>
</template>
</turbo-stream>
{% else %}
@@ -28,28 +38,26 @@
<turbo-stream action="prepend" target="alert_list">
<template>
<li class="alert alert-success alert-dismissible" id="alert_{{ entity.id }}" data-controller="alert">
<span class="alert-filename">{{ entity.filename }}</span> has finished downloading.
</li>
<twig:Alert title="Finished downloading" message="{{ entity.title }}" alert_id="{{ entity.id }}" data-controller="alert" />
</template>
</turbo-stream>
<turbo-stream action="prepend" target="complete_downloads_list">
<template>
<div class="result_group download-item" id="cd_download_{{ entity.id }}">
<div class="title">{{ entity.title }}</div>
<div class="filename">{{ entity.filename }}</div>
<div class="status">
<span class="pill {{ status_color_map[entity.status] }} status-badge">{{ entity.status }}</span>
<span class="pill progress">{{ entity.progress }}%</span>
</div>
</div>
</template>
</turbo-stream>
{# <turbo-stream action="prepend" target="complete_downloads_list">#}
{# <template>#}
{# <div class="result_group download-item" id="cd_download_{{ entity.id }}">#}
{# <div class="title">{{ entity.title }}</div>#}
{# <div class="filename">{{ entity.filename }}</div>#}
{# <div class="status">#}
{# <span class="pill {{ status_color_map[entity.status] }} status-badge">{{ entity.status }}</span>#}
{# <span class="pill progress">{{ entity.progress }}%</span>#}
{# </div>#}
{# </div>#}
{# </template>#}
{# </turbo-stream>#}
{% endif %}
{% endblock %}
{% block remove %}
<turbo-stream action="remove" target="ad_download_{{ id }}"></turbo-stream>
<turbo-stream action="remove" target="cd_download_{{ id }}"></turbo-stream>
{# <turbo-stream action="remove" target="cd_download_{{ id }}"></turbo-stream>#}
{% endblock %}