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

@@ -1 +1 @@
4.24.3 4.24.4

View File

@@ -1,6 +1,6 @@
{ {
"name": "play-life-web", "name": "play-life-web",
"version": "4.24.3", "version": "4.24.4",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

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