document.addEventListener("DOMContentLoaded", function() {
var toctreeItems = document.querySelectorAll('li.toctree-l1');
toctreeItems.forEach(function(item) {
var link = item.querySelector('a');
var nestedList = item.querySelector('ul');
if (link && nestedList) {
var expandSign = document.createElement('span');
expandSign.style.cursor = 'pointer';
var sectionKey = 'section_' + link.textContent.trim().replace(/\s+/g, '_');
var isExpanded = localStorage.getItem(sectionKey);
if (isExpanded === null) {
isExpanded = (link.textContent.trim() === 'Learn the Basics') ? 'true' : 'false';
localStorage.setItem(sectionKey, isExpanded);
}
if (isExpanded === 'true') {
nestedList.style.display = 'block';
expandSign.textContent = '[-] ';
} else {
nestedList.style.display = 'none';
expandSign.textContent = '[+] ';
}
expandSign.addEventListener('click', function() {
if (nestedList.style.display === 'none') {
nestedList.style.display = 'block';
expandSign.textContent = '[-] ';
localStorage.setItem(sectionKey, 'true');
} else {
nestedList.style.display = 'none';
expandSign.textContent = '[+] ';
localStorage.setItem(sectionKey, 'false');
}
});
link.parentNode.insertBefore(expandSign, link);
}
});
});