// ✅ /js/admin.js (수정됨 - 중복 로딩 제거) async function initDashboard() { // 로그인 토큰 확인 const token = localStorage.getItem('token'); if (!token) { location.href = '/index.html'; return; } // ✅ navbar, sidebar는 각각의 모듈에서 처리하도록 변경 // load-navbar.js, load-sidebar.js가 자동으로 처리함 // ✅ 콘텐츠만 직접 로딩 (admin-sections.html이 자동 로딩됨) console.log('관리자 대시보드 초기화 완료'); } // ✅ 보조 함수 - 필요시 수동 컴포넌트 로딩용 async function loadComponent(id, url) { try { const res = await fetch(url); if (!res.ok) throw new Error(`HTTP ${res.status}`); const html = await res.text(); const element = document.getElementById(id); if (element) { element.innerHTML = html; } else { console.warn(`요소를 찾을 수 없습니다: ${id}`); } } catch (err) { console.error(`컴포넌트 로딩 실패 (${url}):`, err); } } document.addEventListener('DOMContentLoaded', initDashboard);