import { state } from '../state'; export function initSidebar(renderContent: () => void) { const navItems = document.querySelectorAll('.nav-list li'); const titleElement = document.getElementById('current-tab-title') as HTMLHeadingElement; const btnAddAsset = document.getElementById('btn-add-asset') as HTMLButtonElement; navItems.forEach(item => { item.addEventListener('click', () => { // 탭 UI 업데이트 navItems.forEach(nav => nav.classList.remove('active')); item.classList.add('active'); // 상태 업데이트 state.activeCategory = item.getAttribute('data-category') as 'hw' | 'sw'; state.activeSubTab = item.getAttribute('data-tab') || '대시보드'; // 타이틀 업데이트 (Deep Green 포인트 컬러 유지) const catName = state.activeCategory === 'hw' ? '하드웨어' : '소프트웨어'; if (titleElement) { titleElement.textContent = `${catName} / ${state.activeSubTab}`; } // 추가 버튼 노출 여부 (대시보드에서는 숨김) if (btnAddAsset) { if (state.activeSubTab === '대시보드') { btnAddAsset.classList.add('hidden'); } else { btnAddAsset.classList.remove('hidden'); } } // 화면 리렌더링 renderContent(); }); }); }