feat: show/hide categories on world page, #13255

This commit is contained in:
Julian Lam
2025-04-09 11:50:24 -04:00
parent d58d5861d9
commit 804208b7b5
2 changed files with 38 additions and 1 deletions

View File

@@ -11,6 +11,7 @@ define('forum/world', ['topicList', 'search', 'sort', 'hooks', 'alerts', 'api',
handleIgnoreWatch(-1);
handleHelp();
handleCategories();
search.enableQuickSearch({
searchElements: {
@@ -81,5 +82,38 @@ define('forum/world', ['topicList', 'search', 'sort', 'hooks', 'alerts', 'api',
});
}
function handleCategories() {
// const optionsEl = document.getElementById('category-options');
// const dropdownEl = optionsEl.querySelector('ul');
const showEl = document.getElementById('show-categories');
const hideEl = document.getElementById('hide-categories');
const categoriesEl = document.querySelector('.categories-list');
if (![showEl, hideEl, categoriesEl].every(Boolean)) {
return;
}
const update = () => {
showEl.classList.toggle('hidden', visibility);
hideEl.classList.toggle('hidden', !visibility);
categoriesEl.classList.toggle('hidden', !visibility);
localStorage.setItem('world:show-categories', visibility);
}
let visibility = localStorage.getItem('world:show-categories');
console.log('got value', visibility);
visibility = visibility ? visibility === 'true' : true; // localStorage values are strings
update();
showEl.addEventListener('click', () => {
visibility = true;
update();
});
hideEl.addEventListener('click', () => {
visibility = false;
update();
});
}
return World;
});