93 lines
3.0 KiB
HTML
93 lines
3.0 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Journal - {{ app_name }}{% endblock %}
|
|
{% block page_title %}Journal Entries{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="panel">
|
|
<div class="panel-header">
|
|
<h3><i class="fas fa-book"></i> Work Journal</h3>
|
|
<span class="entry-count">{{ total }} total entries</span>
|
|
</div>
|
|
|
|
<div class="table-wrapper">
|
|
<table class="data-table journal-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Timestamp</th>
|
|
<th>Cycle ID</th>
|
|
<th>Task</th>
|
|
<th>Result</th>
|
|
<th>Status</th>
|
|
<th>Response Time</th>
|
|
<th>Lessons</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for entry in entries %}
|
|
<tr>
|
|
<td class="timestamp">{{ entry.timestamp }}</td>
|
|
<td class="cycle-id">{{ entry.cycle_id[:20] }}...</td>
|
|
<td class="task">{{ entry.task }}</td>
|
|
<td class="result">{{ entry.result }}</td>
|
|
<td>
|
|
{% if entry.success %}
|
|
<span class="badge success"><i class="fas fa-check"></i> Success</span>
|
|
{% else %}
|
|
<span class="badge danger"><i class="fas fa-times"></i> Failed</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ entry.response_time_ms }}ms</td>
|
|
<td>
|
|
{% if entry.lessons_learned %}
|
|
<span class="badge info">{{ entry.lessons_learned|length }}</span>
|
|
{% else %}
|
|
<span class="badge secondary">0</span>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Pagination -->
|
|
<div class="pagination">
|
|
{% if page > 1 %}
|
|
<a href="?page={{ page - 1 }}&per_page={{ per_page }}" class="btn btn-secondary">
|
|
<i class="fas fa-chevron-left"></i> Previous
|
|
</a>
|
|
{% endif %}
|
|
|
|
<span class="page-info">Page {{ page }} of {{ total_pages }}</span>
|
|
|
|
{% if page < total_pages %}
|
|
<a href="?page={{ page + 1 }}&per_page={{ per_page }}" class="btn btn-secondary">
|
|
Next <i class="fas fa-chevron-right"></i>
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Entry Detail Modal -->
|
|
<div id="entryModal" class="modal">
|
|
<div class="modal-content">
|
|
<span class="close">×</span>
|
|
<h3>Entry Details</h3>
|
|
<div id="modalContent"></div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block extra_js %}
|
|
<script>
|
|
// Make rows clickable for detail view
|
|
document.querySelectorAll('.journal-table tbody tr').forEach(row => {
|
|
row.addEventListener('click', function() {
|
|
// Could expand to show full details
|
|
this.classList.toggle('expanded');
|
|
});
|
|
});
|
|
</script>
|
|
{% endblock %}
|