fix_loop_loading

This commit is contained in:
NYD
2026-01-08 18:59:56 +09:00
parent fce5dcc283
commit 65d56ecc85

View File

@@ -45,8 +45,17 @@ function AnalysisYearProviderInner({ children }: { children: React.ReactNode })
const yearFromUrl = searchParams.get('year') const yearFromUrl = searchParams.get('year')
if (yearFromUrl && !isNaN(Number(yearFromUrl))) { if (yearFromUrl && !isNaN(Number(yearFromUrl))) {
console.log('[AnalysisYear] Initial year from URL:', yearFromUrl) console.log('[AnalysisYear] Initial year from URL:', yearFromUrl)
setSelectedYearState(Number(yearFromUrl)) const year = Number(yearFromUrl)
// availableYears에 포함된 년도만 사용
const validYear = availableYears.includes(year) ? year : currentYear
setSelectedYearState(validYear)
setIsInitialized(true) setIsInitialized(true)
// URL에 유효하지 않은 연도가 있으면 제거
if (!availableYears.includes(year) && pathname !== '/') {
const params = new URLSearchParams(searchParams.toString())
params.delete('year')
router.replace(params.toString() ? `${pathname}?${params.toString()}` : pathname)
}
return return
} }
@@ -57,10 +66,12 @@ function AnalysisYearProviderInner({ children }: { children: React.ReactNode })
// availableYears에 포함된 년도만 사용 (없으면 현재 연도 사용) // availableYears에 포함된 년도만 사용 (없으면 현재 연도 사용)
const validYear = availableYears.includes(year) ? year : currentYear const validYear = availableYears.includes(year) ? year : currentYear
setSelectedYearState(validYear) setSelectedYearState(validYear)
// URL에 year 파라미터 추가 (유효한 년도만) // URL에 year 파라미터 추가 (유효한 년도만, 루트 페이지 제외)
const params = new URLSearchParams(searchParams.toString()) if (pathname !== '/') {
params.set('year', validYear.toString()) const params = new URLSearchParams(searchParams.toString())
router.replace(`${pathname}?${params.toString()}`) params.set('year', validYear.toString())
router.replace(`${pathname}?${params.toString()}`)
}
} }
setIsInitialized(true) setIsInitialized(true)
@@ -69,7 +80,7 @@ function AnalysisYearProviderInner({ children }: { children: React.ReactNode })
// URL 파라미터와 동기화 (초기화 이후에만 실행) // URL 파라미터와 동기화 (초기화 이후에만 실행)
useEffect(() => { useEffect(() => {
if (!isInitialized) return if (!isInitialized || pathname === '/') return // 루트 페이지에서는 실행 안 함
const yearParam = searchParams.get('year') const yearParam = searchParams.get('year')
if (yearParam && !isNaN(Number(yearParam))) { if (yearParam && !isNaN(Number(yearParam))) {