6.3.5: Фикс пустого таба и ошибки после авторизации
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m6s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m6s
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "play-life-web",
|
||||
"version": "6.3.4",
|
||||
"version": "6.3.5",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -160,11 +160,33 @@ function AppContent() {
|
||||
// Обновляем ref только после того, как authLoading стал false
|
||||
if (!authLoading) {
|
||||
const wasNotAuthenticated = prevIsAuthenticatedRef.current === false
|
||||
|
||||
// Обновляем ref только если инициализация завершена,
|
||||
// чтобы не потерять переход false→true при ожидании isInitialized
|
||||
if (isInitialized) {
|
||||
prevIsAuthenticatedRef.current = isAuthenticated
|
||||
}
|
||||
|
||||
// Проверяем, что это новая авторизация (переход с false на true)
|
||||
// и что инициализация уже завершена (чтобы не конфликтовать с восстановлением из URL/localStorage)
|
||||
if (wasNotAuthenticated && isAuthenticated && isInitialized) {
|
||||
// Сбрасываем ошибки, кеш данных и состояние инициализации табов при повторной авторизации
|
||||
setCurrentWeekError(null)
|
||||
setFullStatisticsError(null)
|
||||
setPrioritiesError(null)
|
||||
setTasksError(null)
|
||||
setTodayEntriesError(null)
|
||||
setCurrentWeekData(null)
|
||||
setFullStatisticsData(null)
|
||||
setTasksData(null)
|
||||
setTodayEntriesData(null)
|
||||
// Сбрасываем инициализацию табов, чтобы данные загрузились заново
|
||||
Object.keys(tabsInitializedRef.current).forEach(key => {
|
||||
tabsInitializedRef.current[key] = false
|
||||
})
|
||||
cacheRef.current = { current: null, full: null, tasks: null, todayEntries: null }
|
||||
lastLoadedTabRef.current = null
|
||||
|
||||
// Переключаемся на экран прогресса только если нет таба в URL
|
||||
const urlParams = new URLSearchParams(window.location.search)
|
||||
const tabFromUrl = urlParams.get('tab')
|
||||
@@ -276,6 +298,9 @@ function AppContent() {
|
||||
if (savedTab && validTabs.includes(savedTab) && mainTabs.includes(savedTab)) {
|
||||
setActiveTab(savedTab)
|
||||
setLoadedTabs(prev => ({ ...prev, [savedTab]: true }))
|
||||
} else {
|
||||
// Если нет сохранённого таба — активируем current по умолчанию
|
||||
setLoadedTabs(prev => ({ ...prev, current: true }))
|
||||
}
|
||||
// Очищаем URL от параметров таба, если это основной таб
|
||||
if (tabFromUrl && mainTabs.includes(tabFromUrl)) {
|
||||
|
||||
Reference in New Issue
Block a user