diff --git a/online_class_platform_v4/class_detail.html b/online_class_platform_v4/class_detail.html
index 9af997a..351c517 100644
--- a/online_class_platform_v4/class_detail.html
+++ b/online_class_platform_v4/class_detail.html
@@ -5,7 +5,11 @@
LessonBay - 수업 상세
-
+
+
+
+
+
diff --git a/online_class_platform_v4/classes.html b/online_class_platform_v4/classes.html
index 6948961..5dc8946 100644
--- a/online_class_platform_v4/classes.html
+++ b/online_class_platform_v4/classes.html
@@ -5,7 +5,11 @@
LessonBay - 수업 목록
-
+
+
+
+
+
diff --git a/online_class_platform_v4/create_class.html b/online_class_platform_v4/create_class.html
index bfc5475..7e00061 100644
--- a/online_class_platform_v4/create_class.html
+++ b/online_class_platform_v4/create_class.html
@@ -5,7 +5,11 @@
LessonBay - 수업 생성
-
+
+
+
+
+
diff --git a/online_class_platform_v4/index.html b/online_class_platform_v4/index.html
index e5ff760..2935bab 100644
--- a/online_class_platform_v4/index.html
+++ b/online_class_platform_v4/index.html
@@ -5,7 +5,11 @@
LessonBay - 홈
-
+
+
+
+
+
diff --git a/online_class_platform_v4/live_class.html b/online_class_platform_v4/live_class.html
index bb606fb..f2e0369 100644
--- a/online_class_platform_v4/live_class.html
+++ b/online_class_platform_v4/live_class.html
@@ -5,9 +5,13 @@
LessonBay - 라이브
-
+
+
+
+
+
-
+
diff --git a/online_class_platform_v4/login.html b/online_class_platform_v4/login.html
index 5746c6e..82688c9 100644
--- a/online_class_platform_v4/login.html
+++ b/online_class_platform_v4/login.html
@@ -5,8 +5,12 @@
LessonBay - 로그인
+
+
+
+
-
+
diff --git a/online_class_platform_v4/logout.html b/online_class_platform_v4/logout.html
index 78473bd..e1ac2f9 100644
--- a/online_class_platform_v4/logout.html
+++ b/online_class_platform_v4/logout.html
@@ -5,7 +5,11 @@
LessonBay - 로그아웃
-
+
+
+
+
+
diff --git a/online_class_platform_v4/script.js b/online_class_platform_v4/script.js
index 8d5c22a..ef7bdc6 100644
--- a/online_class_platform_v4/script.js
+++ b/online_class_platform_v4/script.js
@@ -711,6 +711,14 @@ function sleep(ms = 0) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
+function scheduleIdleTask(fn, timeout = 800) {
+ if (typeof fn !== "function") return null;
+ if (typeof requestIdleCallback === "function") {
+ return requestIdleCallback(() => fn(), { timeout });
+ }
+ return setTimeout(fn, Math.min(timeout, 300));
+}
+
function isHttpLike(u) {
return /^https?:\/\//i.test(u || "");
}
@@ -1468,8 +1476,6 @@ async function loadLocalSampleClasses() {
async function ensureSeedData() {
const sessionPromise = syncLocalUserFromSupabaseSession().catch(() => {});
- await Promise.race([sessionPromise, sleep(1200)]);
-
const detailOnly = !!document.getElementById("detailRoot") && !document.getElementById("classGrid") && !document.getElementById("homePopular");
const cached = loadCachedClasses();
@@ -1507,7 +1513,7 @@ async function ensureSeedData() {
// 원격 수업 목록
if (!detailOnly) {
- (async () => {
+ scheduleIdleTask(() => (async () => {
try {
const classes = await apiGet("/api/classes", { silent: true });
const normalized = (classes || []).map(c => ({
@@ -1521,7 +1527,7 @@ async function ensureSeedData() {
} catch (e) {
console.error("classes fetch failed", e);
}
- })();
+ })());
}
let enrollFetchPromise = null;
@@ -1556,11 +1562,13 @@ async function ensureSeedData() {
try {
const u = getUser();
if (u) {
- try {
- await loadEnrollmentsFor(u);
- } catch (e) {
- console.error("enrollments fetch failed (late)", e);
- }
+ scheduleIdleTask(async () => {
+ try {
+ await loadEnrollmentsFor(u);
+ } catch (e) {
+ console.error("enrollments fetch failed (late)", e);
+ }
+ });
}
rerenderVisible();
updateNav();
@@ -4924,4 +4932,3 @@ function init() {
document.addEventListener("DOMContentLoaded", init);
-
diff --git a/online_class_platform_v4/settings.html b/online_class_platform_v4/settings.html
index 596ab49..8290d81 100644
--- a/online_class_platform_v4/settings.html
+++ b/online_class_platform_v4/settings.html
@@ -5,7 +5,11 @@
LessonBay - 설정
-
+
+
+
+
+
diff --git a/online_class_platform_v4/signup.html b/online_class_platform_v4/signup.html
index 293dcfd..fd9cadb 100644
--- a/online_class_platform_v4/signup.html
+++ b/online_class_platform_v4/signup.html
@@ -5,8 +5,12 @@
LessonBay - 회원가입
+
+
+
+
-
+
diff --git a/online_class_platform_v4/student_dashboard.html b/online_class_platform_v4/student_dashboard.html
index 77d3015..5937194 100644
--- a/online_class_platform_v4/student_dashboard.html
+++ b/online_class_platform_v4/student_dashboard.html
@@ -5,7 +5,11 @@
LessonBay - 학생 대시보드
-
+
+
+
+
+
diff --git a/online_class_platform_v4/teacher_dashboard.html b/online_class_platform_v4/teacher_dashboard.html
index ee67f73..3e04c46 100644
--- a/online_class_platform_v4/teacher_dashboard.html
+++ b/online_class_platform_v4/teacher_dashboard.html
@@ -5,7 +5,11 @@
LessonBay - 선생님 대시보드
-
+
+
+
+
+