Files
XenforoMasterTemplate/templates/public/romhackplaza_js.html

83 lines
3.0 KiB
HTML
Raw Normal View History

2026-05-24 11:49:38 +02:00
<script src="https://unpkg.com/lucide@latest"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
lucide.createIcons();
});
2026-06-16 16:21:43 +02:00
window.refreshIcons = (container = document) => {
const pending = container.querySelectorAll('[data-lucide]');
if (pending.length === 0) return;
lucide.createIcons();
};
2026-06-23 19:24:37 +02:00
(function () {
var APP_URL = "{{ $xf.options.homePageUrl }}";
var form = document.getElementById('rhpzSearchForm');
var select = document.getElementById('rhpzSearchScope');
var input = document.getElementById('rhpzSearchInput');
var scopes = {
forum: { action: "{{ link('search/2147483647/') }}", param: 'q', extra: { o: 'relevance' } },
entries: { action: APP_URL + '/database', param: 's' },
news: { action: APP_URL + '/news', param: 's' }
};
form.addEventListener('submit', function (e) {
e.preventDefault();
var term = input.value.trim();
if (!term) return;
var cfg = scopes[select.value];
var params = new URLSearchParams(Object.assign({}, { [cfg.param]: term }, cfg.extra || {}));
window.location = cfg.action + '?' + params.toString();
});
})();
(function () {
const menuToggle = document.querySelector('.\\$mobile-toggle');
const menu = document.getElementById('menu');
const app = document.getElementById('app');
const content = document.getElementById('content');
if (!menuToggle || !menu) return;
menuToggle.addEventListener('click', (e) => {
e.stopPropagation();
menu.classList.toggle('mobile-open');
app.classList.toggle('menu-open');
});
const menuItems = menu.querySelectorAll('.\\$menu-item');
menuItems.forEach(item => {
item.addEventListener('click', () => {
menu.classList.remove('mobile-open');
app.classList.remove('menu-open');
});
});
document.addEventListener('click', (e) => {
const isClickInsideMenu = menu.contains(e.target);
const isClickOnToggle = menuToggle.contains(e.target);
if (!isClickInsideMenu && !isClickOnToggle && menu.classList.contains('mobile-open')) {
menu.classList.remove('mobile-open');
app.classList.remove('menu-open');
}
});
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && menu.classList.contains('mobile-open')) {
menu.classList.remove('mobile-open');
app.classList.remove('menu-open');
}
});
window.addEventListener('resize', () => {
if (window.innerWidth > 768) {
menu.classList.remove('mobile-open');
app.classList.remove('menu-open');
}
});
})()
</script>