313 lines
11 KiB
HTML
313 lines
11 KiB
HTML
{% load static %}
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<link rel="apple-touch-icon"
|
|
sizes="180x180"
|
|
href="{% static 'apple-touch-icon.png' %}" />
|
|
<link rel="icon"
|
|
type="image/png"
|
|
sizes="32x32"
|
|
href="{% static 'favicon-32x32.png' %}" />
|
|
<link rel="icon"
|
|
type="image/png"
|
|
sizes="16x16"
|
|
href="{% static 'favicon-16x16.png' %}" />
|
|
<link rel="manifest" href="{% static 'site.webmanifest' %}" />
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="keywords" content="Twitch, Drops" />
|
|
<title>
|
|
{% block title %}
|
|
ttvdrops
|
|
{% endblock title %}
|
|
</title>
|
|
{% include "includes/meta_tags.html" %}
|
|
<!-- Feed discovery links -->
|
|
<!-- Read {% url 'core:docs_rss' %} for more details on available feeds -->
|
|
<link rel="alternate"
|
|
type="application/rss+xml"
|
|
title="All campaigns (RSS)"
|
|
href="{% url 'core:campaign_feed' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All campaigns (Atom)"
|
|
href="{% url 'core:campaign_feed_atom' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All campaigns (Discord)"
|
|
href="{% url 'core:campaign_feed_discord' %}" />
|
|
<link rel="alternate"
|
|
type="application/rss+xml"
|
|
title="Newly added games (RSS)"
|
|
href="{% url 'core:game_feed' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="Newly added games (Atom)"
|
|
href="{% url 'core:game_feed_atom' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="Newly added games (Discord)"
|
|
href="{% url 'core:game_feed_discord' %}" />
|
|
<link rel="alternate"
|
|
type="application/rss+xml"
|
|
title="Newly added organizations (RSS)"
|
|
href="{% url 'core:organization_feed' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="Newly added organizations (Atom)"
|
|
href="{% url 'core:organization_feed_atom' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="Newly added organizations (Discord)"
|
|
href="{% url 'core:organization_feed_discord' %}" />
|
|
<link rel="alternate"
|
|
type="application/rss+xml"
|
|
title="Newly added reward campaigns (RSS)"
|
|
href="{% url 'core:reward_campaign_feed' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="Newly added reward campaigns (Atom)"
|
|
href="{% url 'core:reward_campaign_feed_atom' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="Newly added reward campaigns (Discord)"
|
|
href="{% url 'core:reward_campaign_feed_discord' %}" />
|
|
<link rel="alternate"
|
|
type="application/rss+xml"
|
|
title="All Kick campaigns (RSS)"
|
|
href="{% url 'kick:campaign_feed' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All Kick campaigns (Atom)"
|
|
href="{% url 'kick:campaign_feed_atom' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All Kick campaigns (Discord)"
|
|
href="{% url 'kick:campaign_feed_discord' %}" />
|
|
<link rel="alternate"
|
|
type="application/rss+xml"
|
|
title="All Kick games (RSS)"
|
|
href="{% url 'kick:game_feed' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All Kick games (Atom)"
|
|
href="{% url 'kick:game_feed_atom' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All Kick games (Discord)"
|
|
href="{% url 'kick:game_feed_discord' %}" />
|
|
<link rel="alternate"
|
|
type="application/rss+xml"
|
|
title="All Kick organizations (RSS)"
|
|
href="{% url 'kick:organization_feed' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All Kick organizations (Atom)"
|
|
href="{% url 'kick:organization_feed_atom' %}" />
|
|
<link rel="alternate"
|
|
type="application/atom+xml"
|
|
title="All Kick organizations (Discord)"
|
|
href="{% url 'kick:organization_feed_discord' %}" />
|
|
{# Allow child templates to inject page-specific alternates into the head #}
|
|
{% block extra_head %}
|
|
{% endblock extra_head %}
|
|
<style>
|
|
html {
|
|
color-scheme: light dark;
|
|
}
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
line-height: 1.4;
|
|
padding: 0;
|
|
font-size: 115%;
|
|
max-width: 75%;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
@media (max-width: 900px) {
|
|
body {
|
|
max-width: 95%;
|
|
}
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
}
|
|
|
|
th,
|
|
td {
|
|
padding: 8px;
|
|
text-align: left;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
th {
|
|
background-color: Canvas;
|
|
color: CanvasText;
|
|
font-weight: bold;
|
|
}
|
|
|
|
tr:nth-child(even) {
|
|
background-color: color-mix(in srgb, Canvas 95%, CanvasText 5%);
|
|
}
|
|
|
|
td>img {
|
|
display: block;
|
|
height: 160px;
|
|
width: 160px;
|
|
object-fit: cover;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.campaign-benefits {
|
|
margin-top: 4px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
|
|
.benefit-item {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
background-color: color-mix(in srgb, Canvas 90%, CanvasText 10%);
|
|
border-radius: 4px;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.benefit-item img {
|
|
width: 24px !important;
|
|
height: 24px !important;
|
|
display: inline-block !important;
|
|
margin-right: 4px;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
.highlight {
|
|
background: #0d1117;
|
|
color: #E6EDF3;
|
|
}
|
|
|
|
.highlight .p {
|
|
color: #E6EDF3;
|
|
}
|
|
|
|
.highlight .nt {
|
|
color: #7EE787;
|
|
}
|
|
|
|
.highlight .s2,
|
|
.highlight .mi {
|
|
color: #A5D6FF;
|
|
}
|
|
|
|
.highlight .kc {
|
|
color: #79C0FF;
|
|
}
|
|
|
|
.highlight .w {
|
|
color: #6E7681;
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme: light) {
|
|
.highlight {
|
|
background: #f6f8fa;
|
|
color: #24292e;
|
|
}
|
|
|
|
.highlight .p {
|
|
color: #24292e;
|
|
}
|
|
|
|
.highlight .nt {
|
|
color: #005cc5;
|
|
}
|
|
|
|
.highlight .s2,
|
|
.highlight .mi {
|
|
color: #032f62;
|
|
}
|
|
|
|
.highlight .kc {
|
|
color: #d73a49;
|
|
}
|
|
|
|
.highlight .w {
|
|
color: #6a737d;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<a href="{% url 'twitch:dashboard' %}">Dashboard</a> |
|
|
<a href="{% url 'core:docs_rss' %}">RSS</a> |
|
|
<a href="{% url 'core:debug' %}">Debug</a> |
|
|
<a href="{% url 'core:dataset_backups' %}">Dataset</a> |
|
|
<a href="https://github.com/sponsors/TheLovinator1">Donate</a> |
|
|
<a href="https://github.com/TheLovinator1/ttvdrops">GitHub</a> |
|
|
<form action="{% url 'core:search' %}" method="get" style="display: inline">
|
|
<input type="search"
|
|
name="q"
|
|
placeholder="Search..."
|
|
value="{{ request.GET.q }}" />
|
|
<button type="submit">Search</button>
|
|
</form>
|
|
<br />
|
|
<strong>Twitch</strong>
|
|
<a href="{% url 'twitch:campaign_list' %}">Campaigns</a> |
|
|
<a href="{% url 'twitch:reward_campaign_list' %}">Rewards</a> |
|
|
<a href="{% url 'twitch:games_grid' %}">Games</a> |
|
|
<a href="{% url 'twitch:org_list' %}">Orgs</a> |
|
|
<a href="{% url 'twitch:channel_list' %}">Channels</a> |
|
|
<a href="{% url 'twitch:badge_list' %}">Badges</a> |
|
|
<a href="{% url 'twitch:emote_gallery' %}">Emotes</a> |
|
|
<a href="https://www.twitch.tv/drops/inventory">Inventory</a>
|
|
<br />
|
|
<strong>Kick</strong>
|
|
<a href="{% url 'kick:dashboard' %}">Dashboard</a> |
|
|
<a href="{% url 'kick:campaign_list' %}">Campaigns</a> |
|
|
<a href="{% url 'kick:game_list' %}">Games</a> |
|
|
<a href="{% url 'kick:organization_list' %}">Organizations</a>
|
|
<br />
|
|
<strong>Other sites</strong>
|
|
<a href="#">Steam</a> |
|
|
<a href="{% url 'youtube:index' %}">YouTube</a> |
|
|
<a href="#">TikTok</a> |
|
|
<a href="#">Discord</a>
|
|
</nav>
|
|
<hr />
|
|
{% if messages %}
|
|
<ul>
|
|
{% for message in messages %}
|
|
<li>
|
|
{% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}Important:{% endif %}
|
|
{{ message|linebreaksbr }}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
{% block content %}
|
|
<!-- Main content will be injected here -->
|
|
{% endblock content %}
|
|
<footer>
|
|
<div style="text-align: center; font-size: 0.9em; color: #6a737d">
|
|
<img src="{% static 'toycar_driving_lc.gif' %}"
|
|
alt="Animated toy car driving"
|
|
width="156"
|
|
height="156"
|
|
loading="lazy" />
|
|
<br />
|
|
CC0; Information wants to be free.
|
|
<br />
|
|
Data retrival possible because of <a href="https://github.com/DevilXD/TwitchDropsMiner">DevilXD/TwitchDropsMiner</a>.
|
|
<br />
|
|
Data fetched at :01, :16, :31, and :46.
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|