Spaces:
No application file
No application file
File size: 1,800 Bytes
58668c3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | {% extends "base.html" %}
{% block content %}
<h2>π Welcome, {{ current_user.name }}!</h2>
<div class="stats">
<div class="stat-card">
<h3>Total Books in Library</h3>
<p>{{ stats.total_books }}</p>
</div>
<div class="stat-card">
<h3>Available Books</h3>
<p>{{ stats.available_copies }}</p>
</div>
<div class="stat-card">
<h3>Books I Borrowed</h3>
<p>{{ my_issues|length }}</p>
</div>
<div class="stat-card">
<h3>My Fines</h3>
<p style="color: {% if my_fines %}#e74c3c{% else %}#27ae60{% endif %};">
{{ my_fines|sum(attribute='amount')|default(0) }} BDT
</p>
</div>
</div>
<div class="card">
<h3>π Browse All Books</h3>
<p><a href="{{ url_for('books') }}" class="btn">View All Books β</a></p>
</div>
{% if my_issues %}
<div class="card">
<h3>π My Borrowed Books</h3>
<table>
<tr>
<th>Book ID</th>
<th>Issue Date</th>
<th>Due Date</th>
<th>Status</th>
</tr>
{% for issue in my_issues %}
<tr>
<td>{{ issue.book_id }}</td>
<td>{{ issue.issue_date.strftime('%Y-%m-%d') }}</td>
<td>{{ issue.due_date.strftime('%Y-%m-%d') }}</td>
<td>
{% if issue.status == 'returned' %}
<span style="color: #27ae60;">β Returned</span>
{% elif issue.is_overdue() %}
<span style="color: #e74c3c;">β οΈ Overdue ({{ issue.days_overdue() }} days)</span>
{% else %}
<span style="color: #3498db;">π Issued</span>
{% endif %}
</td>
</tr>
{% endfor %}
</table>
</div>
{% endif %}
{% endblock %}
|