Retrigger data initialization

Retrigger data initialization process.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-16 06:33:40 +00:00
parent a14d1df2f0
commit bfac404786
3 changed files with 68 additions and 18 deletions

View File

@@ -38,6 +38,10 @@ const Index = () => {
const initializeAllData = () => {
console.log('모든 데이터 초기화 시작');
// 현재 dontShowWelcome 값 백업
const dontShowWelcomeValue = localStorage.getItem('dontShowWelcome');
console.log('Index - 초기화 전 dontShowWelcome 값:', dontShowWelcomeValue);
// 여러번 초기화 실행
for (let i = 0; i < 3; i++) {
// 모든 데이터 완전히 삭제 및 초기화
@@ -53,6 +57,16 @@ const Index = () => {
resetBudgetData();
}
// 초기화 후 dontShowWelcome 값 확인
const afterResetValue = localStorage.getItem('dontShowWelcome');
console.log('Index - 초기화 후 dontShowWelcome 값:', afterResetValue);
// 값이 유지되지 않았다면 복원
if (dontShowWelcomeValue && afterResetValue !== dontShowWelcomeValue) {
console.log('Index - dontShowWelcome 값 복원:', dontShowWelcomeValue);
localStorage.setItem('dontShowWelcome', dontShowWelcomeValue);
}
console.log('모든 데이터 초기화 완료');
return true;
};
@@ -97,40 +111,57 @@ const Index = () => {
// 환영 다이얼로그 표시 여부 결정 (데이터 초기화 후)
const checkWelcomeDialogState = () => {
// 현재 세션에서 이미 환영 메시지를 닫았는지 확인
const sessionClosed = sessionStorage.getItem('welcomeClosedThisSession') === 'true';
if (sessionClosed) {
console.log('Index - 이번 세션에서 이미 환영 메시지를 닫았습니다');
setShowWelcome(false);
return;
}
const dontShowWelcome = localStorage.getItem('dontShowWelcome');
console.log('Index 페이지 로딩 시 dontShowWelcome 값:', dontShowWelcome);
console.log('Index - 페이지 로딩 시 dontShowWelcome 값:', dontShowWelcome);
// 명시적으로 'true' 문자열인 경우에만 숨김 처리
if (dontShowWelcome === 'true') {
console.log('환영 메시지 표시하지 않음 (저장된 설정)');
console.log('Index - 환영 메시지 표시하지 않음 (저장된 설정)');
setShowWelcome(false);
} else {
console.log('환영 메시지 표시함');
console.log('Index - 환영 메시지 표시함');
setShowWelcome(true);
}
};
checkWelcomeDialogState();
// 0.5초 후 환영 메시지 표시 상태 확인 (데이터 초기화가 완료된 후)
const timeoutId = setTimeout(checkWelcomeDialogState, 500);
// 방문 기록 저장 (초기화 후에 저장)
localStorage.setItem('hasVisitedBefore', 'true');
return () => clearTimeout(timeoutId);
}, [isInitialized, resetBudgetData]);
// 환영 팝업 닫기
const handleCloseWelcome = (dontShowAgain: boolean) => {
setShowWelcome(false);
// 이번 세션에서 닫았음을 기록
sessionStorage.setItem('welcomeClosedThisSession', 'true');
// 사용자가 더 이상 보지 않기를 선택한 경우
if (dontShowAgain) {
localStorage.setItem('dontShowWelcome', 'true');
console.log('환영 팝업 더 이상 표시하지 않기 설정됨:', dontShowAgain);
sessionStorage.setItem('dontShowWelcome', 'true');
console.log('Index - 환영 팝업 더 이상 표시하지 않기 설정됨:', dontShowAgain);
// 설정 확인
const savedValue = localStorage.getItem('dontShowWelcome');
console.log('설정 후 dontShowWelcome 저장값:', savedValue);
console.log('Index - 설정 후 dontShowWelcome 저장값:', savedValue);
} else {
// 체크하지 않은 경우 명시적으로 false 저장
localStorage.setItem('dontShowWelcome', 'false');
sessionStorage.setItem('dontShowWelcome', 'false');
}
};