From 2c598792c46c4e43d238e1d77458ae7368382f94 Mon Sep 17 00:00:00 2001 From: Dmitry Shurupov Date: Fri, 17 Jan 2025 15:35:56 +0700 Subject: [PATCH] Fix banner-dismiss.js null object Signed-off-by: Dmitry Shurupov --- assets/js/banner-dismiss.js | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/assets/js/banner-dismiss.js b/assets/js/banner-dismiss.js index 3d80069beb..fc2aa810ba 100644 --- a/assets/js/banner-dismiss.js +++ b/assets/js/banner-dismiss.js @@ -21,21 +21,25 @@ $(document).ready(function() { /* Check the presence of a cookie */ let announcement = document.querySelector("#announcement"); - let token = `announcement_ack_${announcement.getAttribute('data-announcement-name').replace(/\s/g, '_')}`; // Generate the unique token for announcement - let acknowledged = getCookie(token); - if (acknowledged === "true") { - announcement.remove(); // Remove the announcement if the cookie is set - } - else { - announcement.classList.add('display-announcement') // Display the announcement if the cookie is not set - } + if (announcement) { + let token = `announcement_ack_${announcement.getAttribute('data-announcement-name').replace(/\s/g, '_')}`; // Generate the unique token for announcement + let acknowledged = getCookie(token); + if (acknowledged === "true") { + announcement.remove(); // Remove the announcement if the cookie is set + } + else { + announcement.classList.add('display-announcement') // Display the announcement if the cookie is not set + } + } /* Driver code to set the cookie */ let button = document.querySelector('#banner-dismiss'); - button.removeAttribute('style'); - button.addEventListener('click', function() { - setCookie(token, "true", - button.getAttribute('data-ttl')); // Set a cookie with time to live parameter - announcement.remove(); - }); + if (button) { + button.removeAttribute('style'); + button.addEventListener('click', function() { + setCookie(token, "true", + button.getAttribute('data-ttl')); // Set a cookie with time to live parameter + announcement.remove(); + }); + } });