mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-01-21 03:50:01 -06:00
106 lines
4.1 KiB
HTML
106 lines
4.1 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Summary Report - {{ app_name }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<div>
|
|
<nav aria-label="breadcrumb">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="{{ url_for('reports.reports') }}">Reports</a></li>
|
|
<li class="breadcrumb-item active">Summary</li>
|
|
</ol>
|
|
</nav>
|
|
<h1 class="h3 mb-0">
|
|
<i class="fas fa-chart-line text-primary"></i> Summary Report
|
|
</h1>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Key Metrics -->
|
|
<div class="row mb-4">
|
|
<div class="col-md-4">
|
|
<div class="card text-center">
|
|
<div class="card-body">
|
|
<i class="fas fa-sun fa-2x text-primary mb-2"></i>
|
|
<h4 class="text-primary">{{ "%.1f"|format(today_hours) }}h</h4>
|
|
<p class="text-muted mb-0">Today</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="card text-center">
|
|
<div class="card-body">
|
|
<i class="fas fa-calendar-week fa-2x text-success mb-2"></i>
|
|
<h4 class="text-success">{{ "%.1f"|format(week_hours) }}h</h4>
|
|
<p class="text-muted mb-0">Last 7 Days</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="card text-center">
|
|
<div class="card-body">
|
|
<i class="fas fa-calendar-alt fa-2x text-info mb-2"></i>
|
|
<h4 class="text-info">{{ "%.1f"|format(month_hours) }}h</h4>
|
|
<p class="text-muted mb-0">Last 30 Days</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Top Projects -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5 class="mb-0">
|
|
<i class="fas fa-project-diagram"></i> Top Projects ({{ project_stats|length }})
|
|
</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
{% if project_stats %}
|
|
<div class="table-responsive">
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>Project</th>
|
|
<th>Client</th>
|
|
<th>Total Hours</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for item in project_stats %}
|
|
<tr>
|
|
<td>
|
|
<a href="{{ url_for('projects.view_project', project_id=item.project.id) }}">
|
|
{{ item.project.name }}
|
|
</a>
|
|
</td>
|
|
<td>{{ item.project.client }}</td>
|
|
<td><strong>{{ "%.1f"|format(item.hours) }}h</strong></td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% else %}
|
|
<div class="text-center py-5">
|
|
<i class="fas fa-chart-bar fa-3x text-muted mb-3"></i>
|
|
<h4 class="text-muted">No Data Found</h4>
|
|
<p class="text-muted">No time entries available for the selected period.</p>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
|