mirror of
https://github.com/sstent/FitTrack_ReportGenerator.git
synced 2026-01-29 18:41:59 +00:00
This commit introduces the initial version of the FitTrack Report Generator, a FastAPI application for analyzing workout files. Key features include: - Parsing of FIT, TCX, and GPX workout files. - Analysis of power, heart rate, speed, and elevation data. - Generation of summary reports and charts. - REST API for single and batch workout analysis. The project structure has been set up with a `src` directory for core logic, an `api` directory for the FastAPI application, and a `tests` directory for unit, integration, and contract tests. The development workflow is configured to use Docker and modern Python tooling.
80 lines
3.1 KiB
HTML
80 lines
3.1 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block content %}
|
|
<div class="container">
|
|
<div class="navigation"></div>
|
|
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3>Sync Logs</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<!-- Filters -->
|
|
<div class="card mb-4">
|
|
<div class="card-header">Filters</div>
|
|
<div class="card-body">
|
|
<div class="form-group">
|
|
<label for="status-filter">Status</label>
|
|
<select id="status-filter" class="form-control">
|
|
<option value="">All Statuses</option>
|
|
<option value="success">Success</option>
|
|
<option value="error">Error</option>
|
|
<option value="partial">Partial</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="operation-filter">Operation</label>
|
|
<select id="operation-filter" class="form-control">
|
|
<option value="">All Operations</option>
|
|
<option value="sync">Sync</option>
|
|
<option value="download">Download</option>
|
|
<option value="daemon">Daemon</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="date-filter">Date</label>
|
|
<input type="date" id="date-filter" class="form-control">
|
|
</div>
|
|
|
|
<button class="btn btn-primary" onclick="applyFilters()">Apply Filters</button>
|
|
<button class="btn btn-secondary" onclick="refreshLogs()">Refresh</button>
|
|
<button class="btn btn-warning" onclick="clearLogs()">Clear Logs</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Logs Table -->
|
|
<div class="table-container">
|
|
<table class="activities-table" id="logs-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Timestamp</th>
|
|
<th>Operation</th>
|
|
<th>Status</th>
|
|
<th>Message</th>
|
|
<th>Activities Processed</th>
|
|
<th>Activities Downloaded</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="logs-tbody">
|
|
<!-- Populated by JavaScript -->
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Pagination -->
|
|
<div class="pagination-container">
|
|
<div class="pagination" id="pagination">
|
|
<!-- Populated by JavaScript -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block page_scripts %}
|
|
<script src="/static/logs.js"></script>
|
|
{% endblock %}
|