50 lines
1.7 KiB
HTML
50 lines
1.7 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Shot History - ECM Control{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h1>Shot History</h1>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mt-4">
|
|
<div class="col-md-12">
|
|
<div class="table-responsive">
|
|
<table class="table table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>Date/Time</th>
|
|
<th>Button</th>
|
|
<th>Recipe</th>
|
|
<th>Target</th>
|
|
<th>Actual</th>
|
|
<th>Duration</th>
|
|
<th>Status</th>
|
|
<th>Notes</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for shot in shots %}
|
|
<tr>
|
|
<td>{{ shot.start_time }}</td>
|
|
<td>{{ shot.button_name }}</td>
|
|
<td>{{ shot.recipe_name }}</td>
|
|
<td>{{ shot.target_grams }}g</td>
|
|
<td>{{ shot.actual_grams or '-' }}g</td>
|
|
<td>{{ shot.actual_duration_seconds or '-' }}s</td>
|
|
<td>
|
|
<span class="badge bg-{{ 'success' if shot.status == 'completed' else 'warning' if shot.status == 'cancelled' else 'danger' }}">
|
|
{{ shot.status }}
|
|
</span>
|
|
</td>
|
|
<td>{{ shot.notes or '-' }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |