Compare commits

...

3 Commits

Author SHA1 Message Date
Aaron Kable
2a3d775a9b add icon remoaval 2026-01-09 12:23:04 +08:00
Aaron Kable
648733d537 reset counters 2026-01-09 11:47:44 +08:00
Aaron Kable
70caf7606c Add the id's for counters 2026-01-09 11:33:16 +08:00
2 changed files with 63 additions and 12 deletions

View File

@@ -19,7 +19,7 @@
{% translate "Join Requests" %}
{% if acceptrequests %}
<span class="badge text-bg-secondary">{{ acceptrequests|length }}</span>
<span id="acceptRequestsCounter" class="badge text-bg-secondary">{{ acceptrequests|length }}</span>
{% endif %}
</a>
</li>
@@ -30,7 +30,7 @@
{% translate "Leave Requests" %}
{% if leaverequests %}
<span class="badge text-bg-secondary">{{ leaverequests|length }}</span>
<span id="leaveRequestsCounter" class="badge text-bg-secondary">{{ leaverequests|length }}</span>
{% endif %}
</a>
</li>
@@ -48,7 +48,7 @@
<div id="add" class="tab-pane active">
{% if acceptrequests %}
<div>
<table id="table-add" class="table table-responsive">
<table id="table-add" class="table table-responsive w-100">
<thead>
<tr>
<th>{% translate "Character" %}</th>
@@ -123,7 +123,7 @@
<div id="leave" class="tab-pane">
{% if leaverequests %}
<div>
<table id="table-rem" class="table table-responsive">
<table id="table-rem" class="table table-responsive w-100">
<thead>
<tr>
<th>{% translate "Character" %}</th>
@@ -271,19 +271,48 @@
function hitAuth(classLookup, table, URL){
toggleButtons(classLookup);
fetch(URL)
let output = fetch(URL)
.then(response => {
if (!response.ok) {
toggleButtons(classLookup);
return
return true;
}
removeRow(table, classLookup)
})
.catch(error => {
toggleButtons(classLookup);
return;
return false;
});
toggleButtons(classLookup);
return output;
}
function decreaseCounterElement(elem){
count = Number(elem.innerText);
count -= 1;
if (!count){
elem.classList.add("d-none");
} else {
elem.innerText = count;
}
}
function decreaseCounter(id){
elem = document.getElementById(id);
if (elem){decreaseCounterElement(elem)}
}
function decreaseMenuCounter(){
decreaseCounter("globalNotificationCount");
let elem = document.querySelector("a[href='{% url "groupmanagement:management" %}']");
if (elem) {
let badge = elem.parentElement.querySelector("span");
if (badge){decreaseCounterElement(badge)}
if (elem.parentElement.parentElement.parentElement.tagName === "LI"){
let folderBadge = elem.parentElement.parentElement.parentElement.querySelector("span");
if (folderBadge){decreaseCounterElement(folderBadge)}
}
}
}
let acceptJoinButtons = document.querySelectorAll(".join-accept");
@@ -291,7 +320,10 @@
elem.addEventListener("click", function(event) {
url = `${acceptJoinURL}${event.target.id}/`
let elemClass = `.btns-join-${event.target.id}`
hitAuth(elemClass, tableAdd, url)
if (hitAuth(elemClass, tableAdd, url)){
decreaseCounter("acceptRequestsCounter")
decreaseMenuCounter()
}
});
});
@@ -300,7 +332,10 @@
elem.addEventListener("click", function(event) {
url = `${rejectJoinURL}${event.target.id}/`
let elemClass = `.btns-join-${event.target.id}`
hitAuth(elemClass, tableAdd, url)
if (hitAuth(elemClass, tableAdd, url)){
decreaseCounter("acceptRequestsCounter")
decreaseMenuCounter()
}
});
});
@@ -309,7 +344,10 @@
elem.addEventListener("click", function(event) {
url = `${acceptLeaveURL}${event.target.id}/`
let elemClass = `.btns-leave-${event.target.id}`
hitAuth(elemClass, tableRem, url)
if (hitAuth(elemClass, tableRem, url)){
decreaseCounter("leaveRequestsCounter")
decreaseMenuCounter()
}
});
});
@@ -318,10 +356,23 @@
elem.addEventListener("click", function(event) {
url = `${rejectLeaveURL}${event.target.id}/`
let elemClass = `.btns-leave-${event.target.id}`
hitAuth(elemClass, tableRem, url)
if (hitAuth(elemClass, tableRem, url)){
decreaseCounter("leaveRequestsCounter")
decreaseMenuCounter()
}
});
});
// Filter Dropdown sets widths so lets remove them when we tab change so they actually show.
$('a[data-bs-toggle="tab"]').on('shown.bs.tab', function (e) {
let elems = document.querySelectorAll(".form-select");
elems.forEach(
function(e) {
e.style.maxWidth = "";
}
);
});
});
</script>
{% endblock extra_javascript %}

View File

@@ -20,7 +20,7 @@ $(document).ready(() => {
if (badges.length > 0 && notificationCount > 0) {
const notificationBadge = document.createElement('span');
notificationBadge.id = "globalNotificationCount";
notificationBadge.classList.add(
'badge',
'text-bg-danger',