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 - 선생님 대시보드 - + + + + +