let fa_trash = await env.site.get_min_svg('/_svg/fa_trash.svg')
let get_placeholder = await _require('/_lib/get_placeholder.jst')
let get_account = await _require('/_lib/get_account.jst')
+ let get_navigation = await _require('/_lib/get_navigation.jst')
let get_session = await _require('/_lib/get_session.jst')
let icon_cross = await env.site.get_min_svg('/_svg/icon_cross.svg')
let icon_tick = await env.site.get_min_svg('/_svg/icon_tick.svg')
- let menu = await env.site.get_menu('/my_account/_menu.json')
let navbar = await _require('/_lib/navbar.jst')
// preload draft details if any
// signed out
p {'For account maintenance, please click on one of the options below.'}
- ul.nav.flex-column {
- let entries = menu.entries
- for (let i = 0; i < entries.length; ++i) {
- let entry = entries[i]
- if (Object.prototype.hasOwnProperty.call(entry, 'icon'))
+ let transaction = await env.site.database.Transaction()
+ try {
+ let root = await transaction.get()
+ let p = await get_navigation(root, env.component_names)
+ let children = await p.get('children')
+ let menu = await p.get_json('menu')
+
+ ul.nav.flex-column {
+ for (let i = 0; i < menu.length; ++i) {
+ let name = menu[i]
+ let q = await children.get(name)
+
li.nav-item {
- a.nav-link(href=`${entry.dir}/index.html`) {
+ a.nav-link(href=`${name}/index.html`) {
table.icon-and-text {
tr {
td {
- _out.push(await env.site.get_min_svg(entry.icon))
+ _out.push(
+ await env.site.get_min_svg(await q.get_json('icon'))
+ )
}
td {
- span.h2{`${entry.name}`}
+ span.h2{
+ `${await q.get_json('title')}`
+ }
}
}
}
}
}
+ }
}
}
+ finally {
+ transaction.rollback()
+ }
}
},
// scripts