Add /_lib/get_globals.jst
[ndcode_site.git] / _lib / navbar.jst
index 9f200e9..b7c32d0 100644 (file)
@@ -3,6 +3,7 @@ let XDate = require('xdate')
 
 return async (env, head, body, scripts) => {
   //let cart = await _require('/online_store/cart.jst')
+  let get_globals = await _require('/_lib/get_globals.jst')
   let get_session = await _require('/_lib/get_session.jst')
   //let icon_cart_small = await env.site.get_min_svg('/_svg/icon_cart_small.svg')
   let icon_search_mono = await env.site.get_min_svg('/_svg/icon_search_mono.svg')
@@ -14,10 +15,14 @@ return async (env, head, body, scripts) => {
   //await cart(env)
 
   let transaction = await env.site.Transaction()
-  let signed_in_as
+  let signed_in_as, site_title, copyright
   try {
     let session = await get_session(env, transaction)
     signed_in_as = session.get_json('signed_in_as', null)
+
+    let globals = await get_globals(env, transaction)
+    site_title = globals.get_json('site_title')
+    copyright = globals.get_json('copyright')
   }
   finally {
     transaction.rollback()
@@ -33,18 +38,11 @@ return async (env, head, body, scripts) => {
       let dir = index === -1 ? '' : env.parsed_url.pathname.slice(1, index)
 
       title {
-        let transaction = await env.site.database.Transaction()
-        try {
-          let globals = await (await transaction.get({})).get('globals')
-          ;`${await globals.get_json('site_title')}: ${
-            dir.length === 0 ?
-              'Home' :
-              menu.entries[menu.index[dir]].name
-            }`
-        }
-        finally {
-          transaction.rollback()
-        }
+        `${site_title}: ${
+          dir.length === 0 ?
+            'Home' :
+            menu.entries[menu.index[dir]].name
+          }`
       }
 
       await head(_out)
@@ -209,16 +207,7 @@ return async (env, head, body, scripts) => {
 
           p {'Example code fragments embedded within the text are placed in the public domain unless otherwise noted.'}
 
-          p {
-            let transaction = await env.site.database.Transaction()
-            try {
-              let globals = await (await transaction.get({})).get('globals')
-              ;`Copyright © ${new XDate().getUTCFullYear()} ${await globals.get('copyright')}.`
-            }
-            finally {
-              transaction.rollback()
-            }
-          }
+          p {`Copyright © ${new XDate(env.now).getUTCFullYear()} ${copyright}.`}
         }
       }