// ✅ /js/load-sidebar.js (access_level 기반 메뉴 필터링)
document.addEventListener('DOMContentLoaded', async () => {
  try {
    // 1) 사이드바 HTML 로딩
    const res = await fetch('/components/sidebar.html');
    const html = await res.text();
    document.getElementById('sidebar-container').innerHTML = html;

    // 2) 토큰 존재 확인
    const token = localStorage.getItem('token');
    if (!token) return;

    // 3) JWT 파싱해서 access_level 추출
    let access;
    try {
      const payload = JSON.parse(atob(token.split('.')[1]));
      access = payload.access_level;
    } catch (err) {
      console.warn('JWT 파싱 실패:', err);
      return;
    }

    // 4) 시스템 계정은 전부 유지
    if (access === 'system') return;

    // 5) 클래스 이름 목록
    const classMap = [
      'worker-only',
      'group-leader-only',
      'support-only',
      'admin-only',
      'system-only'
    ];

    // 6) 본인 권한에 해당하지 않는 요소 제거
    classMap.forEach(cls => {
      const required = cls.replace('-only', '').replace('-', '_'); // 'group-leader-only' → 'group_leader'
      if (access !== required) {
        document.querySelectorAll(`.${cls}`).forEach(el => el.remove());
      }
    });

  } catch (err) {
    console.error('🔴 사이드바 로딩 실패:', err);
  }
});