34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
// ✅ /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); |