96 lines
No EOL
4.5 KiB
HTML
96 lines
No EOL
4.5 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Dashboard - Twitch Drops Tracker{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row mb-3">
|
|
<div class="col">
|
|
<h1 class="mb-2"><i class="fas fa-tachometer-alt me-2 twitch-color"></i>Dashboard</h1>
|
|
<p class="lead mb-3">Track your active Twitch drop campaigns and progress.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<div class="col-12">
|
|
<div class="card border-0 shadow-sm">
|
|
<div class="card-header bg-twitch py-2">
|
|
<h5 class="mb-0"><i class="fas fa-fire me-2"></i>Active Campaigns</h5>
|
|
</div>
|
|
<div class="card-body py-3">
|
|
{% if active_campaigns %}
|
|
<div class="row g-3">
|
|
{% for campaign in active_campaigns %}
|
|
<div class="col-md-6 col-lg-4 col-xl-3">
|
|
<div class="d-flex campaign-card campaign-active border rounded p-2">
|
|
<div class="campaign-image me-3">
|
|
{% if campaign.image_url %}
|
|
<img src="{{ campaign.image_url }}" width="80" height="80" class="rounded"
|
|
alt="{{ campaign.name }}" style="object-fit: cover;">
|
|
{% else %}
|
|
<div class="bg-light rounded"
|
|
style="width: 80px; height: 80px; display: flex; align-items: center; justify-content: center;">
|
|
<i class="fas fa-image text-muted" style="font-size: 1.5rem;"></i>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
<div class="campaign-details flex-grow-1">
|
|
<h6 class="mb-1 text-truncate" title="{{ campaign.name }}">{{ campaign.name }}</h6>
|
|
<p class="mb-1 small text-muted">
|
|
<a href="{% url 'twitch:game_detail' campaign.game.id %}"
|
|
class="text-decoration-none">
|
|
<i class="fas fa-gamepad me-1"></i>{{ campaign.game.display_name }}
|
|
</a>
|
|
</p>
|
|
<div class="d-flex justify-content-between align-items-center mt-1">
|
|
<span class="badge bg-success">Active</span>
|
|
<a href="{% url 'twitch:campaign_detail' campaign.id %}"
|
|
class="btn btn-sm btn-outline-primary">Details</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% else %}
|
|
<div class="alert alert-info py-2">
|
|
<i class="fas fa-info-circle me-2"></i>No active campaigns at the moment.
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card border-0 shadow-sm">
|
|
<div class="card-header bg-dark text-white py-2">
|
|
<h5 class="mb-0"><i class="fas fa-chart-bar me-2"></i>Quick Stats</h5>
|
|
</div>
|
|
<div class="card-body py-3">
|
|
<div class="row text-center g-2">
|
|
<div class="col-md-4 mb-2 mb-md-0">
|
|
<div class="p-2 border rounded">
|
|
<h3 class="twitch-color mb-0">{{ active_campaigns.count }}</h3>
|
|
<p class="mb-0 small text-muted">Active Campaigns</p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4 mb-2 mb-md-0">
|
|
<div class="p-2 border rounded">
|
|
<h3 class="text-primary mb-0">{{ now|date:"F j, Y" }}</h3>
|
|
<p class="mb-0 small text-muted">Current Date</p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="p-2 border rounded">
|
|
<a href="{% url 'twitch:campaign_list' %}" class="btn btn-primary w-100">
|
|
<i class="fas fa-list me-1"></i>All Campaigns
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |