rate limit warning
All checks were successful
Build and Push Docker Image / build (push) Successful in 15s

This commit is contained in:
Corban-Lee Jones 2024-10-11 00:27:22 +01:00
parent 15ce3c1dbb
commit e4e0264fd4
3 changed files with 46 additions and 22 deletions

View File

@ -234,3 +234,10 @@
.sidebar .sidebar-menu .dropdown-item { .sidebar .sidebar-menu .dropdown-item {
border-radius: var(--bs-border-radius-sm); border-radius: var(--bs-border-radius-sm);
} }
/* Rate Limit Message */
.server-rate-limit {
display: none;
}

View File

@ -178,26 +178,34 @@ $(document).on("selectedServerChange", async function() {
async function loadServers() { async function loadServers() {
$(".server-loading-item").show(); // Remove any previously loaded servers
generateServers() $(".sidebar .sidebar-item").closest("li").remove();
.then(servers => {
$("#serverList .sidebar-loading").remove(); // Show placeholder items & hide rate limit warning
servers.forEach(server => addToLoadedServers(server, false)); $(".sidebar .sidebar-loading").show();
}) $(".sidebar .server-rate-limit").hide();
.catch(error => {
switch (error.status) { try {
case 401: const servers = await generateServers();
window.location.href = "/login"; // discord token has expired servers.forEach(server => addToLoadedServers(server, false));
break; }
case 429: catch (error) {
$(".server-rate-limit").show(); switch (error?.status) {
break; case 401:
default: window.location.href = "/login"; // discord token has expired
logError(error); break;
break; case 429:
} $(".sidebar .server-rate-limit").show();
}) break;
.finally(() => { default:
$(".server-loading-item").hide(); logError(error);
}); break;
}
}
finally {
$(".sidebar .sidebar-loading").hide();
}
} }
// Retry load servers button
$(".sidebar .server-rate-limit button.btn").on("click", loadServers);

View File

@ -10,6 +10,15 @@
</div> </div>
<hr class="sidebar-divider"> <hr class="sidebar-divider">
<ul id="serverList" class="sidebar-content overflow-y-auto"> <ul id="serverList" class="sidebar-content overflow-y-auto">
<li class="server-rate-limit">
<p class="text-warning">
Failed to fetch results - you are being rate limited.
</p>
<button type="button" class="btn btn-warning btn-sm">
<i class="bi bi-arrow-clockwise me-2"></i>
<span>Retry</span>
</button>
</li>
{% for i in "0123456789"|make_list %} {% for i in "0123456789"|make_list %}
<li class="sidebar-loading"> <li class="sidebar-loading">