// /js/group-leader-dashboard.js
// 그룹장 전용 대시보드 기능

console.log('📊 그룹장 대시보드 스크립트 로딩');

// 팀 현황 새로고침
async function refreshTeamStatus() {
  console.log('🔄 팀 현황 새로고침 시작');
  
  try {
    // 로딩 상태 표시
    const teamList = document.getElementById('team-list');
    if (teamList) {
      teamList.innerHTML = '<div style="text-align: center; padding: 20px;">⏳ 로딩 중...</div>';
    }
    
    // 실제로는 API 호출
    // const response = await fetch('/api/team-status', { headers: getAuthHeaders() });
    // const data = await response.json();
    
    // 임시 데이터로 업데이트 (실제 API 연동 시 교체)
    setTimeout(() => {
      updateTeamStatusUI();
    }, 1000);
    
  } catch (error) {
    console.error('❌ 팀 현황 로딩 실패:', error);
    const teamList = document.getElementById('team-list');
    if (teamList) {
      teamList.innerHTML = '<div style="text-align: center; padding: 20px; color: #f44336;">❌ 로딩 실패</div>';
    }
  }
}

// 팀 현황 UI 업데이트 (임시 데이터)
function updateTeamStatusUI() {
  const teamData = [
    { name: '김작업', status: 'present', statusText: '출근' },
    { name: '이현장', status: 'present', statusText: '출근' },
    { name: '박휴가', status: 'absent', statusText: '휴가' },
    { name: '최작업', status: 'present', statusText: '출근' },
    { name: '정현장', status: 'present', statusText: '출근' }
  ];
  
  const teamList = document.getElementById('team-list');
  if (teamList) {
    teamList.innerHTML = teamData.map(member => `
      <div class="team-member ${member.status}">
        <span class="member-name">${member.name}</span>
        <span class="member-status">${member.statusText}</span>
      </div>
    `).join('');
  }
  
  // 통계 업데이트
  const presentCount = teamData.filter(m => m.status === 'present').length;
  const absentCount = teamData.filter(m => m.status === 'absent').length;
  
  const totalEl = document.getElementById('team-total');
  const presentEl = document.getElementById('team-present');
  const absentEl = document.getElementById('team-absent');
  
  if (totalEl) totalEl.textContent = teamData.length;
  if (presentEl) presentEl.textContent = presentCount;
  if (absentEl) absentEl.textContent = absentCount;
  
  console.log('✅ 팀 현황 업데이트 완료');
}

// 환영 메시지 개인화
function personalizeWelcome() {
  const user = JSON.parse(localStorage.getItem('user') || '{}');
  const welcomeMsg = document.getElementById('welcome-message');
  
  if (user && user.name && welcomeMsg) {
    welcomeMsg.textContent = `${user.name}님의 실시간 팀 현황 및 작업 모니터링`;
    console.log('✅ 환영 메시지 개인화 완료');
  }
}

// 페이지 초기화
document.addEventListener('DOMContentLoaded', function() {
  console.log('🚀 그룹장 대시보드 초기화 시작');
  
  // 사용자 정보 확인
  const user = JSON.parse(localStorage.getItem('user') || '{}');
  console.log('👤 현재 사용자:', user);
  
  // 권한 확인
  if (user.access_level !== 'group_leader') {
    console.warn('⚠️ 그룹장 권한 없음:', user.access_level);
    // 필요시 다른 페이지로 리다이렉트
  }
  
  // 초기화 작업
  personalizeWelcome();
  updateTeamStatusUI();
  
  console.log('✅ 그룹장 대시보드 초기화 완료');
});

// 전역 함수로 내보내기 (HTML에서 사용)
window.refreshTeamStatus = refreshTeamStatus;