National Renewable Energy Platform

Posts Archive

Newsletter

December, 2024 Newsletter

Monthly updates from the National Renewable Energy Platform (NREP) and partners across the clean cooking ecosystem Communication from the Chairperson,

Oh hi there 👋
It’s nice to meet you.

Sign up to receive our monthly newsletters and updates in your inbox.

We don’t spam! Read our privacy policy for more info.

document.addEventListener("DOMContentLoaded", function () { // SAFETY: run only on /ra-projects var pagePath = window.location.pathname.replace(/\/$/, ""); if (pagePath !== "/ra-projects") { return; } var pills = Array.prototype.slice.call(document.querySelectorAll(".ra-pill, .proj-pill")); var panels = Array.prototype.slice.call(document.querySelectorAll(".ra-panel, .proj-panel")); function findPanelById(id) { if (!id) return null; var el = document.getElementById(id); if (el) return el; for (var i = 0; i < panels.length; i++){ if (panels[i].getAttribute("id") === id) return panels[i]; } return null; } // INSTALL the real projSelect (overwrites stub) window.projSelect = function (slug, btn) { for (var i = 0; i < pills.length; i++) { pills[i].classList.remove("active"); } for (var j = 0; j < panels.length; j++) { panels[j].classList.remove("active"); panels[j].style.display = "none"; } if (btn) { btn.classList.add("active"); } else { for (var k = 0; k < pills.length; k++) { var dt = pills[k].getAttribute("data-target") || (pills[k].dataset && pills[k].dataset.target); if (dt === slug) { pills[k].classList.add("active"); break; } } } var p = findPanelById(slug); if (p) { p.classList.add("active"); p.style.display = "block"; try { var reduced = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (!reduced) p.scrollIntoView({ behavior: 'smooth', block: 'start' }); } catch (e){} } try { history.replaceState(null, null, "#" + slug); } catch (e) { location.hash = slug; } }; // attach click handlers (non-inline fallback) for (var m = 0; m < pills.length; m++) { (function(pill){ pill.addEventListener('click', function () { var target = pill.getAttribute("data-target") || (pill.dataset && pill.dataset.target); if (!target) return; window.projSelect(target, pill); }); })(pills[m]); } // Process queued calls that happened before real function loaded try { var q = window._projQueue || []; if (q && q.length) { for (var qi = 0; qi < q.length; qi++) { var args = q[qi]; try { window.projSelect(args[0], args[1]); } catch (e) {} } window._projQueue = []; } } catch (e) {} // init: from hash or first var hash = window.location.hash ? window.location.hash.replace('#','') : ''; var initial = hash || (pills[0] && (pills[0].getAttribute("data-target") || (pills[0].dataset && pills[0].dataset.target))); if (initial) { var btn = null; for (var n = 0; n < pills.length; n++) { var dt2 = pills[n].getAttribute("data-target") || (pills[n].dataset && pills[n].dataset.target); if (dt2 === initial) { btn = pills[n]; break; } } if (btn) btn.click(); else window.projSelect(initial, null); } else { if (panels.length) { panels[0].style.display = "block"; panels[0].classList.add("active"); if (pills.length) pills[0].classList.add("active"); } } });