External stylesheets & sub modal layout

This commit is contained in:
Corban-Lee Jones 2024-03-12 13:53:36 +00:00
parent bf6a50aa34
commit a68b33fc56
5 changed files with 118 additions and 107 deletions

View File

@ -0,0 +1,18 @@
/* modal tabs */
.modal-tabs {
background-color: var(--bs-tertiary-bg);
}
.modal-tabs .nav-link {
border-top: none;
border-radius: 0;
}
.modal-tabs .nav-link:first-child {
margin-left: 1rem;
}
.modal-tabs .nav-link:last-child {
margin-right: 1rem;
}

View File

@ -136,4 +136,71 @@ body {
.header {
border-bottom: 1px solid var(--border-colour);
}
/* Animated Button Borders */
.draw-border-success:hover {
color: var(--bs-success);
}
.draw-border-success:hover::before, .draw-border-success:hover::after {
border-color: var(--bs-success);
}
.draw-border-primary:hover {
color: var(--bs-primary);
}
.draw-border-primary:hover::before, .draw-border-primary:hover::after {
border-color: var(--bs-primary);
}
.draw-border-secondary:hover {
color: var(--bs-secondary);
}
.draw-border-secondary:hover::before, .draw-border-secondary:hover::after {
border-color: var(--bs-secondary);
}
.draw-border-danger:hover {
color: var(--bs-danger);
}
.draw-border-danger:hover::before, .draw-border-danger:hover::after {
border-color: var(--bs-danger);
}
.draw-border {
box-shadow: inset 0 0 0 1px var(--border-colour);
color: var(--bs-body-color);
transition: color 0.15s 0.0833333333s;
position: relative;
}
.draw-border::before, .draw-border::after {
border: 0 solid transparent;
box-sizing: border-box;
content: '';
pointer-events: none;
position: absolute;
width: 0;
height: 0;
bottom: 0;
right: 0;
}
.draw-border::before {
border-bottom-width: 1px;
border-left-width: 1px;
}
.draw-border::after {
border-top-width: 1px;
border-right-width: 1px;
}
.draw-border:hover::before, .draw-border:hover::after {
transition: border-color 0s, width 0.15s, height 0.15s;
width: 100%;
height: 100%;
}
.draw-border:hover::before {
transition-delay: 0s, 0s, 0.15s;
}
.draw-border:hover::after {
transition-delay: 0s, 0.15s, 0s;
}

View File

@ -5,93 +5,7 @@
<!-- Specific CSS goes HERE -->
{% block stylesheets %}
<style>
.draw-border-success:hover {
color: var(--bs-success);
}
.draw-border-success:hover::before, .draw-border-success:hover::after {
border-color: var(--bs-success);
}
.draw-border-primary:hover {
color: var(--bs-primary);
}
.draw-border-primary:hover::before, .draw-border-primary:hover::after {
border-color: var(--bs-primary);
}
.draw-border-secondary:hover {
color: var(--bs-secondary);
}
.draw-border-secondary:hover::before, .draw-border-secondary:hover::after {
border-color: var(--bs-secondary);
}
.draw-border-danger:hover {
color: var(--bs-danger);
}
.draw-border-danger:hover::before, .draw-border-danger:hover::after {
border-color: var(--bs-danger);
}
.draw-border {
box-shadow: inset 0 0 0 1px var(--border-colour);
color: var(--bs-body-color);
transition: color 0.15s 0.0833333333s;
position: relative;
}
.draw-border::before, .draw-border::after {
border: 0 solid transparent;
box-sizing: border-box;
content: '';
pointer-events: none;
position: absolute;
width: 0;
height: 0;
bottom: 0;
right: 0;
}
.draw-border::before {
border-bottom-width: 1px;
border-left-width: 1px;
}
.draw-border::after {
border-top-width: 1px;
border-right-width: 1px;
}
.draw-border:hover::before, .draw-border:hover::after {
transition: border-color 0s, width 0.15s, height 0.15s;
width: 100%;
height: 100%;
}
.draw-border:hover::before {
transition-delay: 0s, 0s, 0.15s;
}
.draw-border:hover::after {
transition-delay: 0s, 0.15s, 0s;
}
/* modal tabs */
.modal-tabs {
background-color: var(--bs-tertiary-bg);
}
.modal-tabs .nav-link {
border-top: none;
border-radius: 0;
}
.modal-tabs .nav-link:first-child {
margin-left: 1rem;
}
.modal-tabs .nav-link:last-child {
margin-right: 1rem;
}
</style>
<link rel="stylesheet" href="{% static 'css/home/main.css' %}">
{% endblock stylesheets %}
{% block content %}
@ -159,7 +73,7 @@
<h3 class="mB-0">Subscriptions</h3>
</div>
<div class="peer fs-5 fw-bold">
<button class="btn bg-body bdrs-2 mR-3 cur-p draw-border draw-border-success" onclick="subEditModal(-1);">
<button class="btn bg-body bdrs-2 mR-3 cur-p waves-effect" onclick="subEditModal(-1);">
<i class="bi bi-plus"></i>
New Subscription
</button>
@ -178,7 +92,7 @@
<div id="subEditModal" class="modal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content bdrs-2 bd">
<div class="modal-header">
<div class="modal-header px-4 py-3">
<h5 class="modal-title"></h5>
</div>
<nav>
@ -188,23 +102,23 @@
<button id="navExtrasTab" class="nav-link" data-bs-toggle="tab" data-bs-target="#navExtrasPanel" type="button" role="tab" aria-controls="navExtrasPanel" aria-selected="true">Extras</button>
</div>
</nav>
<div class="modal-body">
<div class="modal-body px-4 py-3">
<form id="subEditForm" class="needs-validation" novalidate>
<div class="tab-content">
<div id="navDetailsPanel" class="tab-pane fade" role="tabpanel" aria-labelledby="navDetailsTab" tabindex="0">
<div class="mb-3">
<label for="editSubName" class="form-label">Name</label>
<input type="text" name="editSubName" id="editSubName" class="form-control bdrs-2 bd" required maxlength="32">
<input type="text" name="editSubName" id="editSubName" class="form-control border-3 bd" required maxlength="32">
<div class="invalid-feedback">Required, Maximum of 32 Characters.</div>
</div>
<div class="mb-3">
<label for="editSubURL" class="form-label">URL</label>
<input type="url" name="editSubURL" id="editSubURL" class="form-control bdrs-2 bd" required>
<input type="url" name="editSubURL" id="editSubURL" class="form-control border-3 bd" required>
<div class="invalid-feedback">Please Enter a Valid URL.</div>
</div>
<div>
<label for="editSubImage" class="form-label">Image</label>
<input type="file" name="editSubImage" id="editSubImage" class="form-control bdrs-2 bd">
<input type="file" name="editSubImage" id="editSubImage" class="form-control border-3 bd">
<div class="form-text">Optional</div>
<div class="invalid-feedback">This Image Is Invalid.</div>
</div>
@ -212,7 +126,7 @@
<div id="navChannelPanel" class="tab-pane fade" role="tabpanel" aria-labelledby="navChannelTab" tabindex="0">
<div class="mb-3">
<label for="editSubServer" class="form-label">Server</label>
<select name="editSubServer" id="editSubServer" class="form-select bdrs-2 bd" required>
<select name="editSubServer" id="editSubServer" class="form-select border-3 bd" required>
<option value="">Select a server</option>
</select>
<div class="form-help">Ensure that PYRSS Bot is a member of the selected server.</div>
@ -220,7 +134,7 @@
</div>
<div>
<label for="editSubChannels">Channels</label>
<select name="editSubChannels" id="editSubChannels" class="form-select bdrs-2 bd" required multiple>
<select name="editSubChannels" id="editSubChannels" class="form-select border-3 bd" required multiple>
</select>
</div>
</div>
@ -233,12 +147,12 @@
</div>
</form>
</div>
<div class="modal-footer">
<button class="btn bg-body-tertiary bdrs-2 cur-p draw-border draw-border-success" onclick="submitSubEditModal();">
<div class="modal-footer px-4 py-3">
<button class="btn bg-body-tertiary rounded-3 waves-effect border-0" onclick="submitSubEditModal();">
<i class="bi bi-check me-1`"></i>
Submit
</button>
<button class="btn bg-body-tertiary bdrs-2 cur-p draw-border draw-border-secondary" data-bs-dismiss="modal">
<button class="btn bg-body-tertiary rounded-3 waves-effect border-0 ms-3" data-bs-dismiss="modal">
<i class="bi bi-x me-1`"></i>
Cancel
</button>
@ -261,7 +175,7 @@
<span class="sub-uuid"></span>
</div>
<div class="peer">
<img src="" alt="" class="sub-img rounded-3" width="100" height="100" style="object-fit: contain; ">
<img src="" alt="" class="sub-img rounded-3" width="100" height="100" style="object-fit: cover; ">
</div>
</div>
</div>
@ -271,38 +185,38 @@
</div>
<div class="layer w-100 p-4 pt-0 mt-auto">
<div class="peers text-center fs-5">
<div class="peer peer-greed" title="todo: amount of channels">
<div class="peer peer-greed" data-bs-toggle="tooltip" data-bs-title="Channels">
<!-- channels -->
<i class="bi bi-hash me-1"></i>
<span>1</span>
</div>
<div class="peer peer-greed" title="todo: amount of processed content">
<div class="peer peer-greed" data-bs-toggle="tooltip" data-bs-title="Tracked Items">
<!-- tracked -->
<i class="bi bi-search me-1"></i>
<span>0</span>
</div>
<div class="peer peer-greed" title="todo: amount of assigned filters">
<div class="peer peer-greed" data-bs-toggle="tooltip" data-bs-title="Filters">
<!-- filtered words -->
<i class="bi bi-filter me-1"></i>
<span>0</span>
</div>
</div>
</div>
<div class="layer w-100 bdT p-4">
<div class="layer w-100 bdT px-4 py-3">
<div class="peers ai-c">
<div class="peer peer-greed">
<div class="form-check form-switch ms-2">
<input type="checkbox" name="" id="" class="form-check-input" style="transform: scale(1.5);">
<input type="checkbox" class="sub-active form-check-input shadow-none" style="transform: scale(1.5);">
</div>
</div>
<div class="peer">
<button class="sub-edit btn bg-body-tertiary rounded-3">
<button class="sub-edit btn bg-body-tertiary waves-effect rounded-3 border-0">
<i class="bi bi-pencil me-1"></i>
Edit
</button>
</div>
<div class="peer ms-3">
<button class="sub-delete btn bg-body-tertiary rounded-3">
<button class="sub-delete btn bg-body-tertiary waves-effect rounded-3 border-0">
<i class="bi bi-trash3 me-1"></i>
Delete
</button>
@ -324,11 +238,20 @@
template.find(".sub-desc").text(data.extra_notes);
template.find(".sub-edit").attr("onclick", `subEditModal("${data.uuid}");`);
template.find(".sub-delete").attr("onclick", `unsubscribe("${data.uuid}");`);
template.find('[data-bs-toggle="tooltip"]').tooltip();
if (!data.extra_notes) {
template.find(".sub-desc").hide();
}
template.find(".sub-active").prop("checked", data.active).change(function() {
alert(JSON.stringify(data, null, 4));
getSubscription(data.uuid).then(function(resp) {
resp.active = $().prop("checked")
editSubscription(resp.uuid, resp)
});
});
return template
}

View File

@ -10,6 +10,8 @@
<script src="{% static '/js/perfectscrollbar.js' %}"></script>
<script src="{% static 'js/wavebtn.js' %}"></script>
<script src="{% static '/js/index.js' %}"></script>
<script src="{% static '/js/base.js' %}"></script>

View File

@ -19,6 +19,7 @@
<link type="text/css" rel="stylesheet" href="{% static '/css/adminator.css' %}" />
<link type="text/css" rel="stylesheet" href="{% static '/css/jquery.dataTables.min.css' %}" />
<link type="text/css" rel="stylesheet" href="{% static '/css/select2.min.css' %}" />
<link type="text/css" rel="stylesheet" href="{% static '/css/wavebtn.css' %}">
<link type="text/css" rel="stylesheet" href="{% static '/css/index.css' %}" />
<!-- Specific Page CSS goes HERE -->
@ -87,7 +88,7 @@
$(document).ready(function() {
$(".select-2").select2({
theme: "bootstrap",
minimumResultsForSearch: -1
minimumResultsForSearch: 5
});
});
</script>