polish(adjustments): empty-state card with recovery CTAs + sticky bar check

No-rows case now renders a proper card with two recovery paths:
Clear filters (href back to ?status=adjustments) and Add adjustment
(opens the existing #addAdjustmentModal — no new JS).

Sticky filter bar (Task 2 CSS) verified functional — no ancestor
clipping or overflow:hidden in the adjustments tab block.
This commit is contained in:
Konrad du Plessis 2026-04-23 19:23:39 +02:00
parent 7b71048376
commit 9bb9ede300

View File

@ -899,10 +899,22 @@
{% endif %}
{% else %}
{# Simple placeholder empty state — visual polish comes in Task 10 #}
<div class="adj-empty-state">
<div class="adj-empty-icon"><i class="fas fa-inbox"></i></div>
<p>No adjustments match these filters.</p>
{# No rows match the current filter set. Two recovery paths: clear filters (re-fetch unfiltered) or add a new adjustment (opens the existing #addAdjustmentModal). #}
<div class="adj-empty-state card">
<div class="card-body text-center py-5">
<div class="adj-empty-icon"><i class="fas fa-inbox"></i></div>
<h6 class="mb-2">No adjustments match these filters.</h6>
<p class="text-muted small mb-3">Try clearing filters or adding a new adjustment.</p>
<div class="d-flex gap-2 justify-content-center">
<a href="?status=adjustments" class="btn btn-sm btn-outline-secondary">
<i class="fas fa-times me-1"></i>Clear filters
</a>
<button type="button" class="btn btn-sm btn-accent"
data-bs-toggle="modal" data-bs-target="#addAdjustmentModal">
<i class="fas fa-plus me-1"></i>Add adjustment
</button>
</div>
</div>
</div>
{% endif %}