30 lines
770 B
HTML
30 lines
770 B
HTML
{# Job status polling partial - polls every 2 seconds until complete #}
|
|
<div class="loading"
|
|
hx-get="{{ url_for('dev.job_status', job_id=job_id) }}?session_id={{ session_id }}"
|
|
hx-trigger="load delay:2s"
|
|
hx-swap="outerHTML">
|
|
<div style="margin-bottom: 0.5rem;">
|
|
<span class="spinner"></span>
|
|
Processing your action...
|
|
</div>
|
|
<div style="font-size: 0.75rem; color: #9ca3af;">
|
|
Job: {{ job_id[:8] }}... | Status: {{ status }}
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
.spinner {
|
|
display: inline-block;
|
|
width: 16px;
|
|
height: 16px;
|
|
border: 2px solid #4a4a5a;
|
|
border-top-color: #60a5fa;
|
|
border-radius: 50%;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
@keyframes spin {
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
</style>
|