55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
#load "../../lib/app.uce"
|
|
|
|
COMPONENT(Request& context)
|
|
{
|
|
starter_boot(context);
|
|
bool embed_mode = starter_page_embed_mode(context);
|
|
String main_html = starter_page_main_html(context);
|
|
String current_path = context.var["starter"]["route"]["l_path"].to_string();
|
|
|
|
DTree global_props;
|
|
global_props["cookie_consent"].set_bool(false);
|
|
|
|
DTree account_props;
|
|
account_props["wrapper_class"] = "admin-account-card";
|
|
account_props["links_wrapper_class"] = "admin-account-links";
|
|
account_props["name_class"] = "admin-account-name";
|
|
|
|
<>
|
|
<!doctype html>
|
|
<html class="<?= starter_html_class(context) ?>" lang="en" data-theme-key="<?= context.cfg.get_by_path("theme/key").to_string() ?>">
|
|
<head>
|
|
<?: component("../../components/theme/head", context) ?>
|
|
</head>
|
|
<body class="admin-page localfirst-theme dark-theme<?= embed_mode ? " embed-mode" : "" ?>">
|
|
<?: component("../../components/theme/global_controls", global_props, context) ?>
|
|
<div class="admin-shell">
|
|
<nav class="admin-nav">
|
|
<div class="admin-nav-header">
|
|
<a class="admin-nav-title" href="<?= starter_link("", context) ?>">
|
|
<img class="admin-nav-logo-img" src="<?= starter_asset_url("themes/localfirst/img/local_first_logo.png", context) ?>" alt="<?= context.cfg.get_by_path("site/name").to_string() ?>" />
|
|
</a>
|
|
</div>
|
|
<? context.cfg.get_by_path("menu").each([&](DTree menu_item, String menu_key) {
|
|
if(menu_item["hidden"].to_string() == "1")
|
|
return;
|
|
bool active = menu_key != "" && (current_path == menu_key || current_path.rfind(menu_key + "/", 0) == 0);
|
|
?><a class="admin-nav-item<?= active ? " active" : "" ?>" href="<?= starter_menu_href(menu_key, menu_item, context) ?>"><?= menu_item["title"].to_string() ?></a><?
|
|
}); ?>
|
|
</nav>
|
|
<div class="admin-main">
|
|
<? if(!embed_mode) { ?>
|
|
<div class="admin-toolbar">
|
|
<?: component("../../components/theme/account_links", account_props, context) ?>
|
|
</div>
|
|
<? } ?>
|
|
<div id="content" class="admin-content">
|
|
<?: main_html ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
</>
|
|
}
|