diff --git a/web-ui/js/auth-check.js b/web-ui/js/auth-check.js
index d43e51a..0f243be 100644
--- a/web-ui/js/auth-check.js
+++ b/web-ui/js/auth-check.js
@@ -1,5 +1,20 @@
// /js/auth-check.js
-import { isLoggedIn, getUser, clearAuthData } from './auth.js';
+// auth.js의 함수들을 직접 구현 (모듈 의존성 제거)
+
+function isLoggedIn() {
+ const token = localStorage.getItem('token');
+ return token && token !== 'undefined' && token !== 'null';
+}
+
+function getUser() {
+ const user = localStorage.getItem('user');
+ return user ? JSON.parse(user) : null;
+}
+
+function clearAuthData() {
+ localStorage.removeItem('token');
+ localStorage.removeItem('user');
+}
// 즉시 실행 함수로 스코프를 보호하고 로직을 실행
(function() {
diff --git a/web-ui/js/modern-dashboard.js b/web-ui/js/modern-dashboard.js
index c421f54..5ffba6c 100644
--- a/web-ui/js/modern-dashboard.js
+++ b/web-ui/js/modern-dashboard.js
@@ -44,6 +44,21 @@ const elements = {
// ========== 초기화 ========== //
document.addEventListener('DOMContentLoaded', async () => {
+ // API 함수가 로드될 때까지 기다림
+ let retryCount = 0;
+ const maxRetries = 50; // 5초 대기
+
+ while (!window.apiCall && retryCount < maxRetries) {
+ await new Promise(resolve => setTimeout(resolve, 100));
+ retryCount++;
+ }
+
+ if (!window.apiCall) {
+ console.error('❌ API 함수를 로드할 수 없습니다.');
+ showToast('시스템을 초기화할 수 없습니다. 페이지를 새로고침해주세요.', 'error');
+ return;
+ }
+
try {
await initializeDashboard();
} catch (error) {
diff --git a/web-ui/pages/dashboard/group-leader.html b/web-ui/pages/dashboard/group-leader.html
index 2be714c..1dfe655 100644
--- a/web-ui/pages/dashboard/group-leader.html
+++ b/web-ui/pages/dashboard/group-leader.html
@@ -10,9 +10,10 @@
-
+
+
-
+