Replace browser confirm() dialogs with custom modal; add live label preview on battery add form
- base.html: add CSS/HTML/JS for styled in-app confirmation modal (dark-mode compatible via CSS vars) - device_list, battery_detail: convert onsubmit confirm() to declarative data-confirm attributes - dashboard: convert bulk Delete/Install buttons to use modal helpers (submitWithAction pattern) - app.py: pass brand_counts dict to battery_add template - battery_add.html: show live "Will create: Brand 001 → Brand 003" preview as brand/quantity change - tests: add two tests covering brand_counts server-side rendering
This commit is contained in:
@@ -59,12 +59,14 @@
|
||||
<a class="btn btn-sm btn-secondary" href="{{ url_for('device_detail', device_id=d.id) }}">View</a>
|
||||
{% if d.installed_count() > 0 %}
|
||||
<form class="inline" method="post" action="{{ url_for('device_unassign_all', device_id=d.id) }}"
|
||||
onsubmit="return confirm('Unassign all batteries from {{ d.name }}?')">
|
||||
data-confirm="Unassign all batteries from {{ d.name }}?"
|
||||
data-confirm-ok="Unassign" data-confirm-class="btn-warning">
|
||||
<button class="btn btn-sm btn-warning" type="submit">Unassign All</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
<form class="inline" method="post" action="{{ url_for('device_delete', device_id=d.id) }}"
|
||||
onsubmit="return confirm('Delete {{ d.name }}? All installed batteries will be unassigned.');">
|
||||
data-confirm="Delete {{ d.name }}? All installed batteries will be unassigned."
|
||||
data-confirm-ok="Delete" data-confirm-class="btn-danger">
|
||||
<button class="btn btn-sm btn-danger" type="submit">Delete</button>
|
||||
</form>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user