diff --git a/apps/home/static/home/css/sidebar.css b/apps/home/static/home/css/sidebar.css index 1909bfe..32f7025 100644 --- a/apps/home/static/home/css/sidebar.css +++ b/apps/home/static/home/css/sidebar.css @@ -234,3 +234,10 @@ .sidebar .sidebar-menu .dropdown-item { border-radius: var(--bs-border-radius-sm); } + + +/* Rate Limit Message */ + +.server-rate-limit { + display: none; +} diff --git a/apps/home/static/home/js/servers.js b/apps/home/static/home/js/servers.js index 041cb9a..65fc722 100644 --- a/apps/home/static/home/js/servers.js +++ b/apps/home/static/home/js/servers.js @@ -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); diff --git a/apps/home/templates/home/sidebar.html b/apps/home/templates/home/sidebar.html index 11b6219..e7c98f8 100644 --- a/apps/home/templates/home/sidebar.html +++ b/apps/home/templates/home/sidebar.html @@ -10,6 +10,15 @@