In /_lib/navbar.jst use variables id_XXX instead of document.getElementById()
authorNick Downing <nick@ndcode.org>
Wed, 26 Jan 2022 11:00:15 +0000 (22:00 +1100)
committerNick Downing <nick@ndcode.org>
Wed, 26 Jan 2022 11:06:18 +0000 (22:06 +1100)
_lib/navbar.jst

index e9b4526..8a9add1 100644 (file)
@@ -322,12 +322,30 @@ return async (env, head, body, scripts) => {
         document.addEventListener(
           'DOMContentLoaded',
           () => {
+            let id_navbar_feedback_message = document.getElementById('navbar-feedback-message')
+            let id_navbar_feedback_modal = document.getElementById('navbar-feedback-modal')
+            let id_navbar_feedback_submit = document.getElementById('navbar-feedback-submit')
+            let id_navbar_give_feedback = document.getElementById('navbar-give-feedback')
+            let id_navbar_message_modal = document.getElementById('navbar-message-modal')
+            let id_navbar_message_modal_message = document.getElementById('navbar-message-modal-message')
+            let id_navbar_search_button = document.getElementById('navbar-search-button')
+            let id_navbar_sign_in = document.getElementById('navbar-sign-in')
+            let id_navbar_sign_in_email = document.getElementById('navbar-sign-in-email')
+            let id_navbar_sign_in_modal = document.getElementById('navbar-sign-in-modal')
+            let id_navbar_sign_in_password = document.getElementById('navbar-sign-in-password')
+            let id_navbar_sign_in_submit = document.getElementById('navbar-sign-in-submit')
+            let id_navbar_sign_out = document.getElementById('navbar-sign-out')
+            let id_navbar_sign_up = document.getElementById('navbar-sign-up')
+            let id_navbar_signed_in_status = document.getElementById('navbar-signed-in-status')
+            //let id_navbarDropdown = document.getElementById('navbarDropdown')
+            //let id_navbarSupportedContent = document.getElementById('navbarSupportedContent')
+
             // sign in form
-            document.getElementById('navbar-sign-in').addEventListener(
+            id_navbar_sign_in.addEventListener(
               'click',
               () => {
-                document.getElementById('navbar-sign-in-email').value = ''
-                document.getElementById('navbar-sign-in-password').value = ''
+                id_navbar_sign_in_email.value = ''
+                id_navbar_sign_in_password.value = ''
                 $('#navbar-sign-in-modal').modal('show')
               }
             )
@@ -340,16 +358,16 @@ return async (env, head, body, scripts) => {
               }
             )
 
-            document.getElementById('navbar-sign-in-submit').addEventListener(
+            id_navbar_sign_in_submit.addEventListener(
               'click',
               async () => {
                 let email
                 try {
-                  email = document.getElementById('navbar-sign-in-email').value.slice(0, 256).toLowerCase()
+                  email = id_navbar_sign_in_email.value.slice(0, 256).toLowerCase()
                   await api_call(
                     '/api/account/sign_in.json',
                     email,
-                    document.getElementById('navbar-sign-in-password').value.slice(0, 256)
+                    id_navbar_sign_in_password.value.slice(0, 256)
                   )
                 }
                 catch (error) {
@@ -360,26 +378,26 @@ return async (env, head, body, scripts) => {
                     return
                   }
 
-                  document.getElementById('navbar-message-modal-message').textContent = problem.detail
+                  id_navbar_message_modal_message.textContent = problem.detail
                   $('#navbar-sign-in-modal').modal('hide')
                   $('#navbar-message-modal').modal('show')
                   return
                 }
 
-                document.getElementById('navbar-signed-in-status').textContent = 'Signed in.' //`Signed in as ${email}.`
+                id_navbar_signed_in_status.textContent = 'Signed in.' //`Signed in as ${email}.`
                 $('#navbar-sign-in').hide()
                 $('#navbar-sign-up').hide()
                 $('#navbar-sign-out').show()
                 sign_in_out(true)
 
-                document.getElementById('navbar-message-modal-message').textContent = `You are now signed in as "${email}".`
+                id_navbar_message_modal_message.textContent = `You are now signed in as "${email}".`
                 $('#navbar-sign-in-modal').modal('hide')
                 $('#navbar-message-modal').modal('show')
               }
             )
 
             // sign out button
-            document.getElementById('navbar-sign-out').addEventListener(
+            id_navbar_sign_out.addEventListener(
               'click',
               async () => {
                 try {
@@ -390,26 +408,26 @@ return async (env, head, body, scripts) => {
                 catch (error) {
                   let problem = Problem.from(error)
 
-                  document.getElementById('navbar-message-modal-message').textContent = problem.detail
+                  id_navbar_message_modal_message.textContent = problem.detail
                   $('#navbar-sign-in-modal').modal('hide')
                   $('#navbar-message-modal').modal('show')
                   return
                 }
 
-                document.getElementById('navbar-signed-in-status').textContent = 'Browsing as guest.'
+                id_navbar_signed_in_status.textContent = 'Browsing as guest.'
                 $('#navbar-sign-in').show()
                 $('#navbar-sign-up').show()
                 $('#navbar-sign-out').hide()
                 sign_in_out(false)
 
-                document.getElementById('navbar-message-modal-message').textContent = `You are now signed out.`
+                id_navbar_message_modal_message.textContent = `You are now signed out.`
                 $('#navbar-sign-in-modal').modal('hide')
                 $('#navbar-message-modal').modal('show')
               }
             )
 
             // feedback form
-            document.getElementById('navbar-give-feedback').addEventListener(
+            id_navbar_give_feedback.addEventListener(
               'click',
               () => {
                 $('#navbar-feedback-message').text('')
@@ -425,26 +443,26 @@ return async (env, head, body, scripts) => {
               }
             )
 
-            document.getElementById('navbar-feedback-submit').addEventListener(
+            id_navbar_feedback_submit.addEventListener(
               'click',
               async () => {
                 try {
                   await api_call(
                     '/api/feedback.json',
                     location.href,
-                    document.getElementById('navbar-feedback-message').value.slice(0, 65536)
+                    id_navbar_feedback_message.value.slice(0, 65536)
                   )
                 }
                 catch (error) {
                   let problem = Problem.from(error)
 
-                  document.getElementById('navbar-message-modal-message').textContent = problem.detail
+                  id_navbar_message_modal_message.textContent = problem.detail
                   $('#navbar-feedback-modal').modal('hide')
                   $('#navbar-message-modal').modal('show')
                   return
                 }
 
-                document.getElementById('navbar-message-modal-message').textContent = 'Thanks! We have received your feedback.'
+                id_navbar_message_modal_message.textContent = 'Thanks! We have received your feedback.'
                 $('#navbar-feedback-modal').modal('hide')
                 $('#navbar-message-modal').modal('show')
               }