4.13.2: Сброс выбора дня при выходе с экрана прогресса
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m23s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m23s
This commit is contained in:
@@ -968,6 +968,7 @@ function AppContent() {
|
||||
onRetry={fetchFullStatisticsData}
|
||||
currentWeekData={currentWeekData}
|
||||
onNavigate={handleNavigate}
|
||||
activeTab={activeTab}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -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="Закрыть"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user