#include "demo_guard.h" RENDER(Request& context) { DValue p; p.set(context.params); StringList routes = {"index", "dashboard", "themes", "dashboard", "workspace/projects"}; StringList unique_routes = list_unique(routes); StringList sorted_routes = list_sort(unique_routes); StringList labels = map(sorted_routes, [](String route) { return(to_upper(replace(route, "/", " / "))); }); DValue cards; DValue card; card["title"] = "Dashboard"; card["section"] = "app"; card["href"] = "?dashboard"; cards.push(card); card.clear(); card["title"] = "Themes"; card["section"] = "app"; card["href"] = "?themes"; cards.push(card); card.clear(); card["title"] = "Docs"; card["section"] = "reference"; card["href"] = "../doc/index.uce"; cards.push(card); DValue app_cards = dv_filter(cards, [](DValue item, String key) { return(item["section"].to_string() == "app"); }); DValue titles = dv_map(app_cards, [](DValue item, String key) { DValue out; out = item["title"].to_string(); return(out); }); DValue grouped = dv_group_by(cards, [](DValue item, String key) { return(item["section"].to_string()); }); <>
Small data-shaping helpers are useful for route lists, nav records, cards, and other render-adjacent structures.
= join(labels, "\n") ?>
= json_encode(titles) ?>
= json_encode(grouped) ?>
= var_dump(p) ?>