4.13.2: Сброс выбора дня при выходе с экрана прогресса
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m23s

This commit is contained in:
poignatov
2026-02-04 13:31:54 +03:00
parent e0ffefc904
commit a169da9387
4 changed files with 18 additions and 7 deletions

View File

@@ -1 +1 @@
4.13.1
4.13.2

View File

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

View File

@@ -968,6 +968,7 @@ function AppContent() {
onRetry={fetchFullStatisticsData}
currentWeekData={currentWeekData}
onNavigate={handleNavigate}
activeTab={activeTab}
/>
</div>
)}

View File

@@ -37,9 +37,9 @@ const formatDate = (date) => {
// Названия дней недели
const dayNames = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс']
function FullStatistics({ selectedProject, onClearSelection, data, loading, error, onRetry, currentWeekData, onNavigate, todayEntries, todayEntriesLoading, todayEntriesError, onRetryTodayEntries, fetchTodayEntries }) {
function FullStatistics({ selectedProject, onClearSelection, data, loading, error, onRetry, currentWeekData, onNavigate, todayEntries, todayEntriesLoading, todayEntriesError, onRetryTodayEntries, fetchTodayEntries, activeTab }) {
const [selectedDate, setSelectedDate] = useState(null)
const prevVisibleRef = React.useRef(false)
const prevActiveTabRef = React.useRef(activeTab)
// Получаем даты текущей недели
const weekDates = getCurrentWeekDates()
@@ -61,8 +61,14 @@ function FullStatistics({ selectedProject, onClearSelection, data, loading, erro
return dateOnly <= today
})
// Отслеживаем, когда компонент становится видимым
const prevActiveTabRef = React.useRef(null)
// Отслеживаем выход с экрана и сбрасываем выбор дня
useEffect(() => {
// Если мы были на экране full и перешли на другой экран - сбрасываем выбор дня
if (prevActiveTabRef.current === 'full' && activeTab !== 'full') {
setSelectedDate(todayDateStr)
}
prevActiveTabRef.current = activeTab
}, [activeTab, todayDateStr])
// Инициализируем выбранную дату текущим днем при первом рендере
// Также проверяем, что выбранная дата все еще в списке доступных дней
@@ -112,7 +118,11 @@ function FullStatistics({ selectedProject, onClearSelection, data, loading, erro
<div className="max-w-2xl mx-auto">
{onNavigate && (
<button
onClick={() => onNavigate('current')}
onClick={() => {
// Сбрасываем выбор дня перед выходом с экрана
setSelectedDate(todayDateStr)
onNavigate('current')
}}
className="close-x-button"
title="Закрыть"
>