fix:검색창 닫을 때 전체 메뉴 표시 보장

- 새로고침 후에도 검색창 닫으면 전체 메뉴 표시
- originalMenuState가 없어도 모든 메뉴 복원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
pro
2026-01-28 19:45:31 +09:00
parent 65bddb6fed
commit 8f4c8b182e

View File

@@ -1082,15 +1082,27 @@ classList: [...el.classList]
});
}
// 원래 메뉴 상태 복원
// 원래 메뉴 상태 복원 (또는 전체 메뉴 표시)
function restoreOriginalMenuState() {
if (!originalMenuState) return;
const sidebarNav = document.querySelector('.sidebar-nav');
// 모든 요소 표시 상태 복원
originalMenuState.items.forEach(item => {
item.element.style.display = item.display || '';
item.element.classList.remove('menu-search-hidden', 'menu-search-match');
});
if (originalMenuState) {
// 저장된 상태가 있으면 복원
originalMenuState.items.forEach(item => {
item.element.style.display = item.display || '';
item.element.classList.remove('menu-search-hidden', 'menu-search-match');
});
originalMenuState = null;
} else if (sidebarNav) {
// 저장된 상태가 없으면 모든 메뉴 표시 (새로고침 후 닫기 시)
sidebarNav.querySelectorAll('li').forEach(li => {
li.style.display = '';
li.classList.remove('menu-search-hidden', 'menu-search-match');
});
sidebarNav.querySelectorAll('[id^="menu-group-"], #lab-group').forEach(group => {
group.style.display = '';
});
}
// 검색 하이라이트 제거
document.querySelectorAll('.menu-search-highlight').forEach(el => {
@@ -1098,8 +1110,6 @@ function restoreOriginalMenuState() {
parent.replaceChild(document.createTextNode(el.textContent), el);
parent.normalize();
});
originalMenuState = null;
}
// 메뉴 필터링 (실시간 검색)