fix: 타이밍 문제로 인한 화면 전환 실패 해결
🔍 Root Cause Confirmed: - 콘솔에서 직접 실행 시 정상 작동 확인 - DOM 조작 코드는 정상이지만 타이밍 문제 존재 - 다른 스크립트나 CSS가 나중에 override하는 상황 🔧 Solution Applied: - 화면 전환에 100ms 지연 추가 - setTimeout으로 다른 스크립트 완료 후 실행 - 앱 초기화와 로그인 폼 모두에 적용 ⏰ Timing Fix: - 기존: 즉시 DOM 조작 → 다른 스크립트가 override - 개선: 100ms 지연 → 모든 초기화 완료 후 화면 전환 🎯 Expected Result: ✅ 로그인 화면 완전 숨김 (타이밍 문제 해결) ✅ 메인 화면 안정적 표시 ✅ 다른 스크립트와의 충돌 방지 Debug Log: 🖥️ 지연된 화면 전환 시작 ✅ 메인 화면으로 전환 완료 (지연 후 강제 적용)
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user