Use Bootstrap from disk instead of CDN
This commit is contained in:
@ -28,14 +28,14 @@
|
||||
<article class="container mt-5">
|
||||
<header class="d-flex justify-content-between align-items-center py-3 border-bottom">
|
||||
<h1 class="h2">
|
||||
<a href='{% url "core:index" %}' class="text-decoration-none">Twitch drops</a>
|
||||
<a href='{% url "core:index" %}' class="text-decoration-none nav-title">Twitch drops</a>
|
||||
</h1>
|
||||
<nav>
|
||||
<ul class="nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href='{% url "api-1.0.0:openapi-view" %}'>API</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<li class="nav-item d-none d-sm-block">
|
||||
<a class="nav-link" href="https://github.com/sponsors/TheLovinator1">Donate</a>
|
||||
</li>
|
||||
<li>
|
||||
@ -54,6 +54,7 @@
|
||||
</nav>
|
||||
</header>
|
||||
{% block content %}
|
||||
<p>Content goes here</p>
|
||||
{% endblock content %}
|
||||
</article>
|
||||
<script src="{% static 'js/bootstrap.min.js' %}"></script>
|
||||
|
@ -9,8 +9,8 @@
|
||||
<img src="{{ game.image_url }}"
|
||||
alt="{{ game.display_name }}"
|
||||
class="img-fluid rounded-start"
|
||||
height="100"
|
||||
width="100"
|
||||
height="150"
|
||||
width="150"
|
||||
loading="lazy">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
@ -21,47 +21,39 @@
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{% if discord_settings %}
|
||||
<div class="card-body">
|
||||
<form action='{% url "core:subscription_create" %}'
|
||||
method="post"
|
||||
class="mb-2">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="game_id" value="{{ game.id }}">
|
||||
<select name="discord_webhook" class="form-select">
|
||||
{% for discord_setting in discord_settings %}
|
||||
<option value="{{ discord_setting.id }}">{{ discord_setting.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<div>
|
||||
<a href="#" class="card-link mt-2">Notify when new drop are found</a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="#" class="card-link mt-2">Notify when the drop is live</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="card-body card-bottom">
|
||||
{% if discord_settings %}
|
||||
<div class="card-body">
|
||||
<div>Available on iOS: {{ game_data.ios_available|yesno:"Yes,No" }}</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="card-body text-end">
|
||||
<a href="{% url 'core:add_discord_webhook' %}" class="card-link">Add Discord settings</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="card-body card-bottom">
|
||||
<div class="row">
|
||||
{% for drop_benefit in game_data.drop_benefits %}
|
||||
<div class="col-6 col-md-4 d-flex align-items-center mb-2 position-relative">
|
||||
<img src="{{ drop_benefit.image_asset_url }}"
|
||||
alt="{{ drop_benefit.name }}"
|
||||
class="img-fluid rounded me-3"
|
||||
height="50"
|
||||
width="50"
|
||||
loading="lazy">
|
||||
{# Only show the entitlement limit if it's not None or above 1 #}
|
||||
{% if drop_benefit.entitlement_limit > 1 %}
|
||||
<span class="badge bg-primary position-absolute top-100 start-20 translate-middle">{{ drop_benefit.entitlement_limit }}
|
||||
<span class="visually-hidden">limit per account</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
{{ drop_benefit.name }}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="card-body text-end">
|
||||
<a href="{% url 'core:add_discord_webhook' %}" class="card-link">Add Discord settings</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
{% for drop_benefit in game_data.drop_benefits %}
|
||||
<li class="list-group-item d-flex align-items-center">
|
||||
<img src="{{ drop_benefit.image_asset_url }}"
|
||||
alt="{{ drop_benefit.name }}"
|
||||
class="img-fluid rounded me-3"
|
||||
height="50"
|
||||
width="50"
|
||||
loading="lazy">
|
||||
<a href="{{ drop_benefit.details_url }}" class="text-decoration-none">{{ drop_benefit.name }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
@ -1,8 +1,10 @@
|
||||
/* Make background color darker and text white */
|
||||
body {
|
||||
background-color: #0c0c0c;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* Make links white */
|
||||
a {
|
||||
color: #ffffff;
|
||||
}
|
||||
@ -19,43 +21,37 @@ a:hover {
|
||||
color: #e91e63;
|
||||
}
|
||||
|
||||
/* Make the logo text pink */
|
||||
.nav-title {
|
||||
color: #e91e63;
|
||||
}
|
||||
|
||||
/* Top half of the card */
|
||||
.card {
|
||||
background-color: #111111;
|
||||
border: 1px solid #111111;
|
||||
border: 1px solid #000000;
|
||||
}
|
||||
|
||||
.card-title a {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.card-title a:hover {
|
||||
color: #e91e63;
|
||||
}
|
||||
|
||||
.alert {
|
||||
background-color: #333333;
|
||||
border-color: #444444;
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
/* Bottom half of the card */
|
||||
.card-bottom {
|
||||
background-color: #141414;
|
||||
border: 1px solid #141414;
|
||||
}
|
||||
|
||||
.list-group-item a {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.list-group-item a:hover {
|
||||
color: #e91e63;
|
||||
border-top: 1px solid #000000;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #06172e;
|
||||
border-color: #000c1d;
|
||||
background-color: #e91e63;
|
||||
border-color: #111111;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #040e1d;
|
||||
border-color: #000c1d;
|
||||
background-color: #af1548;
|
||||
border-color: #111111;
|
||||
}
|
||||
|
||||
/* Django alerts */
|
||||
/* https://docs.djangoproject.com/en/5.0/ref/contrib/messages/ */
|
||||
.alert {
|
||||
background-color: #181818;
|
||||
border-color: #444444;
|
||||
}
|
||||
|
Reference in New Issue
Block a user