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", "name": "play-life-web",
"version": "4.13.1", "version": "4.13.2",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

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

View File

@@ -37,9 +37,9 @@ const formatDate = (date) => {
// Названия дней недели // Названия дней недели
const dayNames = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'] 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 [selectedDate, setSelectedDate] = useState(null)
const prevVisibleRef = React.useRef(false) const prevActiveTabRef = React.useRef(activeTab)
// Получаем даты текущей недели // Получаем даты текущей недели
const weekDates = getCurrentWeekDates() const weekDates = getCurrentWeekDates()
@@ -61,8 +61,14 @@ function FullStatistics({ selectedProject, onClearSelection, data, loading, erro
return dateOnly <= today 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"> <div className="max-w-2xl mx-auto">
{onNavigate && ( {onNavigate && (
<button <button
onClick={() => onNavigate('current')} onClick={() => {
// Сбрасываем выбор дня перед выходом с экрана
setSelectedDate(todayDateStr)
onNavigate('current')
}}
className="close-x-button" className="close-x-button"
title="Закрыть" title="Закрыть"
> >