107 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends "base.html" %}
 | 
						|
{% load custom_filters static time_filters %}
 | 
						|
{% block content %}
 | 
						|
    <div class="container mt-4">
 | 
						|
        {% include "partials/info_box.html" %}
 | 
						|
        <!-- Drop Campaigns Section -->
 | 
						|
        <section class="drop-campaigns">
 | 
						|
            <h2>
 | 
						|
                Drop Campaigns -
 | 
						|
                <span class="d-inline text-muted">{{ games.count }} game{{ games.count|pluralize }}</span>
 | 
						|
            </h2>
 | 
						|
            <!-- Loop through games -->
 | 
						|
            {% for game in games %}
 | 
						|
                <div class="card mb-4 shadow-sm">
 | 
						|
                    <div class="row g-0">
 | 
						|
                        <!-- Game Box Art -->
 | 
						|
                        <div class="col-md-2">
 | 
						|
                            <img src="{{ game.box_art_url|default:'https://static-cdn.jtvnw.net/ttv-static/404_boxart.jpg' }}"
 | 
						|
                                 alt="{{ game.name|default:'Game name unknown' }} box art"
 | 
						|
                                 class="img-fluid rounded-start"
 | 
						|
                                 height="283"
 | 
						|
                                 width="212"
 | 
						|
                                 loading="lazy" />
 | 
						|
                        </div>
 | 
						|
                        <!-- Game Details -->
 | 
						|
                        <div class="col-md-10">
 | 
						|
                            <div class="card-body">
 | 
						|
                                <h2 class="card-title h5">
 | 
						|
                                    <a href="{% url 'game' game.twitch_id %}" class="text-decoration-none">{{ game.name|default:'Unknown' }}</a>
 | 
						|
                                    -
 | 
						|
                                    <a href="https://www.twitch.tv/directory/category/{{ game.slug|default:'game-name-unknown' }}"
 | 
						|
                                       class="text-decoration-none text-muted">Twitch</a>
 | 
						|
                                </h2>
 | 
						|
                                <!-- Loop through campaigns for each game -->
 | 
						|
                                {% for campaign in game.drop_campaigns.all %}
 | 
						|
                                    <div class="mt-4">
 | 
						|
                                        <h4 class="h6">{{ campaign.name }}</h4>
 | 
						|
                                        <a href="{{ campaign.details_url }}" class="text-decoration-none">Details</a>
 | 
						|
                                        {% if campaign.details_url != campaign.account_link_url %}
 | 
						|
                                            | <a href="{{ campaign.account_link_url }}" class="text-decoration-none">Link Account</a>
 | 
						|
                                        {% endif %}
 | 
						|
                                        <p class="mb-2 text-muted">
 | 
						|
                                            Ends in:
 | 
						|
                                            <abbr title="{{ campaign.starts_at|date:'l d F H:i' }} - {{ campaign.ends_at|date:'l d F H:i' }}">
 | 
						|
                                                {{ campaign.ends_at|timeuntil }}
 | 
						|
                                            </abbr>
 | 
						|
                                        </p>
 | 
						|
                                        <!-- Drop Benefits Table -->
 | 
						|
                                        <div class="table-responsive">
 | 
						|
                                            <table class="table table-striped table-hover align-middle">
 | 
						|
                                                <thead>
 | 
						|
                                                    <tr>
 | 
						|
                                                        <th>Benefit Image</th>
 | 
						|
                                                        <th>Benefit Name</th>
 | 
						|
                                                        <th>Required Minutes Watched</th>
 | 
						|
                                                    </tr>
 | 
						|
                                                </thead>
 | 
						|
                                                <tbody>
 | 
						|
                                                    {% for drop in campaign.drops.all %}
 | 
						|
                                                        {% if drop.benefits.exists %}
 | 
						|
                                                            {% for benefit in drop.benefits.all %}
 | 
						|
                                                                <tr>
 | 
						|
                                                                    <td>
 | 
						|
                                                                        <img src="{{ benefit.image_url|default:'https://static-cdn.jtvnw.net/ttv-static/404_boxart.jpg' }}"
 | 
						|
                                                                             alt="{{ benefit.name|default:'Unknown' }}"
 | 
						|
                                                                             class="img-fluid rounded"
 | 
						|
                                                                             height="50"
 | 
						|
                                                                             width="50"
 | 
						|
                                                                             loading="lazy" />
 | 
						|
                                                                    </td>
 | 
						|
                                                                    <td>
 | 
						|
                                                                        <abbr title="{{ drop.name|default:'Unknown' }}">
 | 
						|
                                                                            {{ benefit.name|default:'Unknown' }}
 | 
						|
                                                                        </abbr>
 | 
						|
                                                                    </td>
 | 
						|
                                                                    <td>{{ drop.required_minutes_watched|minutes_to_hours }}</td>
 | 
						|
                                                                </tr>
 | 
						|
                                                            {% endfor %}
 | 
						|
                                                        {% else %}
 | 
						|
                                                            <tr>
 | 
						|
                                                                <td>
 | 
						|
                                                                    <img src="https://static-cdn.jtvnw.net/ttv-static/404_boxart.jpg"
 | 
						|
                                                                         alt="{{ drop.name|default:'Unknown' }}"
 | 
						|
                                                                         class="img-fluid rounded"
 | 
						|
                                                                         height="50"
 | 
						|
                                                                         width="50"
 | 
						|
                                                                         loading="lazy" />
 | 
						|
                                                                </td>
 | 
						|
                                                                <td>{{ drop.name|default:'Unknown' }}</td>
 | 
						|
                                                                <td>N/A</td>
 | 
						|
                                                            </tr>
 | 
						|
                                                        {% endif %}
 | 
						|
                                                    {% endfor %}
 | 
						|
                                                </tbody>
 | 
						|
                                            </table>
 | 
						|
                                        </div>
 | 
						|
                                    </div>
 | 
						|
                                {% endfor %}
 | 
						|
                            </div>
 | 
						|
                        </div>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
            {% endfor %}
 | 
						|
        </section>
 | 
						|
    </div>
 | 
						|
{% endblock content %}
 |