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:
@@ -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",
|
||||||
|
|||||||
@@ -968,6 +968,7 @@ function AppContent() {
|
|||||||
onRetry={fetchFullStatisticsData}
|
onRetry={fetchFullStatisticsData}
|
||||||
currentWeekData={currentWeekData}
|
currentWeekData={currentWeekData}
|
||||||
onNavigate={handleNavigate}
|
onNavigate={handleNavigate}
|
||||||
|
activeTab={activeTab}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -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="Закрыть"
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user