ixg_platform/templates/portal/dashboard.html

74 lines
No EOL
2.6 KiB
HTML

{% extends 'portal/base_portal.html' %}
{% block title %}Dashboard - IXG Buyer Portal{% endblock %}
{% block content %}
<div class="page-header d-flex justify-content-between align-items-center">
<h2>Buyer Dashboard</h2>
<span class="text-secondary">Batches available: <strong>{{ total_batches }}</strong></span>
</div>
<div class="row g-3 mb-4">
<div class="col-md-4">
<div class="stat-card">
<div class="stat-value text-primary">{{ total_batches }}</div>
<div class="stat-label">Total Batches</div>
</div>
</div>
<div class="col-md-4">
<div class="stat-card">
<div class="stat-value text-success">{{ active_shipments }}</div>
<div class="stat-label">Active Shipments</div>
</div>
</div>
<div class="col-md-4">
<div class="stat-card">
<div class="stat-value text-info">{{ documents|length }}</div>
<div class="stat-label">Recent Documents</div>
</div>
</div>
</div>
<div class="row g-3">
<div class="col-md-7">
<div class="stat-card">
<h6 class="mb-3">Recent Batches</h6>
<table class="table table-sm mb-0">
<thead><tr><th>Reference</th><th>Grade</th><th>Status</th><th>Harvest Date</th></tr></thead>
<tbody>
{% for b in recent_batches %}
<tr>
<td><a href="{% url 'portal:batch_detail' b.pk %}">{{ b.batch_reference }}</a></td>
<td>{{ b.grade|default:'-' }}</td>
<td><span class="badge bg-secondary badge-status">{{ b.get_status_display }}</span></td>
<td>{{ b.harvest_date|date:'d/m/Y'|default:'-' }}</td>
</tr>
{% empty %}
<tr><td colspan="4" class="text-muted">No batches</td></tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
<div class="col-md-5">
<div class="stat-card mb-3">
<h6 class="mb-3">Recent Documents</h6>
{% for d in documents %}
<div class="border-bottom pb-2 mb-2">
<strong>{{ d.file_name }}</strong><br>
<span class="text-muted small">{{ d.get_doc_type_display }} · {{ d.uploaded_at|date:'d/m/Y' }}</span>
</div>
{% empty %}
<p class="text-muted mb-0">No documents available</p>
{% endfor %}
</div>
{% if subscription %}
<div class="stat-card">
<h6 class="mb-2">Subscription</h6>
<span class="badge {% if subscription.status == 'active' %}bg-success{% else %}bg-warning text-dark{% endif %}">{{ subscription.get_status_display }}</span>
<span class="text-muted ms-2">{{ subscription.get_plan_display }}</span>
</div>
{% endif %}
</div>
</div>
{% endblock %}