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 {
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() {
$(".server-loading-item").show();
generateServers()
.then(servers => {
$("#serverList .sidebar-loading").remove();
servers.forEach(server => addToLoadedServers(server, false));
})
.catch(error => {
switch (error.status) {
case 401:
window.location.href = "/login"; // discord token has expired
break;
case 429:
$(".server-rate-limit").show();
break;
default:
logError(error);
break;
}
})
.finally(() => {
$(".server-loading-item").hide();
});
// Remove any previously loaded servers
$(".sidebar .sidebar-item").closest("li").remove();
// Show placeholder items & hide rate limit warning
$(".sidebar .sidebar-loading").show();
$(".sidebar .server-rate-limit").hide();
try {
const servers = await generateServers();
servers.forEach(server => addToLoadedServers(server, false));
}
catch (error) {
switch (error?.status) {
case 401:
window.location.href = "/login"; // discord token has expired
break;
case 429:
$(".sidebar .server-rate-limit").show();
break;
default:
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>
<hr class="sidebar-divider">
<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 %}
<li class="sidebar-loading">