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