Files
gitea/templates/base/footer.tmpl
T
naomi 9c4e64af09
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 52s
chore: sync current state
2026-02-03 11:09:05 -08:00

49 lines
2.0 KiB
Cheetah

<footer class="page-footer" role="group" aria-label="{{ctx.Locale.Tr "aria.footer"}}">
<p>&copy; <a href="https://nhcarrigan.com" target="_blank">Naomi Carrigan</a></p>
<button id="show-socials-button" type="button">
<i class="fa-solid fa-share-nodes"></i> Connect with Us
</button>
<a href="https://buy.stripe.com/cN24iTfqu1j6b3afZ2" target="_blank" rel="noreferrer">
<img src="https://cdn.nhcarrigan.com/donate.png" alt="Donate" style="width: 70px; height: 70px;">
</a>
<div id="tree-nation-offset-website"></div>
<div id="social-list">
<div class="social-list-item">
<a href="https://chat.nhcarrigan.com" target="_blank" rel="noreferrer">
<i class="fa-brands fa-discord"></i><span>Join our Discord~!</span>
</a>
</div>
</div>
</footer>
<script>
// Use a self-invoking function or check for DOM presence to avoid scope issues
(function() {
const showSocialsButton = document.querySelector("#show-socials-button");
const socialList = document.querySelector("#social-list");
if (showSocialsButton && socialList) {
showSocialsButton.addEventListener("click", () => {
const isVisible = socialList.style.display === "block";
socialList.style.display = isVisible ? "none" : "block";
showSocialsButton.setAttribute("aria-expanded", !isVisible);
});
}
})();
</script>
<script src="https://widgets.tree-nation.com/js/widgets/v1/widgets.min.js?v=1.0"></script>
<script>
// TreeNation Logic
const interval = setInterval(() => {
const tree = document.querySelector("#tree-nation-offset-website");
if (tree && typeof TreeNationOffsetWebsite !== 'undefined') {
TreeNationOffsetWebsite({
code: "a17464e0cd351220",
lang: "en",
theme: "dark",
}).render("#tree-nation-offset-website");
clearInterval(interval);
}
}, 1000);
</script>