National Renewable Energy Platform

Posts Archive

Activities

Renewable Energy Competition, 2025

3rd Call for Renewable Energy Competition, 2025 Join us in championing clean cooking and renewable energy adoption across Uganda Organized

Newsletter

March, 2025 Newsletter

NREP Highlights Interactive Meeting Between the NREP Board of Trustees and Secretariat. On March 27, 2025, the National Renewable Energy

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"); } } });