4.24.4: Исправлено обновление недели в отслеживании
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m3s

This commit is contained in:
poignatov
2026-02-06 16:02:49 +03:00
parent 867e8803bd
commit 73ce74bc7c
3 changed files with 14 additions and 7 deletions

View File

@@ -32,8 +32,11 @@ function getLastFiveWeeks() {
function Tracking({ onNavigate, activeTab }) {
const { authFetch } = useAuth()
const weeks = useMemo(() => getLastFiveWeeks(), [])
const [selectedWeek, setSelectedWeek] = useState(weeks[weeks.length - 1]) // Текущая неделя
const [weeks, setWeeks] = useState(() => getLastFiveWeeks())
const [selectedWeek, setSelectedWeek] = useState(() => {
const initialWeeks = getLastFiveWeeks()
return initialWeeks[initialWeeks.length - 1] // Текущая неделя
})
const [data, setData] = useState(null)
const [loading, setLoading] = useState(true)
const [error, setError] = useState(null)
@@ -41,15 +44,19 @@ function Tracking({ onNavigate, activeTab }) {
const currentWeekChipRef = useRef(null)
const prevActiveTabRef = useRef(null)
// Сброс выбранной недели на текущую при открытии экрана
// Обновление списка недель и сброс выбранной недели на текущую при открытии экрана
useEffect(() => {
// Проверяем, что экран только что открылся (activeTab стал 'tracking')
if (activeTab === 'tracking' && prevActiveTabRef.current !== 'tracking') {
const currentWeek = weeks[weeks.length - 1] // Последняя неделя в списке - текущая
// Пересчитываем недели для получения актуального списка
const updatedWeeks = getLastFiveWeeks()
setWeeks(updatedWeeks)
// Устанавливаем текущую неделю (последняя в списке)
const currentWeek = updatedWeeks[updatedWeeks.length - 1]
setSelectedWeek(currentWeek)
}
prevActiveTabRef.current = activeTab
}, [activeTab, weeks])
}, [activeTab])
// Скролл к чипсу текущей недели при открытии экрана
useEffect(() => {