// Articles page — short-form practitioner reads + downloadables banner. function ArticlesApp() { const [tweaks, setTweak] = useTweaks(/*EDITMODE-BEGIN*/{ "themeColor": "navy" }/*EDITMODE-END*/); useLucideIcons([tweaks]); useTweakBodyClasses(tweaks); return ( <> {t("art.eyebrow")} {t("art.title")} {t("art.sub")} {t("books.articlesEyebrow")} {t("books.articlesTitle")} {t("books.articlesSub")} {SITE.ARTICLES.map((a, i) => { const live = a.href && a.href !== "#"; const Tag = live ? "a" : "div"; const props = live ? { href: a.href } : {}; return ( {tx(a, "type")} {tx(a, "title")} {tx(a, "desc")} {a.minutes} {t("books.minRead")}{live ? : null} ); })} {t("books.dlTitle")} {t("books.dlBody")} {t("resources.card3Cta")} setTweak("themeColor", v)} options={[ { value: "navy", label: "Navy" }, { value: "graphite", label: "Graphite" }, { value: "emerald", label: "Emerald" }, { value: "gold", label: "Gold" }, ]} /> > ); } window.ArticlesApp = ArticlesApp;
{t("art.sub")}
{t("books.articlesSub")}
{tx(a, "desc")}
{t("books.dlBody")}