#load "../../lib/app.uce"

COMPONENT(Request& context)
{
	String nav_class = context.props["nav_class"].to_string();
	if(nav_class == "" && (context.cfg.get_by_path("theme/key").to_string() == "portal-dark" || context.cfg.get_by_path("theme/key").to_string() == "dark" || context.cfg.get_by_path("theme/key").to_string() == "retro-gaming"))
		nav_class = "nav-shell";

	DValue account_props;
	if(context.props["account_wrapper_class"].to_string() != "")
		account_props["wrapper_class"] = context.props["account_wrapper_class"];
	if(context.props["links_wrapper_class"].to_string() != "")
		account_props["links_wrapper_class"] = context.props["links_wrapper_class"];
	if(context.props["name_class"].to_string() != "")
		account_props["name_class"] = context.props["name_class"];

	<>
		<nav<?: nav_class != "" ? " class=\"" + html_escape(nav_class) + "\"" : "" ?>>
			<div class="nav-menu">
				<a href="<?= app_link("", context) ?>"><?= context.cfg.get_by_path("site/name").to_string() ?></a>
				<? context.cfg.get_by_path("menu").each([&](DValue menu_item, String menu_key) {
					if(menu_item["hidden"].to_string() == "1")
						return;
					String href = menu_item["external"].to_string() != "" ? "/" + menu_key : app_link(menu_key, context);
					?><a href="<?= href ?>"><?= menu_item["title"].to_string() ?></a><?
				}); ?>
			</div>
			<?: component("account_links", account_props, context) ?>
		</nav>
	</>
}
