From: Chris Fulljames Date: Tue, 18 Feb 2025 23:27:15 +0000 (-0500) Subject: Dynamically update navbar X-Git-Url: https://littlesong.place/gitweb/?a=commitdiff_plain;h=39851c6fa1ddba0df4279966ce8f7cf69490411e;p=littlesongplace.git Dynamically update navbar --- diff --git a/main.py b/main.py index 37baa57..abd6748 100644 --- a/main.py +++ b/main.py @@ -936,7 +936,12 @@ def auto_redirect(url): @app.context_processor def inject_global_vars(): use_json = request.args.get("request-type", None) == "ajax" - return dict(gif_data=get_gif_data(), current_user_playlists=get_current_user_playlists(), use_json=use_json, dumps=json.dumps) + return dict( + gif_data=get_gif_data(), + current_user_playlists=get_current_user_playlists(), + use_json=use_json, + dumps=json.dumps, + ) ################################################################################ diff --git a/templates/base.html b/templates/base.html index 26390c1..0aa52b8 100644 --- a/templates/base.html +++ b/templates/base.html @@ -40,8 +40,18 @@ // Trigger event to signal new page has loaded var event = new Event("DOMContentLoaded"); document.dispatchEvent(event); - }); + // Refresh navbar in case logged-in status changed + updateNavbar(data.username); + }); + } + function updateNavbar(username) { + var loggedIn = username ? true : false; + document.querySelectorAll(".nav-logged-in").forEach((e) => {e.hidden = !loggedIn;}); + document.querySelectorAll(".nav-logged-out").forEach((e) => {e.hidden = loggedIn;}); + if (loggedIn) { + document.getElementById("logged-in-status").innerText = `Signed in as ${username}`; + } } @@ -107,24 +117,23 @@ {% if "username" in session %}