#include "demo_guard.h" RENDER(Request& context) { DValue p; p.set(context.params); StringList routes = {"index", "dashboard", "themes", "dashboard", "workspace/projects"}; StringList unique_routes = routes.unique(); StringList sorted_routes = unique_routes.sort(); StringList labels = sorted_routes.map([](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 = cards.filter([](DValue item, String key) { return(item["section"].to_string() == "app"); }); DValue titles = app_cards.map([](DValue item, String key) { DValue out; out = item["title"].to_string(); return(out); }); <>
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(cards.values()) ?>
= var_dump(p) ?>