From f929f0cdaa280c3cd2623291ee5dd1e2dd89a59a Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Sat, 25 Oct 2025 12:34:27 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=83=80=EC=9D=B4=EB=B0=8D=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EC=A0=84=ED=99=98=20=EC=8B=A4=ED=8C=A8=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ” Root Cause Confirmed: - μ½˜μ†”μ—μ„œ 직접 μ‹€ν–‰ μ‹œ 정상 μž‘λ™ 확인 - DOM μ‘°μž‘ μ½”λ“œλŠ” μ •μƒμ΄μ§€λ§Œ 타이밍 문제 쑴재 - λ‹€λ₯Έ μŠ€ν¬λ¦½νŠΈλ‚˜ CSSκ°€ λ‚˜μ€‘μ— overrideν•˜λŠ” 상황 πŸ”§ Solution Applied: - ν™”λ©΄ μ „ν™˜μ— 100ms μ§€μ—° μΆ”κ°€ - setTimeout으둜 λ‹€λ₯Έ 슀크립트 μ™„λ£Œ ν›„ μ‹€ν–‰ - μ•± μ΄ˆκΈ°ν™”μ™€ 둜그인 폼 λͺ¨λ‘μ— 적용 ⏰ Timing Fix: - κΈ°μ‘΄: μ¦‰μ‹œ DOM μ‘°μž‘ β†’ λ‹€λ₯Έ μŠ€ν¬λ¦½νŠΈκ°€ override - κ°œμ„ : 100ms μ§€μ—° β†’ λͺ¨λ“  μ΄ˆκΈ°ν™” μ™„λ£Œ ν›„ ν™”λ©΄ μ „ν™˜ 🎯 Expected Result: βœ… 둜그인 ν™”λ©΄ μ™„μ „ μˆ¨κΉ€ (타이밍 문제 ν•΄κ²°) βœ… 메인 ν™”λ©΄ μ•ˆμ •μ  ν‘œμ‹œ βœ… λ‹€λ₯Έ μŠ€ν¬λ¦½νŠΈμ™€μ˜ 좩돌 λ°©μ§€ Debug Log: πŸ–₯️ μ§€μ—°λœ ν™”λ©΄ μ „ν™˜ μ‹œμž‘ βœ… 메인 ν™”λ©΄μœΌλ‘œ μ „ν™˜ μ™„λ£Œ (μ§€μ—° ν›„ κ°•μ œ 적용) --- frontend/index.html | 68 +++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index 22a3da0..38d57be 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -582,30 +582,30 @@ } }, 500); - // 메인 ν™”λ©΄ ν‘œμ‹œ - console.log('πŸ–₯️ ν™”λ©΄ μ „ν™˜ μ‹œμž‘'); - const loginScreen = document.getElementById('loginScreen'); - const mainScreen = document.getElementById('mainScreen'); - - console.log('loginScreen μš”μ†Œ:', !!loginScreen); - console.log('mainScreen μš”μ†Œ:', !!mainScreen); - - if (loginScreen && mainScreen) { - // CSS ν΄λž˜μŠ€μ™€ 인라인 μŠ€νƒ€μΌ λͺ¨λ‘ 적용 (κ°•μ œ) - loginScreen.classList.add('hidden'); - loginScreen.style.display = 'none'; + // 메인 ν™”λ©΄ ν‘œμ‹œ (타이밍 문제 해결을 μœ„ν•œ μ§€μ—°) + setTimeout(() => { + console.log('πŸ–₯️ μ§€μ—°λœ ν™”λ©΄ μ „ν™˜ μ‹œμž‘'); + const loginScreen = document.getElementById('loginScreen'); + const mainScreen = document.getElementById('mainScreen'); - mainScreen.classList.remove('hidden'); - mainScreen.style.display = 'block'; + console.log('loginScreen μš”μ†Œ:', !!loginScreen); + console.log('mainScreen μš”μ†Œ:', !!mainScreen); - console.log('βœ… 메인 ν™”λ©΄μœΌλ‘œ μ „ν™˜ μ™„λ£Œ (κ°•μ œ μŠ€νƒ€μΌ 적용)'); - console.log('loginScreen hidden:', loginScreen.classList.contains('hidden')); - console.log('loginScreen display:', loginScreen.style.display); - console.log('mainScreen hidden:', mainScreen.classList.contains('hidden')); - console.log('mainScreen display:', mainScreen.style.display); - } else { - console.error('❌ ν™”λ©΄ μš”μ†Œλ₯Ό 찾을 수 μ—†μŒ'); - } + if (loginScreen && mainScreen) { + // CSS ν΄λž˜μŠ€μ™€ 인라인 μŠ€νƒ€μΌ λͺ¨λ‘ 적용 (κ°•μ œ) + loginScreen.classList.add('hidden'); + loginScreen.style.display = 'none'; + + mainScreen.classList.remove('hidden'); + mainScreen.style.display = 'block'; + + console.log('βœ… 메인 ν™”λ©΄μœΌλ‘œ μ „ν™˜ μ™„λ£Œ (μ§€μ—° ν›„ κ°•μ œ 적용)'); + console.log('loginScreen display:', loginScreen.style.display); + console.log('mainScreen display:', mainScreen.style.display); + } else { + console.error('❌ ν™”λ©΄ μš”μ†Œλ₯Ό 찾을 수 μ—†μŒ'); + } + }, 100); // 100ms μ§€μ—° // 데이터 λ‘œλ“œ await loadProjects(); @@ -646,17 +646,19 @@ await window.commonHeader.init(currentUser, 'issues_create'); } - // 메인 ν™”λ©΄ ν‘œμ‹œ (κ°•μ œ μŠ€νƒ€μΌ 적용) - const loginScreen = document.getElementById('loginScreen'); - const mainScreen = document.getElementById('mainScreen'); - - loginScreen.classList.add('hidden'); - loginScreen.style.display = 'none'; - - mainScreen.classList.remove('hidden'); - mainScreen.style.display = 'block'; - - console.log('βœ… 둜그인 ν›„ 메인 ν™”λ©΄ μ „ν™˜ μ™„λ£Œ'); + // 메인 ν™”λ©΄ ν‘œμ‹œ (타이밍 문제 해결을 μœ„ν•œ μ§€μ—°) + setTimeout(() => { + const loginScreen = document.getElementById('loginScreen'); + const mainScreen = document.getElementById('mainScreen'); + + loginScreen.classList.add('hidden'); + loginScreen.style.display = 'none'; + + mainScreen.classList.remove('hidden'); + mainScreen.style.display = 'block'; + + console.log('βœ… 둜그인 ν›„ 메인 ν™”λ©΄ μ „ν™˜ μ™„λ£Œ (μ§€μ—° ν›„ κ°•μ œ 적용)'); + }, 100); // 데이터 λ‘œλ“œ await loadProjects();